Documente Academic
Documente Profesional
Documente Cultură
Elemente de Algebra Liniara
Elemente de Algebra Liniara
pagina 11
(2.1)
(2.2)
!
gradient,
"# = grad # =
$# $#
$#
i+
j+
k,
$x
$y
$z
(2.3)
divergenta,
!
"u = div u =
#u #v #w
+
+
,
#x #y #z
(u = ui + vj + wk),
(2.4)
%2 # %2 # %2 #
" # = $# =
+
+
,
%x 2 %y 2 %z 2
2
j k'
$i
&# # #)
! " u = rot u = curl u = &
,
#x #y #z )
&% u v w )(
u = iu + jv + kw,
(2.6)
(2.7)
!
S (") =
#"
$ %&",
#t
% ' C,
(2.8)
!
! =
!2 !
!t2
F ( p) = F { f ( t )} =
$ f (t ) e
" pt
dt , p = % + i& ' C,
!
f (t) =
1 # +i$
% F ( p) e pt dp,
2"i # -i$
(2.11)
transformata Mellin,
G ( s) = M {g( x )} =
$ g(x) x
s"1
(2.12)
!
$+i%
1
g( x ) =
G(s) x #sds,
&
2"i $#i%
(2.13)
1
2$
g(",#) =
2$
& &e
0
'i"r cos(('#)
f ( r,() rd(dr,
(2.14)
!
$
1
f ( r,") =
2#
2#
% %e
0
&i'r cos("&()
(2.15)
transformarea Hankel,
!
h ( x ) = H " { f ( x )} =
(2.16)
!
$
f ( x) =
(2.17)
operatorul de convolutie,
!
t
F (t) =
(2.17a)
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
! vi wi ,
(2.22)
i=1
(2.23)
(Schwarz-Cauchy-Bouniakowski)
(2.24)
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
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)
" 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
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,
$ 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 ,
pentru w = 1,
12
&
1 #N
|| v ||L2 =
$" | v i |2 ' .
N % i=1
(
(2.32)
(2.33)
! x1 $
# x2 &
#... & =
#x &
" N%
! b1 $
# b2 &
#... & , sau
#b &
" N%
Ax = b ,
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.
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 }
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.
Do j = i+1, N
Do j = k+1, N
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,
(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 ,
(2.36)
(2.37)
(2.38)
(2.39)
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).
Ax = b,
(2.41)
(2.42)
|| "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,
cond (A) !
|| A ||2
.
| det( A) |
(2.47)
sau
0
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
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)
(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 &
if (i > 1) then
if (i < N) then
EndDo
2.
Rezolva Ly = b}
Do i = 1, N
if (i = 1) then
if (i > 1) then
EndDo
3.
Rezolva Ux = b}
x(N) = b(N)
Do i = N-1, 1
x(i) = b(i) - a(i,3)*x(i+1)
EndDo
0
0
0
0
Figura 2.3 Structura matricei A produsa de aproximatia MDF in cinci puncte pentru operatorul Laplace
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
(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)
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),
( )
(2.55a)
Schema 2 (divergenta)
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
(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)
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
| ai,i | !
#| ai, j | ,
j =1,
j "i
i = 1, 2,K, N.
(2.58)
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.
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,
(m +1 )
( m)
-1
!1
( m)
= D (L + U) x + D b = f x ,
(2.63)
(2.64)
(2.65)
(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)
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.
( m +1)
x (i m +1) = (1- ") x (i m) + " x GS
= x (i m) + " x GS
,
i
i # xi
(2.69)
unde xGS este valoarea Gauss-Seidel (2.8) a vectorului de iteratie, iar este coeficientul de
!
(supra-) relaxare.
subrelaxare.
fi' ( x ) =
fi+1 ! fi
,
h
(2.78)
fi' ( x ) = lim
h!0
fi +1 " fi
.
h
(2.79)
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
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,
(2.82)
fi !1 = fi ! fi ' h +
(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)
( )
( )
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)
( )
ei h = f ( xi ) ! fi h = "1 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)
! ih
q1
( )
( )
fi h " fi rh
=
.
1" r q1
(2.94)