Documente Academic
Documente Profesional
Documente Cultură
1
Analiza numeric¼a are ca obiect studiul algoritmilor prin care se aproximeaz¼ a soluţia exact¼
a a unei probleme, oferind
şi marje de eroare pentru rezultat.
Estimarea preciziei rezultatelor obţinute reprezint¼a un aspect foarte important al Analizei Numerice. Se disting mai
multe tipuri de erori, care pot limita aceast¼ a precizie: erori în datele de intrare, erori de rotunjire, erori de aproximare.
Erorile în datele de intrare sunt în afara controlului calculelor şi nu constituie obiectul Analizei Numerice. Ele se
pot datora inexactit¼aţii inerente a m¼
asur¼
atorilor …zice, introducerii eronate a datelor în calculator etc.
Erorile de rotunjire apar atunci când se opereaz¼a cu numere a c¼aror reprezentare conţine un num¼
ar …nit de cifre,
aşa cum se întâmpl¼a, de exemplu, la reprezentarea numerelor în calculator.
Erorile de aproximare sunt datorate metodei numerice utilizate în aproximarea soluţiei problemei. În general, este
necesar un num¼ ar mare de operaţii pentru a ajunge la soluţia exact¼
a, chiar in…nit uneori, iar calculele sunt oprite
în funcţie de un anumit criteriu, dup¼a un num¼ar …nit de paşi, atunci când se ajunge la o precizie acceptabil¼a.
1 Aritmetica în virgul¼
a mobil¼
a
1.1 Numere în virgul¼
a mobil¼
a
Calculatorul poate lucra cu dou¼ a categorii de numere: întregi şi fracţionare. Reprezentarea intern¼ a a acestor numere este
în virgul¼a …x¼a şi în virgul¼a mobil¼a (‡otant¼a). Pentru cazul reprezent¼ arii în virgul¼
a …x¼a nu se pune problema aproxim¼ arii,
deoarece rezultatul adun¼ arii, sc¼
aderii sau înmulţirii numerelor întregi este tot un num¼ ar întreg, care se reprezint¼
a în
calculator dac¼ a valoarea sa nu dep¼ aşeşte posibilit¼
aţile de reprezentare a numerelor întregi în calculatorul respectiv. Astfel,
dac¼a not¼am cu a baza de reprezentare, iar cu t precizia maşinii (num¼ arul de cifre în baza a care se pot reprezenta pe un
cuvânt sau multiplu de cuvânt de memorie), numerele întregi reprezentabile formeaz¼ a mulţimea:
I := fx 2 Z j at 1
x at 1
1g:
Pentru a = 2 şi t = 16 cifre binare, I = f 215 ; :::; 215 1g: Dac¼ a t = 32; domeniul de reprezentare este I =
f 231 ; :::; 231 1g:
Problema erorilor de rotunjire se pune atunci când calculatorul opereaz¼a cu numere fracţionare, reprezentate în virgul¼
a
mobil¼a. Mulţimea F a numerelor cu virgul¼ a ‡otant¼a este caracterizat¼
a de patru parametri: baza b, precizia maşinii t şi
intervalul exponenţilor [L; U ]: Fiecare num¼
ar x cu virgul¼
a ‡otant¼
a, care aparţine lui F , are reprezentarea:
c1 c2 ct
x= + 2 + ::: + t be ;
b b b
unde numerele naturale c1 ; :::; ct , numite cifre, satisfac 0 ci b 1; i = 1; 2; :::; t, iar num¼ arul întreg e, numit exponent,
satisface L e U: Num¼ arul
c1 c2 ct
f= + 2 + ::: + t
b b b
se numeşte partea fracţionar¼a sau mantis¼a. Dac¼ a pentru x 2 F; x 6= 0; este adev¼ arat¼
a relaţia c1 6= 0, sistemul de
reprezentare în virgul¼a mobil¼a se numeşte normalizat. Se remarc¼ a faptul c¼
a mulţimea F nu este un continuu, ea …ind
chiar …nit¼a, având în cazul reprezent¼ arii normalizate 2(b 1)bt 1 (U L + 1) + 1 elemente, care nu sunt reprezentate
uniform.
Exemplu. Dac¼ a F este normalizat¼ a, pentru b = 2; t = 3; L = 1; U = 2; F are 33 de elemente:
0; :100 2e ; :101 2e ; :110 2e ; :111 2e ; cu e 2 f 1; 0; 1; 2g:
Mai remarc¼
am faptul c¼
a numerele nenule reprezentabile satisfac relaţia:
m jxj M;
1
1
unde m = bL 1
ar pozitiv reprezentabil, iar M = bU
se numeşte cel mai mic num¼ 1 - cel mai mare num¼
ar pozitiv
bt
1 7
reprezentabil. În exemplul nostru m = ;M = :
4 2
De asemenea, se observ¼ a faptul c¼
a numerele mulţimii F sunt mai "dese" în apropierea originii (puterile lui b scad) şi
mai "rare" spre extremitatea lui F (puterile lui b cresc).
Exemplu. Pentru b = 2 şi 32 de poziţii binare pentru un num¼ ar real, reprezentarea se realizeaz¼a în simpl¼a precizie,
iar pentru 64 de poziţii binare pentru un num¼ ar real, reprezentarea se realizeaz¼a în dubl¼a precizie.
Dup¼a standardul IEEE (the "Institute of Electrical and Electronics Engineers" Inc. USA), pentru b = 2 rezult¼ a
t = 24; L = 126 şi U = 127 pentru reprezentarea în simpl¼ a precizie şi t = 53; L = 1022 şi U = 1023 pentru
reprezentarea în dubl¼a precizie. Rezult¼a, de asemenea, pentru reprezentarea în simpl¼ a precizie, m u 10 38 şi M u 1038 ,
iar pentru reprezentarea în dubl¼ a precizie, m u 10 308 şi M u 10308 :
Orice num¼
ar x ce satisface relaţia m jxj M se poate scrie sub forma:
x = f be + g b e t :
2
În expresia anterioar¼a, jxj s-a aproximat prin j (x)j deoarece, în general, valoarea x nu se cunoaşte în sensul c¼
a nu se
reprezint¼
a exact în calculator. Se demonstreaz¼ a faptul c¼
a eroarea relativ¼
a are valoarea cea mai mare atunci când f are în
1
modul valoarea cea mai mic¼ a, iar g valoarea cea mai mare în modul, adic¼ a jf j = ; jgj = 1. Avem:
b
jx (x)j jf be + g be t (x)j 1 be t
"x u = k 1 = k b1 t ;
j (x)j j (x)j b be
Observaţii:
1. Consecinţa principal¼ a a acestui mod de de…nire este aceea c¼ a, spre deosebire de aritmetica real¼ a, adunarea nu este
asociativ¼a.
2. Sc¼
aderea se realizeaz¼ a la fel ca adunarea, cu deosebirea c¼ a mantisele se scad. De fapt, sc¼
aderea reprezint¼ a o adunare
în care sc¼az¼
atorul are semn schimbat.
Exemplu. Se consider¼ a o aritmetic¼ a a virgulei mobile cu b = 10; t = 3; reprezentare normalizat¼ a şi rotunjire prin t¼aiere.
Fie calculul: 0:001 + 1 1: Asociind primii doi termeni, se ajunge la rezultatul ( (10 3 + 1) 1) = 0; care este eronat.
În cazul asocierii ultimilor doi termeni se obţine (10 3 + (1 1)) = 10 3 ; care este rezultatul corect.
Exemplu. Se consider¼ a aritmetic¼ a a virgulei mobile cu b = 10; t = 3; reprezentare normalizat¼ a şi rotunjire prin t¼aiere.
Fie calculul: 1:001 1: Se obţine: (1:001 1) = 0, rezultat eronat.
Exemplele 1.3 şi 1.3 pun în evidenţ¼ a dou¼ a fenomene nedorite şi generatoare de erori, care pot ap¼ area la efectuarea
unei adun¼ ari în virgul¼
a mobil¼ a:
1. omiterea catastrofal¼a : apare atunci când se adun¼ a doi termeni şi valoarea absolut¼a a unui termen este mai mic¼ a
decât precizia de reprezentare a celuilalt termen; în acest caz, rezultatul este dat de termenul cu valoare absolut¼ a mai
mare (situaţie ilustrat¼
a în Exemplul 1.3).
2. neutralizarea termenilor : apare când se adun¼ a numere de semne diferite şi cu valori absolute apropiate; în acest
caz, în mod eronat, rezultatul este nul (situaţie ilustrat¼ a în Exemplul 1.3).
Precizia calculelor numerice este caracterizat¼ a de dou¼ a m¼arimi constante a c¼ aror valoare este dependent¼ a de tipul
maşinii de calcul folosite. Cele dou¼ a valori menţionate sunt:
- epsilonul maşin¼a pentru adunare (notat "+ m ) - reprezint¼a cel mai mic num¼ ar real reprezentabil care schimb¼ a, prin
adunare, unitatea maşinii de calcul: (1 + "+ m ) > 1; el are valoarea b 1 t
;
- epsilonul maşin¼a pentru sc¼adere (notat "m ) - reprezint¼ a cel mai mic num¼ ar real reprezentabil care schimb¼ a, prin
adere, unitatea maşinii de calcul: (1 "m ) < 1; el are valoarea b t :
sc¼
Exemplu. Valorile celor dou¼ a constante de maşin¼ a, în standardul IEEE, sunt urm¼ atoarele:
- pentru reprezentarea în simpl¼ a precizie:
8
"m = 5:96 10 ; "+
m = 1:19 10
7
;
2. Înmulţirea
Oricare ar … dou¼ a numere x şi y, pentru care exist¼a (x) şi (y), num¼
arului x y i se asociaz¼
a num¼
arul (x y); obţinut
în felul urm¼ ator:
(i) se reprezint¼ a intern numerele x şi y prin (x) şi, respectiv, (y);
(ii) se înmulţesc fracţiile şi se adun¼
a exponenţii;
(iii) din fracţia rezultat¼a se opresc t cifre;
3
(iv) dac¼ a este necesar, se normalizeaz¼ a rezultatul.
Observaţii:
1. Înmulţirea nu este asociativ¼ a.
2. Împ¼ arţirea se realizeaz¼
a în aceeaşi manier¼a ca şi înmulţirea, cu deosebirea c¼
a la pasul (ii) mantisele se împart, iar
exponenţii se scad.
Exemplu.
Se consider¼ a o aritmetic¼a a virgulei mobile cu b = 10; t = 3; reprezentare normalizat¼ a şi rotunjire prin t¼
aiere. Fie
x = 22:547 şi y = 0:43936:Urm¼ arind etapele descrise anterior, avem:
(i) (x) = 0:225 102 ; (y) = 0:439 100 ;
(ii) 0:225 0:439 = 0:098775; 102 100 = 102 ;
(iii) 0:098775 102 ! 0:098 102 ;
(iv) (x y) = 0:098 102 = 9:8:
Se numeşte calcul aproximativ un calcul efectuat într-o aritmetic¼ a a virgulei mobile. Vom accepta ca postulat
urm¼atoarea a…rmaţie: eroarea relativ¼a într-un calcul cu numere aproximative este egal¼a cu suma dintre eroarea relativ¼a
produs¼a de calculul exact respectiv cu numere aproximative ( T1 ) şi eroarea relativ¼a produs¼a de calculul aproximativ cu
numerele exacte corespunz¼atoare ( T2 ).
Fie una din operaţiile descrise anterior. Postulatul de mai sus, descris de relaţia:
"x y = T1 + T2 ;
ex =
6 0; ey 6= 0; (x y) = (x) (y);
T1 = k1 "x + k2 "y :
ex = 0; ey = 0; (x y) 6= (x) (y)
şi atunci:
T2 k b1 t ;
ca pentru orice num¼
ar real care nu se reprezint¼
a exact.
Exemplu. Se consider¼ a urm¼ atorul polinom:
pentru x 2 [0:998; 1:012]; cu pasul de evaluare 0.0001. Figura de mai jos ilustreaz¼
a cu linie punctat¼
a rezultatul calculelor
în dubl¼
a precizie (standardul IEEE) utilizând formula de mai sus, iar cu linie continu¼ a sunt reprezentate cele corecte.
4
Acestea din urm¼
a sunt obţinute evaluând polinomul y(x) = (x 1)7 :
Analizând …gura de mai sus, se remarc¼ a faptul c¼ a valorile calculate sunt de ordinul 10 14 , ceea ce evidenţieaz¼ a erori
relativ mici între rezultatele celor dou¼ a maniere de calcul. Aceste diferenţe se explic¼ a prin fenomenele de neutralizarea
termenilor şi omitere catastrofal¼ a.
Cele expuse pân¼ a acum demonstreaz¼ a faptul c¼ a într-un calcul numeric erorile se propag¼ a de la o operaţie la alta. Pe
m¼asur¼ a ce num¼ arul operaţiilor dintr-un calcul creşte, pot ap¼ area situaţii în care erorile se acumuleaz¼ a excesiv de mult,
fapt care determin¼ a obţinerea unei valori total incorecte a rezultatului …nal. Ca urmare, la întocmirea unui algoritm de
calcul şi apoi la implementarea acestuia, utilizatorul trebuie s¼ a se asigure c¼ a soluţiile nu vor … afectate de erori care s¼ a
dep¼aşeasc¼a anumite limite admisibile.
Ca urmare, se pot formula urm¼ atoarele reguli generale pentru m¼ arirea preciziei calculelor:
1. când se adun¼ a sau se scad numere, este recomandabil s¼ a se înceap¼ a cu cele mai mici în valoare absolut¼ a, separat
pentru cele pozitive şi separat pentru cele negative;
2. dac¼ a este posibil, este recomandabil s¼ a se evite sc¼
aderea a dou¼ a numere aproximativ egale; o expresie care conţine
o astfel de sc¼ adere poate … rescris¼ a;
a b
3. o expresie de forma (a b) c poate … rescris¼ a sub forma a c a c; iar o expresie de forma poate … rescris¼
a
c
a b
sub forma ; dac¼a numerele a şi b sunt aproximativ egale, este recomandabil s¼ a se efectueze mai întâi sc¼ aderea şi
c c
apoi înmulţirea şi împ¼ arţirea.
4. dac¼ a regulile generale enunţate mai sus nu se pot aplica, se va urm¼ ari minimizarea num¼ arului de operaţii aritmetice
implicate.
Exemplu. Se consider¼ a urm¼ atoarele relaţii de calcul:
1 2 3
h= ;x = h; y = h; e = x + x + x h;
2 3 5
f
f =y+y+y+y+y h; q = :
e
Efectuând calculele manual, se obţin rezultatele:
1 1 1
h= ;x = ;y = ; e = 0; f = 0; q =?
2 6 10
Implementând aceste relaţii de calcul într-un program scris în MATLAB obţinem rezultatele:
e 6= 0; f 6= 0; q = valoare …nit¼
a.
5
2 Sisteme de ecuaţii liniare
În matematic¼ a, teoria sistemelor de ecuaţii liniare este o parte fundamental¼ a a algebrei liniare folosit¼
a în majoritatea
ramurilor matematicii moderne. Metodele numerice pentru determinarea sotuţiei sistemelor de ecuaţii liniare au un rol
important în inginerie, chimie, economie dar şi în alte domenii. Aşa cum vom vedea mai târziu, chiar şi sistemele de ecuaţii
neliniare pot … aproximate cu unele liniare, acest aspect …ind foarte important în realizarea unor modele matematice sau
studiul unor modele mai complexe.
Reamintim c¼ a un sistem de n ecuaţii algebrice liniare cu n necunoscute este de forma:
8
>
> a11 x1 + a12 x2 + ::: + a1n xn = b1
<
a21 x1 + a22 x2 + ::: + a2n xn = b2
: (1)
>
> :::::::::::::::::::::::::::
:
an1 x1 + an2 x2 + ::: + ann xn = bn
Dac¼
a not¼am cu A matricea coe…cienţilor, cu x vectorul coloan¼
a al necunoscutelor şi cu b coloana al termenilor liberi,
sistemul (1) se scrie sub form¼
a matriceal¼
a:
Ax = b;
unde: 2 3 2 3 2 3
a11 a12 ::: a1n x1 b1
6 a21 a22 ::: a2n 7 6 x2 7 6 b2 7
6 7 6 7 6 7
A=6 .. .. .. 7;x = 6 .. 7;b = 6 .. 7: (2)
4 . . . 5 4 . 5 4 . 5
an1 an2 ::: ann xn bn
Metodele numerice de rezolvare a sistemelor algebrice de ecuaţii liniare sunt de dou¼ a tipuri: metode directe şi metode
indirecte (sau iterative).
Metodele directe constau în transformarea sistemului 1 într-un sistem triun-ghiular echivalent, care se rezolv¼ a uşor.
Cele mai cunoscute metode directe sunt: metoda Gauss, metoda Cholesky (utilizat¼ a pentru sistemele în care matricea A
este simetric¼a şi pozitiv de…nit¼
a) şi metoda Householder.
Metodele directe permit determinarea soluţiilor sistemului în cazul ideal, când nu avem erori de rotunjire. Num¼ arul
operaţiilor efectuate este de ordinul n3 : Pentru sisteme cu un num¼ ar de ecuaţii mai mare de 100, metodele directe devin
inutilizabile datorit¼ a acumul¼
arii erorilor de rotunjire care altereaz¼a soluţia.
Metodele indirecte (sau iterative) constau în construcţia unui şir (x(k) ) de vectori n-dimensionali, care converge la
soluţia exact¼a a sistemului. Se alege ca soluţie aproximativ¼ a a sistemului un termen x(s) al şirului, al c¼
arui ordin depinde
de precizia impus¼ a.
O iteraţie presupune efectuarea unui num¼ ar de operaţii aritmetice de ordinul n2 : Metodele iterative sunt utilizate
la reolvarea sistemelor mari de ecuaţii. Cele mai cunoscute metode iterative sunt: Jacobi, Gauss-Siedel, metodele de
relaxare.
2.1 Problem¼
a cu caracter practic care conduce la rezolvarea unui sistem de ecuaţii liniare.
S¼
a consider¼
am urm¼
atoarul sistem electric.
Not¼am, pentru început, uL ; iL ; uR ; iR ; uC ; iC ; tensiunea şi, respectiv, intensitatea curentului pe …ecare ramur¼
a a
circuitului şi cu E tensiunea electromotoare. Acestea sunt variabile în timp aşa încât le vom considera ca funcţii de
variabil¼
at 0:
uL ; iL ; uR ; iR ; uC ; iC : [0; +1) ! R.
Sunt cunoscute înc¼
a din liceu urm¼
atoarele:
uR (t) = R iR (t)
6
tensiunea în capacitor este proporţional¼
a cu sarcina electric¼
a înmagazinat¼
a:
1
uC (t) = q(t):
C
De aici rezult¼ a c¼
a variaţia tensiunii în raport cu timpul este proporţional¼
a cu variaţia sarcinii în raport cu timpul
(iar variaţia sarcinii este, prin de…niţie, intensitatea curentului):
1
u0C (t) = iC (t):
C
variaţia intensit¼
aţii curentului în bobin¼
a este proporţional¼
a cu tensiunea:
Pe de alt¼
a parte, în porţiunea de circuit paralel tensiunea e aceeaşi pe …ecare ramur¼
a, deci
uR = uC
uL + uR = uL + uC = E
iR = iL + iC :
Observ¼
am c¼a primul set de relaţii depinde de circuitul în discuţie în vreme ce al doilea este mereu acelaşi.
În continuare not¼am funcţiile a c¼aror variaţie (derivat¼
a) intervine în formule cu x şi, respectiv, y: Mai exact, not¼
am
x(t) = iL (t)
y(t) = uC (t); t 0:
7
1. Determinarea soluţiilor problemei omogene
0 1
x 0 L x
= 1 1
y C CR y
| {z }
N otam
= A
Determinarea soluţiei particulare se poate face întotdeauna prin metoda variaţiei constantelor sau, dac¼
a termenul
liber conţine doar funcţii de forma
t t
E(t) = P (t) e sin t + Q(t) e cos t
unde Pi ; Qi ; i = 1; 2 sunt polinoame de grad cel mult egal cu maximul gradelor polinoamelor care intervin în expresia lui
E la care ad¼ aug¼am `; unde ` este ordinul de multiplicitate al r¼ad¼acinii i ( şi tot din expresia lui E)pentru ecuaţia
caracteristic¼a (posibil chiar 0).
Exempli…c¼ am obţinerea unei soluţii particulare în situaţia în care tensiunea electromotoare este egal¼
a cu E(t) =
(t + 2)e 3t sin t; L = 0:5He; C = 0:5F şi R = 1 : Cu aceste valori problema se rescrie în forma
x0 = 2y + (2t + 4)e 3t
sin t
y 0 = 2x 2y
sau, echivalent,
0 3t
x 0 2 x (2t + 4)e
= +
y 2 2 y 0
| {z } | {z }
=A =b
Observ¼
am c¼a = 3; = 0; P1 (t) = 2t + 4 şi P2 (t) = Q1 (t) = Q2 (t) = 0; 8t:
Ecuaţia caracteristic¼
a este
p
2 2 1 = 1 + ip3
det(A I2 ) = 0 , =0, +2 +4=0,
2 2 2 = 1 i 3
unde Pi şi Qi sunt polinoame de grad cel mult 1 (polinoamele care intervin în expresia etrmenului liber au gradul maxim
1 iar ` = 0): Altfel spus,
(a1 t + a2 )e 3t
'(t) =
(a3 t + a4 )e 3t
Forma simpli…cat¼
a a soluţiei particulare apare pentru c¼
a = 0: Impunem condiţia ca ' s¼
a …e soluţie, adic¼
a
3t 0 3t 3t
(a1 t + a2 )e 0 2 (a1 t + a2 )e (2t + 4)e
3t = 3t +
(a3 t + a4 )e 2 2 (a3 t + a4 )e 0
şi obţinem
3t
( 3a1 t + a1 3a2 )e (( 2a3 + 2)t 2a4 + 4)e 3t
3t =
( 3a3 t + a3 3a4 )e ((2a1 2a3 )t + 2a2 2a4 )e 3t
8
Identi…când coe…cienţii obţinem sistemul de ecuaţii liniare de 4 ecuaţii cu 4 necunoscute
8
>
> 3a1 + 2a3 =2
<
a1 3a2 + 2a4 = 4
>
> 2a1 + a3 =0
:
2a2 a3 + a4 = 0
În acest caz sistemul este uşor de rezolvat şi, cu puţin efort, se obţine
2 22 4 72
a1 = ; a2 = ; a3 = ; a4 = ;
7 49 7 49
adic¼
a funcţia 0 1
2 22 3t
xp (t) B ( 7t 49
)e C
'(t) = =@ 4 72 A
yp (t) ( t+ )e 3t
7 49
este o soluţie a problemei iniţiale.
Se observ¼ a imediat c¼a sistemele de ecuaţii care se obţin pentru aceast¼ a problem¼a simpl¼
a devin cu atât mai mari cu
cât gradele polinoamelor care intervin sau/şi ordinul de multiplicitate ` sunt mai mari. De exemplu, dac¼ a anterior P ar …
avut gradul 3 iar ` = 1; atunci am … avut de a‡at 8 coe…cienţi (2 polinoame de grad 4). Dac¼ a în expresia termenului liber
am … avut, în plus, şi sin = cos atunci am … avut de a‡at 16 coe…cienţi (4 polinoame de grad 4). Evident, sistemele devin
din ce în ce mai greu de rezolvat "de mân¼ a". Este, deci, un motiv foarte bun pentru a dezvolta algoritmi şi programe
pentru diferite aplicaţii pe computer pentru rezolvarea acestor sisteme. De îndat¼ a ce am trecut pe calculator, exactitatea
dispare şi se pune problema estim¼ arii erorii sau minimiz¼arii ei schimbând, eventual, metoda de determinare a soluţiei.
¼ OPŢIONALA
!!!TEMA ¼ pentru întregul semestru!!!
Identi…caţi la disciplinele de specialitate situaţii în care puteţi aplica algoritmii dezvoltaţi la Metode numerice.
1 1
A = A
det A
presupune un efort de calcul uriaş. Conform de…niţiei, un determinant de ordin n presupune calculul a n! produse de n
factori şi apoi adunarea/sc¼aderea rezultatelor, adic¼
a aproximativ (n + 1)! operaţii elementare, ceea ce înseamn¼ a foarte
mult (de exemplu, pentru n = 12; (n + 1)! = 13! = 6:227:020:800).
De…niţie. Spune c¼ a o matrice p¼atratic¼
a A 2 Mn (R) este inferior (superior) triunghiular¼
a dac¼
a toate elementele matricei
situate deasupra (sub) diagonala principal¼ a sunt egale cu zero.
Altfel spus, o matrice inferior triunghiular¼
a are forma
0 1
a11 0 ::: 0
B a21 a22 0 C
B C
L=B . . .. C
@ .. .. . A
an1 an2 : : : ann
În mod evident, determinantul unei astfel de matrice este egal cu produsul elementelor de pe diagonala principal¼ a, astfel
c¼
a matricea este inversabil¼
a dac¼
a şi numai dac¼a toate elementele diagonale sunt nenule.
Inversa unei matrice superior triunghiulare inversabile
Fie U o matrice superior triunghiular¼a inversabil¼
a. Pentru a g¼
asi inversa acesteia vom folosi sistemele de ecuaţii liniare:
1
U x=y,x=U y:
9
Altfel spus, dac¼
a de la sistemul 8
>
> a11 x1 + a12 x2 + + a1n xn = y1
>
< a22 x2 + + a2n xn = y2
..
>
> .
>
:
+ann xn = yn
ajungem la sistemul 8
>
> b11 y1 + b12 y2 + + b1n yn = x1
>
< b22 y2 + + b2n yn = x2
..
>
> .
>
:
+bnn yn = xn
atunci inversa matricei U este 0 1
b11 b12 ::: b1n
B0 b22 b2n C
1 B C
U =B . .. .. C :
@ .. . . A
0 0 ::: bnn
În mod evident, avem
1 1
xn = yn ) bnn = :
ann ann
Apoi, înlocuind în penultima ecuaţie, avem
yn 1 an 1;n xn 1 an 1;n
xn 1 = ) xn 1 = yn 1 bnn yn
an 1;n 1 an 1;n 1 an 1;n 1
8
1
< bn 1;n 1 = an 1;n 1
) an 1;n
: bn 1;n = bnn
an 1;n 1
10
Algoritmul MATLAB
%Introducerea datelor
A=input(’Introduceţi matricea A; superior triunghiular¼a: A=’);
[n,n]=size(A);
%Determinarea inversei
B=zeroes(n);
B(n,n)=1/A(n,n);
for i=n-1:-1:1
B(i,i)=1/A(i,i);
for j=i+1:n
for k=i+1:j
B(i,j)=B(i,j)-A(i,k)*B(k,j)/A(i,i);
end
end
end
disp(’Inversa matricei este:’);
B
Matricele Frobenius sunt în mod evident inferior triunghiulare. În plus, are loc urm¼atoarea propoziţie.
Propoziţie. Fie mr şi er ca în de…niţia de mai sus. Atunci matricea Frobenius Mr = In mr eTr este inversabil¼ a iar
inversa sa este de asemenea matrice Frobenius.
Demonstraţie. Faptul c¼ a este inversabil¼
a este evident, de vreme ce det Mr = 1. Considerm acum matricea Frobenius
Nr generat¼ a Nr = In + mr eTr : Avem:
a de mr şi er , adic¼
Mr Nr = (In mr eTr ) (In + mr eTr ) = In + mr eTr mr eTr mr (eTr mr ) eTr = In ;
11
a eTr mr = 0. Rezult¼
deoarece este clar c¼ a c¼
a Mr Nr = In :Analog se arat¼
a c¼
a Nr Mr = In ; deci Mr este inversabil¼
a şi
inversa sa, Mr = In + mr eTr este de asemenea matrice Frobenius.
1
Pentru o matrice p¼
atratic¼
a A de ordinul n not¼
am
2 3
a11 ::: a1r
6 . .. 7 pentru orice r = 1; :::; n:
r = det 4 .. . 5
ar1 arr
Observ¼
am c¼
a
(2) a21 a12 1 a11 a12 2
a22 = a11 = = 6= 0:
a11 a11 a21 a11 1
De fapt, toţi determinanţii r ai matricei A2 coincid cu cei ai matricei iniţiale deoarece …ecare linie i a matricei A2 se
obţine prin înmulţirea primei linii din A1 cu aa11 i1
şi adunând apoi la linia i din A1 pentru i = 2; ::; n şi este cunoscut c¼
a
determinanţii sunt invarianţi la aceste tipuri de transform¼ ari : În particular, 2 al matricei A2 este nenul, obţinând din
(2) (2)
nou a11 6= 0 şi a22 6= 0:
Consider¼ am acum matricea Frobenius
2 3 2 3
1 0 0 ::: 0 0
6 0 1 0 ::: 0 7 6 0 7
6 7 6 7
6 a32
(2) 7 6 a(2) 7
6 7 6 32 7
6 0 1 ::: 0 7 6 (2) 7
6 a22
(2) 7 6 7
M2 = 6 7 = In m2 eT2 ; unde m2 = 6 a22 7 :
6 .. .. .. .. 7 6 .. 7
6 . . . . 7 6 . 7
6 7 6 7
6 an2
(2) 7 6 a(2) 7
4 5 4 n2 5
0 (2)
0 ::: 1 (2)
a22 a22
Notând A3 = M2 A2 ; obţinem 2 3
(3) (3) (3) (3)
a11 a12 a13 ::: a1n
6 (3) (3) (3) 7
6 0 a22 a23 ::: a2n 7
6 (3) (3) 7
A3 = 6
6 0 0 a33 ::: a3n 7;
7
6 .. .. .. .. 7
4 . . . . 5
(3) (3)
0 0 an3 ::: ann
12
unde 8 (3) (2)
>
< aij = aij ; pentru i = 1; 2; şi j = 1; :::; n;
(2) (2)
(3) (2) ai2 a2j :
>
: aij = aij ; pentru i; j = 3; :::; n
(2)
a22
Un calcul simpu ne arat¼
a c¼
a
(r)
În general, determinanţii r ai matricilor Ak r¼
amân neschimbaţi, obţinem arr 6= 0 şi se poate considera matricea
Frobenius: 2 3
1 0 0 ::: 0 2 3
6 .. 7 0
6 . 7 6 7 ..
6 7 6 7 .
6 0 1 0 ::: 0 7 6 7
6 7 6 0 7
6 (r)
ar+1;r 7 6 (r) 7
6 7 6 7
Mr = 6 0 ::: 0 7 = In mr eTr ; unde mr = 6 ar+1;r 7:
6 (r)
arr 7 6 a(r)
r;r 7
6 .. 7 6 . 7
6 7 6 . 7
6 . 7 6 . 7
6 (r) 7 4 a(r) 5
4 anr 5 n;r
0 ::: (r)
0 ::: 1 (r)
ar;r
arr
Dac¼
a not¼
am cu Ar+1 = Mr Ar ; atunci
2 (r+1) (r+1) (r+1) (r+1)
3
a11 a12 ::: a1r ::: a1n
6 (r+1) (r+1) (r+1) 7
6 0 a22 ::: a2r ::: a2n 7
6 .. .. .. .. 7
6 7
6 . . . . 7
6 7
Ar+1 = 6 6 0 0 ::: arr
(r+1)
::: arn
(r+1) 7;
7
6 (r+1) (r+1) 7
6 0 0 ::: 0 ar+1;r+1 ::: ar+1;n 7
6 .. .. .. .. .. 7
6 7
4 . . . . . 5
(r+1) (r+1)
0 0 ::: 0 an;r+1 ::: ann
Not¼am cu M = Mn 1 Mn 2 ::: M2 M1 şi cum toate matricele M1 ; :::; Mn 1 sunt inferior triunghiulare, la fel este
şi M: Obţinem astfel concluzia punctului (i) al teoremei deoarece U = M A este superior triunghiular¼
a:
Punctul (ii) rezult¼
a acum din egalitatea (4), observând c¼a
1 1
A = M1 M2 ::: Mn 11 U
iar matricea L := M1 1 M2 1 ::: Mn 11 ; cf. Propoziţiei 2.3, este un produs de matrici Frobenius şi, în particular, inferior
triunghiular¼a.
Observaţie. Scrierea lui A ca un produs dintre o matrice L inferior triunghiular¼ a cu 1 pe diagonala principal¼ a şi o
matrice U superior triunghiular¼ a A = L U din teorema de mai sus poart¼ a numele de descompunere sau factorizare LU.
Matricile L şi U cu propriet¼aţile de mai sus sunt unice. Algoritmul pentru factorizarea LU este programat în MATLAB
şi poate … apelat cu secvenţa [L; U ] = lu(A)
2 (se a…şeaz¼
3a cele dou¼
a matrici).
5 2 1
Exemplu. Consider¼ am matricea A = 4 5 6 2 5 : Obţinem:
4 2 1
13
2 3 2 3
5 2 1 1 0 0
6 1 1 0 7;
A1 = 4 5 6 2 5; M1 = 4 5
4
4 2 1 0 1
2 3 2 5 3
5 2 1 1 0 0
6 8 1 7; 6 0 1 0 7;
A2 = 4 0 5 M2 = 4 5
18 9 9
0 0 1
2 5 5 3 2 20 3
5 2 1 1 0 0
6 8 1 7; 6 1 1 0 7:
U = A3 = 4 0 5 M = M2 M1 = 4 5
9 7 9
0 0 1
4 20 20
Descompunerea LU a matricii A este dat¼
a de
A = L U = M1 1 M 2 1 U =
2 3 2 3 2 3
1 0 0 5 2 1 5 2 1
6 1 1 0 7 6 0 8 1 7=4 5
=4 5 4 5 6 2 5
4 9 9
1 0 0 4 2 1
5 20 4
Consider¼
am sistemul: 8
< 5x1 + 2x2 + x3 = 12
5x1 6x2 + 2x3 = 1 ;
:
4x1 + 2x2 + x3 = 3
a c¼
arui soluţie este x1 = 1; x2 = 2; x3 = 3: Sub form¼
a matriceal¼
a sistemul se scrie: Ax = b: Acest sistem este echivalent
cu urm¼atorul sistem: (M2 M1 A)x = (M2 M1 )b: Efectuând calculele se obţine:
8
< 5x1 + 2x2 + x3 = 12
>
8x2 + x3 = 13 :
>
: 9 27
x3 =
4 4
Acest ultim sistem este unul superior triunghiular, foarte simplu de rezolvat.
sau n o
(r) (r)
r = ajr = max akl j r k n; 1 l n :
14
for r=1:n-1 %La fiecare pas r=1..n-1
fprintf(’Etapa %g’,r);
for i=r+1:n
for j=r:n
A(i,j)=A_v(i,j)-(A_v(i,r)*A_v(r,j))/A_v(r,r);
end
b(i)=b_v(i)-A_v(i,r)*b_v(r)/A_v(r,r);
end
A_v=A;
b_v=b;
end
%rezolvarea sistemului triunghiular
x=zeros(n,1);
x(n)=b(n)/A(n,n);
for i=n-1:-1:1
s=0;
for j=i+1:n
s=s+A(i,j)*x(j);
end
x(i)=(b(i)-s)/A(i,i);
end
disp(’Solutia sistemului prin metoda lui Gauss’);
x
Exemplu. Pentru valori mari ale lui n metoda lui Gauss prezentat¼a în algoritmul anterior produce erori mari, chiar
pentru sisteme simple. De exemplu:
8 1 1
>
> n3 x1 n3 x2 +n3 x3 + : : : +n3 xn = n3 + n3 (n 1)
>
< n3 x1 + 13 x2 +n3 x3 + : : : +n3 xn 1
n = n3 + n3 (n 1)
.. .. .. .. .. : (5)
>
> . . . . .
>
: 3
n x1 +n3 x2 +n3 x3 + : : : + n13 xn = 1
n3 + n3 (n 1)
Deşi este un sistem foarte simplu, erorile obţinute rezolvând acest sistem cu metoda lui Gauss nu pot … neglijate. Rezolvând
sistemul (matematic) se obţine imediat ca soluţie vectorul x
xi = 1; 8i = 1; ::; n:
Pe de alt¼
a parte, notând cu x soluţia obţinut¼
a în MATLAB şi cu e eroarea de calcul,
e = kx x k1 = max jxi xi j ;
i=1;::;n
obţinem urm¼
atorul tabel:
n 6 10 100 200
11 9
e 1:4552 10 1:6153 10 0:1953 54:3131
15