Sunteți pe pagina 1din 24

Modelare numerica pentru probleme la limita.

pagina 11

Capitolul 2 Elemente de Algebra Liniara


Problema principala la care se reduc majoritatea metodelor numerice este rezolvarea sistemelor
de ecuatii liniare, care sunt produse pentru determinarea necunoscutelor primare. in acest
capitol vom revedea cteva elemente importante, concepte si rezultate ale algebrei liniare
privitoare la aceasta problema.

2.1 Operatori liniari


Operatorul (sau functionala) L cu domeniul de definitie S, este un operator liniar daca pentru
oricare u, v S si oricare a, b R, are loc egalitatea,

L(au + bv) = a( Lu) + b( Lv),

(2.1)

Exemple de operatori liniari sunt:


matricele de dimensiune mn

"a11, a12 ,..., a1n %


$
'
$a21, a22 ,..., a2n ' ,
$...
'
$
'
#am1, am 2 ,..., amn &

(2.2)

operatorii diferentiali (in coordonate carteziene),

!
gradient,

"# = grad # =

$# $#
$#
i+
j+
k,
$x
$y
$z

(pentru j functie scalara)

(2.3)

divergenta,
!
"u = div u =

#u #v #w
+
+
,
#x #y #z

operatorul lui Laplace,


!

(u = ui + vj + wk),

(2.4)

Capitolul 2 Elemente de Algebra Liniara. pagina 12

%2 # %2 # %2 #
" # = $# =
+
+
,
%x 2 %y 2 %z 2
2

(pentru # functie scalara sau vectoriala) (2.5)

rotor (rot sau curl),

j k'
$i
&# # #)
! " u = rot u = curl u = &
,
#x #y #z )
&% u v w )(

u = iu + jv + kw,

(2.6)

operatorul Cauchy-Rieman (pentru probleme 2-D),

1 $ "# "# '


" # = & + i ),
2 % "x
"y (

i = *1, (pentru # functie scalara),

(2.7)

operatorul lui Schrdinger,

!
S (") =

#"
$ %&",
#t

% ' C,

(pentru " functie scalara),

(2.8)

operatorul lui d'Alembert,

!
! =

!2 !
!t2

" "! , (pentru ! scalar sau vector)


(2.9)

operatori integrali (sau transformari integrale),


transformata Laplace,

F ( p) = F { f ( t )} =

$ f (t ) e

" pt

dt , p = % + i& ' C,

( f este functia original), (2.10)

transformata Laplace inversa (sau transformarea Mellin-Fourier),

!
f (t) =

1 # +i$
% F ( p) e pt dp,
2"i # -i$

(F este imaginea Laplace a lui f ),

(2.11)

Modelare numerica pentru probleme la limita. pagina 13

transformata Mellin,

G ( s) = M {g( x )} =

$ g(x) x

s"1

dx, s = % + i& ' C,

(g este functia original ),

(2.12)

transformata Mellin inversa,

!
$+i%

1
g( x ) =
G(s) x #sds,
&
2"i $#i%

(G este imaginea Mellin a lui g),

(2.13)

transformarea Fourier (continua),


!

1
2$

g(",#) =

2$

& &e
0

'i"r cos(('#)

f ( r,() rd(dr,

( f este functia original ),

(2.14)

transformarea Fourier inversa,

!
$

1
f ( r,") =
2#

2#

% %e
0

&i'r cos("&()

g(',() 'd' d(, (g este imaginea Fourier a lui f),

(2.15)

transformarea Hankel,

!
h ( x ) = H " { f ( x )} =

% f (x)J (x#) xdx,


"

( f este functia original,

(2.16)

J " este functia Bessel de primul tip si ordin "),


transformarea Hankel inversa,

!
$

f ( x) =

% h(")J (x") "d",


#

(h este imaginea Hankel a lui f),

(2.17)

operatorul de convolutie,

!
t

F (t) =

$ f (t " #)g( #)d#,


0

(g(t ) este o functie data),

(2.17a)

Capitolul 2 Elemente de Algebra Liniara. pagina 14

2.2 Norme. Produs intern


in aplicatiile numerice este necesara "masurarea" unor "obiecte" de tip vectori, matrice sau
operatori. Similar cazului marimilor fizice fundamentale (lungime, timp, masa, etc.), este de
asteptat ca prin aceasta operatie sa se evalueze "marimile" acestor obiecte prin numere reale,
pozitive. "Mijlocul" de masura este construit prin introducerea unei clase de functii scalare
(functii sau functionale), simbolizate prin |||| si numite norme. Daca S este un spatiu vectorial,
finit sau infinit dimensional, si daca |||| este o aplicatie scalara S R + {0} care are
proprietatile,

1. || v || " 0, || v || = 0 # v $ 0, % v & S ,
2. || a v || = | a | || v ||, " v # S , a # R ,

(pozitivitate)

(omotetie)

(2.18)
(2.19)

!
3. || v + w || " || v || + || w ||, # v, w $ S ,

(inegalitatea triunghiului)

(2.20)

atunci |||| este o norma a lui S. Proprietatile (2.18) - (2.20) trebuiesc verificate, indiferent ca S

! este un spatiu de vectori, functii sau operatori. De exemplu, daca S este un spatiu vectorial finit
dimensional cu elemente (vectori) de forma v = (v1, v2, ..., vN)T, atunci marimea lui v se poate
masura cu norma Euclidiana,
1/2

|| v ||2

" N 2%
= $ ! vi '
# i =1 &

(2.21)

Un alt obiect important este produsul scalar (sau intern) al spatiului care, similar normei,
produce o valoare reala pozitiva si care, asa cum vom vedea, este generatorul unei norme. in
cazul spatiilor vectoriale masurabile in norma euclidiana, produsul intern se calculeaza prin,
N

< v,w > =

! vi wi ,

(2.22)

i=1

unde v, w S iar N este dimensiunea spatiului S. Produsul scalar poseda si proprietatile,

1. < v,v > = || v ||22 ,


2. < v,w > " || v ||2 || w ||2 .

(2.23)
(Schwarz-Cauchy-Bouniakowski)

(2.24)

Modelare numerica pentru probleme la limita. pagina 15

Datorita proprietatii (2.23) aceasta norma este numita si energetica. Specific acestei norme este
forma patratica care in unele cazuri are semnificatie, fiind de exemplu energia sistemului.
Cele mai uzuale norme folosite pentru masurarea spatiilor S de matrice sau vectori,
"a1,1 a1,2 ... a1,M %
$
'
a2,1 a2,2 ... a2,M '
$
A = {ai, j } =
,
$....
'
$
'
#aN ,1 aN1,2 ... aN ,M &

v = (v1,v 2 ,..., v N ) ,

pentru matrice

pentru vectori

(2.25)

sunt,
!

norma-max
M

|| A ||" = max $ | ai, j |,


1# i# N

norma-1
!

j=1

|| A ||1 = max

" | ai, j |,

1! j ! M i =1

|| v ||! = max | vi |,

(2.26)

1" i" N

|| v ||1 = ! | vi |.

(2.27)

i=1

norma-2 (Euclidiana)
#M N
&1/2
|| A ||2 = %% " " ai,2 j (( ,
$ i=1 j=1 '

"N %
|| v ||2 = $ ! v 2j '
# j=1 &

1/2

(2.28)

norma-p a unui vector, v = (v1, v2, ..., vN)T,


!

" N
%
|| v || p = $ ! | vi | p '
# i=1
&

1p

(2.29)

Atunci cnd se compara vectori si matrice, este necesara masurarea lor in norme compatibile, iar
ecuatiile (2.26) - (2.28) indica cteva astfel de norme. O teorema importanta a Analizei
Functionale este teorema de echivalenta algebrica a normelor. Ea demonstreaza ca in cazul

Capitolul 2 Elemente de Algebra Liniara. pagina 16

spatiilor finit dimensionale toate normele sunt egal indreptatite, sau sunt algebric echivalente.
in consecinta, din punct de vedere calculatoriu, este posibil si recomandabil sa se selecteze acele
norme a caror evaluare necesita un numar ct mai mic de operatii aritmetice. De exemplu, efortul
aritmetic asociat calcularii normei-max, ec. (2.26), este mai mic dect cel necesar calcularii
normei-2, ec. (2.28), in care intervin radacini si puteri.
in cazul spatiilor functionale, pe baza produsului intern, este definita norma L2,

|| " ||2L2 = "," =

$ w" d#

(2.30)

fata de functia w, numita functie pondere. De exemplu, norma Cebsev utilizata in metodele
! spectrale este,

|| ! ||2L2 =

"1

! ( x )2
1" x

cu ponderea w( x ) = 1

(2.31)

dx ,

1 ! x 2 . Forma discreta asociata lui (2.30), consistenta cu (2.22), este,

pentru w = 1,
12

&
1 #N
|| v ||L2 =
$" | v i |2 ' .
N % i=1
(

(2.32)

! 2.3 Rezolvarea sistemelor de ecuatii algebrice lineare


Un sistem de ecuatii algebrice liniare, compatibil,
a11 x1 + a12 x 2 + ...+ a1N x N = b1
a21 x1 + a22 x 2 + ...+ a2N x N = b2
...
aN1 x1 + aN 2 x 2 + ...+ aNN x N = bN ,

poate fi scris in forma matriceala ca,


!

(2.33)

Modelare numerica pentru probleme la limita. pagina 17

!a1 1 , a1 2 ,..., a1N $


#a 2 1 , a2 2 ,..., a2 N &
#...
&
#a , a ,..., a &
" N1 N 2
NN %

! x1 $
# x2 &
#... & =
#x &
" N%

! b1 $
# b2 &
#... & , sau
#b &
" N%

Ax = b ,

x,b ' R N , A : R N ( R N . (2.34)

in general, sunt doua clase importante de metode pentru rezolvarea sistemului (2.34), adaptate
structurii specifice a matricei A - singularitate, desime, marginire - in functie de tipul metodei
numerice folosite in rezolvarea modelului: directe si iterative. in stabilirea metodei de rezolvare
se au in vedere cteva criterii:
1 Daca A este (aproape) singulara [adica det(A) 0], atunci nu exista o solutie unica descompunerea in valori singulare (Singular Value Decomposition, SVD) poate conduce la
determinarea unei solutii;
2 Daca A este "plina" (are putine elemente nule), sunt preferate metodele de eliminare,
directe, in special daca ordinul matricei, N, este mic;
3 Daca A este rara, sunt mai potrivite metodele iterative.
in continuare vor fi analizate metodele directe, de eliminare - din clasa metodelor Gauss - cu
accent pe metoda de factorizare LU, respectiv algoritmul Thomas, care este folosit cu precadere
in rezolvarea sistemelor tridiagonale de ecuatii. O astfel de structura particulara rezulta, de
exemplu, atunci cnd pentru rezolvarea aproximatiei de diferente finite a EDP sunt folosite
metode de descompunere (splitting schemes): suprarelaxare succesiva de linie (Line Successive
OverRelaxation, LSOR), alternarea directiei (Alternating Direction implicit, ADi). Schemele
iterative care apartin familiei iteratiilor de punct fix (fixed point iterations, Picard): Jacobi,
Gauss-Seidel si suprarelaxarea succesiva (Successive OverRelaxation, SOR) vor fi discutate
ulterior.

2.3.1 Metoda de eliminare directa - matricea A plina


in timp ce rezolvarea directa a problemei (2.34) prin inversarea matricei A (x = A1b) necesita
O(N4) operatii, eliminarea Gauss se realizeaza in doar O(N3) operatii, cu un necesar de memorie
de ordinul O(N2). Eliminarea Gauss se realizeaza in doua etape:
(i) eliminare directa (forward elimination): prin operatii algebrice cu rnduri se modifica
structura lui A la o forma triunghiulara (fig. 2.1),
(ii) substitutie inversa (backward substitution): se rezolva sistemul astfel rezultat in ordine
inversa, pornind de la ultima ecuatie, cea mai simpla (cu o necunoscuta), si eliminnd succesiv,
pas cu pas, cte o necunoscuta.

Capitolul 2 Elemente de Algebra Liniara. pagina 18

Figura 2.1 Modificarea structurii matricei A in metoda de eliminare Gauss

in particular, trebuie remarcat ca in procesul de eliminare directa se modifica structura lui b, care
devine b', fara insa ca acest fapt sa aiba o semnificatie speciala. Aceasta metoda se poate scrie
algoritmic ca,
{S u b st it u t ia i n v ersa }

{ E l imi n a rea d irect a }


Do k = 1, N-1

x(N) = b(N)/a(N,N)

Do i = k+1, N

Do i = N-1, 1

m(i,k) = a(i,k)/a(k,k)

x(i) = 0.

b(i) = b(i) - m(i,k)*b(k)

Do j = i+1, N

Do j = k+1, N

x(i) = x(i) + a(i,j)*x(j)

a(i,j) = a(i,j) - m(i,k)*a(k,j)


EndDo

EndDo
x(i) = (b(i)-x(i))/a(i,i)

EndDo

EndDo

EndDo

Este important sa cunoastem conditiile in care eliminarea Gauss poate fi realizata. Aceasta
problema poate fi adresata prin analiza erorilor de rotunjire (rounding-off errors), care sunt
datorate preciziei de reprezentare finita a numerelor in calculator: pentru reprezentarea unui
numar real, sau rational, se poat retine doar un numar finit de cifre semnificative. Acest tip de
eroare se acumuleaza cu numarul de operatii aritmetice efectuate, in principal inmultiri si impartiti
in virgula mobila (floating point operations), iar metodele care conduc la calcule extensive sunt
in mod special vulnerabile.
Pentru a evidentia efectul erorii de rotunjire, consideram sistemul,

!#0.0001 1.0$& !# x1 $&


!1.0 $
= # &,
"1.0
1.0 % " x2 %
" 2.0%

(2.35)

pentru care se cauta solutia cu trei cifre semnificative. Metoda lui Cramer produce x1 = 1.000, x2
= 1.000, in timp ce algoritmul Gauss conduce la,
m2,1 = a2,1 / a1,1 = 104 ,

(a1,1 este numit pivot)

(2.36)

Modelare numerica pentru probleme la limita. pagina 19

a2,2* = a2,2 - m2,1 a1,2 = (1.0) - (104) (1.0) = -104 ,

(2.37)

b2* = b2 - m2,1 b1 = 2.0 - (104) (1.0) = -104 ,

(2.38)

x2 = b2* / a2,2* = 1.0 ,

(2.39)

x1 = (b1 - a1,2) / a1,1 = [1.0 - (1.0) (1.0)] / 10-4 = 0.0

GRESiT

(2.40)

Un remediu evident este sporirea preciziei reprezentarii prin folosirea mai multor cifre
semnificative. Cu toate acestea, algoritmul va esua pe orice masina de precizie finita daca
matricea este prost conditionata (ill-behaved, ill-conditioned).
in cazul anterior, (2.36) - (2.40), eroarea este produsa de valoarea mica a pivotului a1,1
folosit in secventa de eliminare directa. Acest neajuns poate fi eliminat daca la inceputul fiecarui
pas de eliminare ecuatiile se reordoneaza astfel inct elementul de pivotare al pasului sa fie relativ
mare. in principal sunt folosite patru strategii:
1. scalare;
2. pivotare pe coloane;
3. pivotare pe rnduri;
4. pivotare completa.
Prima strategie este simplu de implementat si este eficienta in multe cazuri, fiind intotdeauna de
dorit si recomandabil (din motive fizice) sa se scaleze ecuatiile inainte de rezolvarea sistemului.
Cu toate acestea, pentru sistemele slab conditionate beneficiile scalarii se pot pierde dupa doar
cteva etape de eliminare directa. A doua strategie nu este dificil de implementat, se reduce la
inversari de rnduri si, in consecinta, nu necesita reordonarea vectorului solutie, ca in cazul
pivotarii pe rnduri, dar este mai costisitoare din punct de vedere al efortului aritmetic. Cele mai
bune rezultate sunt obtinute prin inca mai costisitoarea pivotare completa (4).

2.3.2 Numarul de conditionare pentru sisteme de ecuatii lineare


inainte de a rezolva problema (2.34), este util sa se masoare eroarea de rotunjire care ar fi
produsa de specificarea cu precizie finita a datelor, respectiv elementele lui A si b. Am vazut
anterior (2.2) ca pentru masurarea unor obiecte de tip vectori, matrice, operatori sunt introduse
normele - numere reale pozitive. Folosind acest concept, se poate defini o noua marime, numita
numarul de conditionare (Condition Number). Pentru matricea A, acesta este notat cond(A) si
este un estimator a priori al efectelor erorii de rotunjire si al erorii cu care sunt specificate datele
(elementele lui A) asupra solutiei sistemului de ecuatii lineare,

Capitolul 2 Elemente de Algebra Liniara. pagina 20

Ax = b,

unde x,b ! R N , A : R N " R N .

(2.41)

Sa presupunem ca solutia exacta a ec. (2.41) este x si ca A si A1 sunt cunoscute si reprezentate


exact. Notam cu b eroarea cu care este cunoscut si reprezentat vectorul b si cu x eroare
absoluta cu care este calculata si reprezentata solutia x. Atunci,
A(x + !x) = b + !b " !x = A#1!b.

(2.42)

in orice norma, eroarea absoluta a solutiei, x, verifica inegalitatea,

|| "x || # || A $1 || || "b ||

si

|| b || # || A || || x ||,

(2.43)

ceea ce implica,

!
|| !x || || b || " || A #1 || || !b || || A || || x ||,

(2.44)

respectiv,
cond( A )
$ 44
64
47
8
|| !x ||
#1 || !b ||
" || A || || A ||
.
|| x ||
|| b ||

(2.45)

Numarul cond(A) exprima amplificarea erorii relative a solutiei x in raport cu eroarea relativa
a termenului liber b. Similar, se poate arata ca eroarea relativa indusa de eroarea absoluta A in
specificarea matricei A este,

|| !x ||
|| !A ||
" cond( A)
.
|| x ||
|| A ||

(2.46)

in concluzie, inegalitatile (2.45) si (2.46) arata efectul global, cantitativ, al erorilor de rotunjire in
specificarea sau reprezentarea matricei si termenului liber asupra solutiei sistemului linear.
Referitor la procedura de eliminare LU, aceasta inlocuieste A cu LU+ A si b cu b* + b
unde A si b sunt produse de erorile de rotunjire, cantitati care sunt dependente de efortul
aritmetic, de calcul, specific metodei, O(N3).
intruct inversarea lui A este in general dificil de realizat iar aceasta operatie este
susceptibila de erori de rotunjire suplimentare, se foloseste de multe ori aproximarea,

Modelare numerica pentru probleme la limita. pagina 21

cond (A) !

|| A ||2
.
| det( A) |

(2.47)

echivalenta definitiei lui cond(A) (2.45) in sensul ordinului de marime.


Un sistem este considerat prost conditionat sau slab conditionat atunci cnd cond(A) >>
1 si bine conditionat (well-conditioned) cnd cond(A) ~ O(1).

Cu toate acestea, slaba

conditionare trebuie interpretata in raport cu precizia aritmetica a calculatorului folosit. Numere


de conditionare de ordinul O(103) pot fi in mod curent acceptate daca se lucreaza in precizie
simpla IBM (cuvinte de 32 biti); in dubla precizie, se pot obtine solutii precise chiar daca
cond(A) ~ O(106).

2.3.3 Metoda de eliminare directa. Algoritmul Thomas


Discretizarea problemelor la limita pentru ecuatii diferentiale ordinare (EDO), ecuatii diferentiale
cu derivate partiale (EDP) cu operatori de derivare de ordinul doi, sau constructia aproximarilor
spline cubice conduc la sisteme de ecuatii algebrice cu matrice rare, de tip "banda", fig. 2.2, care
au elementele concentrate diagonal, adiacent diagonalei principale. Desi, in general, pentru
rezolvarea acestor sisteme rare este recomandabila o metoda iterativa, in unele cazuri se prefera
totusi o forma particulara a metodei de eliminare directa.

sau
0

Figura 2.2 Structuri speciale pentru matricea A

Una dintre cele mai folosite tehnici de rezolvare pentru sistemele de ecuatii generale cu matrice
plina, nesimetrica (nesingulara) apartine clasei de metode Gauss si se bazeaza pe factorizarea
LU, introdusa prin teorema urmatoare.
Teorema de descompunere (factorizare) LU. Fie Ak minorul principal construit cu primele k

Capitolul 2 Elemente de Algebra Liniara. pagina 22

rnduri si coloane ale matricei patrate NN, A. Daca det(Ak) 0 (Ak nu este singular) pentru
oricare k = 1, 2, ..., N1 atunci exista o matrice inferior triunghiulara unica, L = (li,j) cu l1,1 =
l2,2 = ...= lN,N si o matrice superior triunghiulara U = (ui,j) unica, astfel inct LU = A.

A = LU

Ax = b

L( U) x = b

"

#Ly = b
$
%Ux = y

(2.48)

O consecinta a factorizarii LU este aceea ca determinantul lui A se calculeaza simplu, ca produs


al elementelor diagonalei principale a lui L,
N

det(A) = ! li, i = Trace(L ).

(2.49)

i=1

Doua scheme numerice implementeaza aceasta factorizare: Crout, prin operatii la nivel de
rnduri si Doolittle, prin operatii la nivel de coloana. in functie de modul propriu-zis in care
opereaza compilatorul se prefera una sau alta dintre aceste variante (de ex. compilatorul
FORTRAN adreseaza memoria la nivel de coloana, deci varianta Doolittle este mai eficienta).
Factorizarea LU, care este folosita in principal pentru rezolvarea sistemelor generale de
ecuatii, are o forma deosebit de simpla, usor de vectorizat, atunci cnd este aplicata la rezolvarea
sistemelor cu matrice tridiagonale. Procedura prezentata in continuare este descompunerea LU
pentru matrice tridiagonale, iar algoritmul care urmeaza, cunoscut sub numele de algoritmul
Thomas, este complet echivalent eliminarii Gauss, din punct de vedere al efortului aritmetic
necesar si al stabilitatii numerice. Pentru o matrice tridiagonala, NN, sunt necesare doar O(N)
operatii aritmetice si respectiv O(N) cuvinte de memorie (de fapt, 4N2 cuvinte sunt necesare
pentru stocarea tuturor vectorilor).
"a1, 2 a1, 3
%
$a 2 ,1 a2,2 a2,3
'
0
$
'
.
.
.
$
'=
.
.
.
$
'
0
a N !1,1 aN !1, 2 aN !1, 3
$
'
a
a
#
N ,1
N,2
&

1.

{Factorizarea LU}
Do i = 1, N

" d1
$ c1 d2
$
.
$
$
0
$
#

% "1 e1
%
' $ 1 e2
'
0
0
' $
'
.
. .

' $
'. (2.50)
.
.
. .
' $
'
cN !2 dN !1
0
1 eN !1
' $
'
cN !1 dN & #
1 &

Modelare numerica pentru probleme la limita. pagina 23

if (i > 1) then

a(i,2) = a(i,2) - a(i,1)*a(i-1,3)

if (i < N) then

a(i,3) = a(i,3) / a(i,2)

EndDo
2.

{Substitutia directa -->

Rezolva Ly = b}

Do i = 1, N
if (i = 1) then

b(1) = b(1) / a(1,2)

if (i > 1) then

b(i) = (b(i) - a(i,1)*b(i-1)) / a(i,2)

EndDo
3.

{Substitutia inversa -->

Rezolva Ux = b}

x(N) = b(N)
Do i = N-1, 1
x(i) = b(i) - a(i,3)*x(i+1)
EndDo

in Anexa 1 este prezentat codul MATHEMATICA ce implementeaza acest algoritm. Acest


modul este folosit de rutinele ADI, ADI Peaceman-Rachford si LOD.

2.4 Metode iterative pentru rezolvarea sistemelor de ecuatii algebrice liniare


Efortul aritmetic necesar rezolvarii sistemelor de ecuatii liniare poate deveni prohibitiv chiar
pentru sisteme de ordin N relativ mic, de ex. N ~ O(103). Mai mult, este posibil ca aceasta
proprietate sa nu fie utilizabila atunci cnd se aplica o metoda directa daca matricea A este rara.
Astfel de cazuri intervin, de exemplu, in aproximatia diferentelor finite (MDF) pentru operatorul
2-D eliptic (Laplace) (fig. 2.3). Rezolvarea EDP cu o retea de discretizare MDF de dimensiuni
relativ reduse, NN = 100100 = 104, este evident peste limitele hardware ale masinilor de calcul
uzuale, atunci cnd este folosita eliminarea directa.
metodelor iterative.

Drept urmare, este necesara utilizarea

0
0
0
0
Figura 2.3 Structura matricei A produsa de aproximatia MDF in cinci puncte pentru operatorul Laplace

O clasa importanta de metode iterative - metode de aproximare succesiva - se bazeaza pe


principiul iteratiilor de punct fix (Picard), sau principiul contractiei. Cu toate deosebirile dintre

Capitolul 2 Elemente de Algebra Liniara. pagina 24

metodele de iterare propriu-zise, efortul aritmetic necesar si proprietatile de convergenta,


schemele de acest tip sunt matematic echivalente. Folosind functii de reprezentare specifice
(mapping functions) care transforma o aproximatie numerica in alta, mai buna, se pot genera,
secvential, solutii aproximative. in continuare sunt revazute cteva concepte, definitii si ipoteze
necesare pentru analiza acestui proces, cu referire la spatii metrice complete (spatii pentru care,
intre altele, se poate defini o norma).

2.4.1 Iteratii de punct fix


Sirul de aproximatii succesive obtinut printr-o procedura iterativa de punct fix ar trebui sa fie
convergent la solutia exacta a problemei. Este util sa reamintim cteva definitii ale Analizei
Matematice referitor la convergenta unui sir de elemente (vectori) din spatiul real, N-dimensional,
RN, respeciv convergenta unui sir Cauchy.
!

Definitie. Un sir {y m }m=1 RN converge la limita y ! R N daca pentru oricare > 0, exista un
rang (indice) M (care depinde de ), astfel inct ||ym y|| < pentru orice m M.
Definitie. Sirul {yn} este numit sir Cauchy daca pentru oricare > 0 exista un rang (indice) M
astfel inct ||ym yn || < pentru orice m, n M.
Se poate demonstra ca orice sir Cauchy definit pe un spatiu metric complet, S, converge la un
element din acest spatiu. Spatiul S este complet pentru o norma data, daca limita oricarui sir
Cauchy (in acea norma) apartine tot lui S. in particular, RN este un spatiu complet pentru orice N
< . Aceasta proprietate a sirurilor Cauchy este foarte importanta in algoritmii iterativi, de punct
fix, intruct afirma ca este necesar doar sa demonstram ca sirul solutiilor iterative este Cauchy
pentru a avea garantia convergentei procesului iterativ. Mai mult, din punct de vedere practic
(calculatoriu) este inutil si nerational ca sa fie impus mai mic dect precizia normala, absoluta, a
aritmeticii in virgula fixa folosita. Uzual,
#e
! " O $ %& ,
10

(2.51)

unde e este eroarea acceptabila in rezultat. Pentru siruri bine conditionate numeric (converg
monoton), este suficient ca n = m + 1, sau n = m + 2, astfel inct ||ym ym+1 || < (uzual, e ~
103). Limite de forma 106 nu sunt accesibile, de exemplu, atunci cnd calculul este

Modelare numerica pentru probleme la limita. pagina 25

efectuat in precizia simpla IBM.


in continuare este necesara introducerea unei proceduri (o reprezentare, f) de generare a
sirului de solutii aproximative succesive. Presupunnd ca egalitatea,
x = f(x),

(2.52)

are loc pentru x D, si f: D D RN, x este un punct fix iar f este numita functie de iteratie.
Rezulta imediat ca la limita (in punctul "fix") are loc,

x ! f( x) = 0.

(2.53)

Daca se poate gasi o metoda de calcul a punctelor fixe ale schemei iterative (2.53), atunci
pornind de la ea se poate stabili o metoda de rezolvare a sistemelor de ecuatii algebrice.
O solutie aproximativa a ec. (2.53) este numeric stabila daca o perturbatie mica (tipic, de
ordinul erorii de rotunjire) nu este amplificata, divergent, de procedura iterativa. in fig. 2.4,
punctul A este o solutie stabila (punct fix) in timp ce B este o solutie instabila. Vom vedea spre
sfrsitul acestei sectiuni cum se poate stabili tipul solutiei (stabila sau instabila).
Cea mai simpla metoda care poate fi folosita este metoda aproximatiilor succesive
(Successive Approximation Method). Schema de principiu a acestui algoritm este,
{x0 --> valoare de start}
x1 = f(x0)
x2 = f(x1)
.......
xm = f(xm-1)
if (||xm+1 - xm||) < epsilon then STOP

f(x)
B

x
2
A

1
x0

x
! valoarea
de start

Figura 2.4 Secvente de iteratii de punct fix: convergenta (1) si divergenta (2)

APLICATIA 2.1 O placa de 2 cm grosime cu conductivitatea termica k = 4 Wm1K1 si

Capitolul 2 Elemente de Algebra Liniara. pagina 26

emisivitatea suprafetei = 0.8 are o fata expusa, prin intermediul vidului, unui perete de tip corpnegru, aflat la TS = 25C. A doua fata are temperatura Ti = 450C. Se cere temperatura
suprafetei expuse radiatiei, To, (constanta Stefan-Boltzmann este = 5.67010-8 W/m2 K4).
Conditia continuitatii fluxului termic la nivelul fetei expuse radiatiei - prin conductie, qcond, in
interiorul placii si prin radiatie, qrad, spre peretele corp-negru - se exprima prin ecuatia,

qcond = k

Ti ! To
= qrad = "# To4 ! TS4 ,
a

(2.54a)

respectiv,
4.41!109 ! (723 " To ) = To4 " 2984 .

(2.54b)

Pornind de la relatia (2.54b) se pot formula cel putin doua scheme iterative:
Schema 1 (convergenta la To = 677 K),

Tom+1 = 723 ! " Tom


#

( )

! 298 4 $ / 4.41 & 109 ,


%

(2.55a)

Schema 2 (divergenta)

Tom+1 = 298 4 + 4.41! 109 723 " Tom

1/ 4

)]

(2.55b)

Urmatoarea teorema poate fi utilizata pentru a stabili daca reprezentarea asociata schemei iterative
este sau nu este contractiva (produce un sir convergent sau neconvergent de solutii
aproximative):
(Teorema contractiei) Daca f este o functie continua cu suport compact (D RN) si daca
(exista) constanta L < 1 astfel inct ||f(y) f(x)|| L ||x y||, (oricare) x, y D, atunci
!
! (exista un unic) x* D astfel inct x* = f(x*), iar sirul {x m }m =0 generat de reprezentarea

xm+1 = f(xm) converge la x* pentru orice valoare de start, x0 D.


inegalitatea,

Modelare numerica pentru probleme la limita. pagina 27

||f(y) f(x)|| L ||x y|| x, y D,

(2.56)

este numita si conditia Lipschitz, iar L (numar real, pozitiv) este numit constanta Lipschitz.
Conditia L < 1 este suficienta si necesara pentru ca reprezentarea f sa fie contractiva.
Daca f(x) este o functie scalara neteda, atunci ec. (2.56) poate fi privita ca aproximatia
liniara (de ordinul unu) produsa prin dezvoltarea in serie Taylor a lui f(x) in vecinatatea punctului
y. in acest caz, intr-o vecinatate suficient de mica a lui y, astfel inct dezvoltarea Taylor sa aibe
sens, L poate fi asimilat derivatei de ordinul unu a lui f(x), f '(x), evaluata in punctul y, iar restrictia
L < 1 impusa asupra lui L implica,
|f '(x)| < 1.

(2.56a)

Daca f = {f1, f2,..., fn} este o functie vectoriala definita pe un spatiu vectorial, x Rn, atunci
conditia de convergenta este impusa asupra modulului determinantului Jacobianului, J(f),

Det{J(f )}

# "f1
% "x
% 1
= Det% ...
% "f n
%$ "x1

"f1
"x 2
...
"f n
"x 2

"f1 &
"x n (
(
... ... ( < 1.
"f n (
...
"x n ('
...

(2.56b)

! 2.4.2 Transformari liniare

O conditie suficienta pentru convergenta unei scheme iterative aplicata pentru rezolvarea
sistemelor algebrice de ecuatii liniare de forma,
N

Ax = b

" ai, j x j = bi ,

i = 1,2,K, N,

(2.57)

j =1

este aceea ca matricea A sa fie diagonal-dominanta. Aceasta inseamna ca fiecare element


diagonal al lui A este mai mare in valoare absoluta dect suma valorilor absolute ale elementelor
de pe aceeasi linie, respectiv
N

| ai,i | !

#| ai, j | ,

j =1,
j "i

i = 1, 2,K, N.

(2.58)

Capitolul 2 Elemente de Algebra Liniara. pagina 28

A este strict diagonal-dominanta daca inegalitatea din ec. (2.58) este stricta.
In general, orice matrice patrata A poate fi scrisa unic ca o suma algebrica de trei matrice
(factori),

A = D ! L ! U,

(2.59)

unde D este matricea diagonala (diagonala principala a lui A), iar U si L sunt matricele
triunghiulare superior, respectiv inferior, care rezulta prin eliminarea diagonalei principale D.
Sistemul (2.57) devine atunci,

(D ! L ! U) x = b.

(2.60)

Aceasta descompunere reprezinta punctul central, comun, al metodelor iterative clasice pentru
reprezentarile liniare bazate pe formule explicite: Jacobi, Gauss-Seidel si SOR. Asupra acestor
scheme iterative se va reveni in Capitolul 3.

Schema iterativa Jacobi


Daca ec. (2.57) este pusa sub forma,
N

ai,i x i = bi "

$a

i, j

xj ,

(2.61)

i = 1,2,K,N,

j=1, j#i

atunci rezulta imediat o procedura recursiva, numita metoda iterativa Richardson (a fost insa
! folosita de Jacobi in 1845 si numita ulterior metoda iterativa Jacobi),

x (i m +1)

%
1 '
=
'bi "
ai,i '
&

(
*
(m)
a
x
$ i, j j * + f i x1( m) , x (2m) ,K, x (Nm) .
*
j=1
)
j #i
N

(2.62)

Conform (2.62), noua aproximatie a lui x, x(m+1), se obtine din cele anterioare, succesiv, pna ce
!

este atinsa o limita de convergenta - tipic, "distanta" dintre doua iteratii succesive, masurata intr-o
norma oarecare, sau inca, masura erorii de iteratie, este mai mica dect o valoare (toleranta)
prescrisa. Folosind factorizarea (2.60), schema iterativa Jacobi se scrie ca,

Modelare numerica pentru probleme la limita. pagina 29

(m +1 )

( m)
-1
!1
( m)
= D (L + U) x + D b = f x ,

(2.63)

unde D1(L + U) este matricea de iteratie.


Este important de stabilit in ce conditii aceasta procedura converge. Raspunsul este dat de
principiul contractiei, respectiv de conditia Lipschitz (2.56),
|| f ( x) ! f ( y) || = || D !1( L + U) x + D !1b ! D !1( L + U) y ! D !1b || =
= || D !1( L + U)( x ! y) || " || D !1( L + U) ||# || x ! y ||,

(2.64)

(2.65)

ceea ce conduce, de exemplu pentru norma ||||, la,


|| f(x) ! f(y) ||"
# || D!1 (L + U) ||" < 1.
|| x ! y ||"

(2.66)

in ec. (2.66) se poate recunoaste constanta Lipschitz, L = || D !1( L + U) ||" . Prin urmare, o
conditie suficienta pentru convergenta schemei (2.62) este,
%
N
' 1
L = max '
$ | ai, j
1" i "N | a |
i,i j=1
'&
j#i

(
*
|* < 1 ,
*)

q.e.d.

(2.67)

Este important de remarcat ca inegalitatea (2.67) evidentiaza conditia de convergenta (2.58),


! respectiv diagonal-dominanta matricei A.

Schema iterativa Gauss-Seidel


Metoda Gauss-Seidel utilizeaza valorile vectorului solutie actualizate, imediat ce sunt disponibile,

x (i m +1) =

i"1
1 $
&bi " # ai, j x (jm +1) "
ai,i &%
j=1

'
( m)
a
x
# i, j j )) ,
(
j= i+1
N

i = 1,2K,N.

(2.68)

De obicei, daca schema Jacobi este convergenta, schema Gauss-Seidel converge in aproximativ
! jumatate din numarul de iteratii, fara un efort aritmetic suplimentar.

Capitolul 2 Elemente de Algebra Liniara. pagina 30

Metoda suprarelaxarii succesive (SOR)


Una dintre cele mai folosite metode iterative pentru rezolvarea sistemelor cu matrice rare, pe care
o vom discuta mai tirziu (3.2), este SOR - o forma atenuata (amortizata) a schemei GaussSeidel - introdusa prin,

( m +1)
x (i m +1) = (1- ") x (i m) + " x GS
= x (i m) + " x GS
,
i
i # xi

1 < " < 2,

(2.69)

unde xGS este valoarea Gauss-Seidel (2.8) a vectorului de iteratie, iar este coeficientul de
!

(supra-) relaxare.

Pentru 0 < < 1, se obtine o forma a schemei Gauss-Seidel, numita

subrelaxare.

2.5 Aproximatia diferentelor finite


Tehnicile de rezolvare pe care le vom folosi pentru probleme la limita si cu conditii initiale
descrise de ecuatii diferentiale cu derivate partiale sunt numerice. O clasa importanta de metode
din aceasta categorie sunt dezvoltate pe baza aproximarilor prin diferente finite. Traditional,
ideea centrala a acestui tip de metode consta in inlocuirea operatorului diferential continuu, cu un
operator discret, definit pe un suport discret, respectiv nodurile unei retele de discretizare (fig.
2.6).
Aproximatii de tip diferente finite cele mai frecvent folosite sunt diferentele finite inainte,
inapoi si centrale:
Diferentele finite inainte (forward) sunt formulate prin,

fi' ( x ) =

fi+1 ! fi
,
h

(2.78)

si sunt sugerate de definitia derivatei unei functii netede,

fi' ( x ) = lim

h!0

fi +1 " fi
.
h

(2.79)

Modelare numerica pentru probleme la limita. pagina 31

f(x)

f i-2

f i-1

fi

f i+1

f i+2

x i-2

x i-1

xi

x i+1

x i+2

Figura 2.6 Operator de diferente finite 1-D, discret

Presupunnd ca f(x) este de doua ori diferentiabila in vecinatatea punctului xi, si folosind
dezvoltarea Taylor inainte,

fi +1 = fi + fi' h +

1 '' 2
f h + ... ,
2 i

(2.80)

rezulta,
termenul de eroare principal
(datorat discretizarii)
#

f i+1 " f i
'
= fi +
h

678
1 ''
fi h
2

+K

(2.81)

Ecuatia (2.81) arata ca formula aproximativa (2.78), respectiv operatorul discret ce actioneaza in
! punctul xi, este de ordinul unu, in raport cu pasul retelei de discretizare, h, care, tipic, este o
cantitate subunitara.
Daca membrul drept al ec. (2.78) este atribuit lui f '(xi+1), se obtine aproximarea prin
diferente finite inapoi (backward). in general, aceste formule nesimetrice inainte si inapoi
sunt folosite pentru discretizarea conditiilor la limita sau a derivatelor de ordinul unu in timp. in
acest ultim caz, ele genereaza scheme de integrare numerica in timp, de tip Euler (4.1) explicite,
respectiv implicite.
Aproximatia prin diferente finite centrale este folosita atunci cnd se urmareste o acuratete
sporita. Ea se poate obtine prin combinarea termenilor de eroare pna la ordinul dorit. De
exemplu, daca dezvoltarile Taylor inainte,

fi +1 = fi + fi' h +
si inapoi,

1 ' ' 2 1 '' ' 3 1 iv 4


f h + fi h +
f h + ... ,
2 i
6
24 i

(2.82)

Capitolul 2 Elemente de Algebra Liniara. pagina 32

fi !1 = fi ! fi ' h +

1 ' ' 2 1 ''' 3 1 iv 4


f h ! fi h +
f h ! ... ,
2 i
6
24 i

(2.83)

se scad, rezulta,
termenul de eroare principal
(datorat discretizarii)
#

f "f
f i = i+1 i"1 "
2h
'

678
1 ''' 2
fi h
6

+K

(2.84)

ceea ce inseamna ca aproximatia prin diferente finite centrale a derivatei de ordinul unu are o
! acuratete de reprezentare de ordinul doi, in raport cu pasul retelei de discretizare, h. O notatie
frecvent folosita pentru forma discreta din ec. (2.84) este,
h)
D(0,x
fi =

fi+1 ! fi !1
= f ' (x) + O h 2 .
2h

( )

(2.85)

Folosind aceasta notatie, aproximatia prin diferente finite centrale pentru derivatei de ordinul doi
este,
"1
2
D0,x
fi = D0,x ( D0,x fi ) = D0 # ( fi+1 / 2 ! fi !1/ 2 )$% =
h
=

1 "1
( fi+1 ! fi ) ! 1 ( fi ! fi!1 )$ = 12 ( fi!1 ! 2 fi + fi+1 ),
% h
h #h
h

(2.86)

sau, pe scurt,
2
D0,x
fi =

fi!1 ! 2 fi + fi+1
.
h2

(2.87)

2.6 Acuratetea si testul de calcul pentru convergenta functiilor de retea


Eroarea adevarata a solutiei aproximative fata de solutia exacta nu este, in general, cunoscuta. Cu
toate acestea, un test de acuratete simplu asupra solutiei aproximative, reprezentata prin functia de
retea, testul de convergenta Cauchy, poate si ar trebui sa fie facut intotdeauna.
In general sunt disponibile informatii suplimentare, calitative, referitor la functiile de retea.
Ele sunt furnizate de metoda de integrare propriu-zisa, si permit evaluarea ratei de convergenta a
metodei. De exemplu, dezvoltarea in serie a erorii de trunchiere este aproape intotdeauna

Modelare numerica pentru probleme la limita. pagina 33

disponibila. Astfel, pentru o retea de discretizare uniforma, cu pas h, se poate scrie,

( )

( )

fi h = f ( xi ) + ! 1hq1 = f ( xi ) + O hq1 .

(2.88)

Prin rafinarea retelei (reducerea pasului h) la rh, unde r este un numar rational, subunitar, rezulta,
( )

fi rh = f ( x i ) + ! 1r q1 hq1 ,

(2.89)

iar termenii de eroare principali, din ec. (2.88) si (2.89),


( )

( )

ei h = f ( xi ) ! fi h = "1 hq1 ,

ei rh = f ( xi ) ! fi rh = "1 rq1 hq1 ,

(2.90)

sunt in raportul,
( )

ei rh
q1
( h) = r .
ei

(2.91)

Ecuatia (2.91) sugereaza ca pentru o metoda cu o acuratete de ordinul doi (q1 = 2), o reducere a
pasului retelei cu un factor 2 (r = 1/2) conduce la o reducere a erorii cu un factor 4, respectiv

q1

2
1
! 1#
=" $ = .
2
4

(2.92)

In concluzie, pentru testarea convergentei unei metode numerice, se poate folosi initial o partitie
foarte fina (un pas de retea foarte mic, h) care sa produca o solutie foarte buna, f(xi). Aceasta
solutie poate fi utilizata ca referinta in calculul erorii pentru alte doua retele, mai grosiere, cu pasi,
h, mai mari, aflati in raportul r intre ei, respectiv cu reteaua mai fina.
Daca rata teoretica de acuratete (2.91) nu este atinsa atunci algoritmul sau implementarea
sa in schema numerica nu sunt corespunzatoare. In general, doua pot fi cauzele: fie reteaua nu
este suficient de fina (h este prea mare), fie algoritmul numeric este incorect, sau ambele.
Pentru un h suficient de mic, eroarea de trunchiere se poate calcula prin,
( )

( )

( )

( )

ei h ! ei rh = fi h ! fi rh = 1 ! r q1 " i hq1 ,
unde termenul de eroare (de trunchiere) principal este,

(2.93)

Capitolul 2 Elemente de Algebra Liniara. pagina 34

! ih

q1

( )

( )

fi h " fi rh
=
.
1" r q1

(2.94)

S-ar putea să vă placă și