Documente Academic
Documente Profesional
Documente Cultură
0. Erori
13.5 = 1 2 3 + 1 2 2 + 0 2 + 1 2 0 + 1 2 1 = 1101.1 Reprezentarea numerelor n calculator (reprezentarea intern) se face pe un numr finit de poziii, n , numit lungimea cuvntului, care este fixat la construcia calculatorului. Pentru precizii mai bune, unele calculatoare au posibilitatea reprezentrii numrului pe 2n, 3n , poziii (reprezentare pe dublu cuvnt, triplu cuvnt, ). Pe cele n poziii ale unui cuvnt, un numr poate fi reprezentat n virgul fix (proprie numerelor ntregi sau numerelor subunitare) sau n virgul mobil. Majoritatea tipurilor de calculatoare numerice folosesc pentru calcule tiinifice reprezentarea numerelor n virgul mobil. n aceast reprezentare, poziia virgulei zecimale nu este fix. Orice numr real x se poate scrie sub forma x = a 10b sau x = a 2b cu a < 1 i b Z ; a se numete mantisa numrului real x, iar b exponentul. Reprezentarea n virgul mobil este normalizat dac prima cifr a mantisei este nenul, deci dac a 10 1 , respectiv a 2 1 . n acest caz reprezentarea este unic. Cifrele semnificative ale unui numr sunt cifrele mantisei, nelund n seam zerourile care le preced.
Exemplul Reprezentarea normalizat, n virgul mobil a numrului n baza 10 x = 13.5 este: 0.135 10 2 = 0.13510 2 , indicele 10 artnd c reprezentarea este n baza 10. n acest caz mantisa este a = 0.135, iar exponentul b =2. n baza 2, acelai numr are reprezentarea normalizat n virgul mobil 0.110112100 = 0.11011 2 4 , avnd mantisa a = 0.11011 i exponentul b = 100.
Pentru orice calculator numeric exist numerele fixe t i e care reprezint numrul de cifre ale mantisei, respectiv ale exponentului unui numr real ce poate fi reprezentat n calculatorul respectiv (n = t + e). Numerele t i e determin
Erori
mpreun cu baza de numeraie (10 sau 2) o mulime finit de numere reale F R care pot fi reprezentate exact n calculator.
n general, pentru t fixat, dac x F , rd (x ) se poate determina astfel. Se aduce x la forma normalizat x = a 10b , cu a 10 1 , adic a = 0.1 2 ... i i +1... , 0 i 9 , 1 0 . Se determin
def 0. ... , dac 0 t +1 4 a' = 1 2 t , t 0.1 2 ... t + 10 , dac t +1 5 adic t crete cu 1 dac t +1 5 i se renun la celelalte zecimale ncepnd cu t +1 .
~ rd ( x ) x 5 10 (t +1) 5 10 t . x a ~ Notm eps = 5 10 t . Dac rd ( x ) = x(1 + ) , atunci, din inegalitatea de mai sus
rezult eps . Numrul real eps se numete precizia calculatorului. Pentru rotunjirea n sistemul binar se procedeaz analog. Se aduce x F la forma normal x = a 2b cu 2 1 a < 1 i a = 0.1 2 ... i i +1... cu i = 0 sau 1 i 1 = 1 .
dac t +1 = 0 0.1 2 ... t , ~ , iar rd (x ) = sgn ( x ) a '2 b . n Se determin a' = t 0.1 2 ... t + 2 , dac t +1 = 1
~ ~ n cazul n care rd (x ) F , atunci rd (x ) este chiar rd (x ) . Deoarece numrul poziiilor pentru exponentul e este finit, exist , din pcate, numere ~ x F pentru care rd (x ) F .
Exemplul 2. Considerm t = 4 i e = 2. Atunci ~ a) rd (0.3179410110 ) = 0.317910110 F ~ b) rd (0.999971099 ) = 0.100010100 F ~ c) rd (0.01234510 99 ) = 0.123510 100 F ~ d) rd (0.5432110 110) = 0.543210 110 F n cazurile a) i b) exponentul pozitiv este prea mare ca s poat fi reprezentat pe spaiul alocat (e = 2). n situaiile acestea se spune c avem depire superioar a exponentului. n cazul b) depirea superioar a exponentului apare abia dup rotunjire. n exemplele c) i d) are loc depire de exponent inferioar, adic exponentul negativ este prea mic pentru a putea fi reprezentat pe spaiul alocat. n aceste dou situaii, depirea inferioar a exponentului poate fi prevenit definind rd (0.01234510 99 ) = 0.012310 99 F (reprezentarea nu mai este normalizat) i rd (0.5432110 110 ) = 0 F . Atunci rd nu satisface egalitatea rd (x ) = x(1 + ) , deci eroarea relativ poate fi mai mare ca eps. Situaiile de depire de exponent superioar sau inferioar sunt tratate de calculatoarele numerice ca fiind excepii. ~ n mod obinuit, rd (x ) se definete prin egalitatea rd ( x ) = rd (x ) .
n continuare, innd seama c depirile de exponent superioare i/sau inferioare nu sunt frecvente, vom considera cazul ideal e = i
Erori
x s y
nu fie elemente ale mulimii F, chiar dac operanzii x i y F . Vom nota cu + , , , / operaiile n virgul mobil corespunztoare operaiilor aritmetice care sunt definite astfel:
x + y = rd ( x + y ) , x y = rd ( x y ) , x y = rd ( x y ) , x / y = rd ( x / y ) , deci x + y = ( x + y )(1 + 1 ) , x y = ( x y )(1 + 2 ) , cu i eps, i = 1,4 . x y = ( x y )(1 + 3 ) , x / y = ( x / y )(1 + 4 ) . Aceste operaii n virgul mobil nu au proprietile binecunoscute ale operaiilor aritmetice. De exemplu: eps x , unde x, y F , iar B este baza de 1) x + y = x , dac y < B numeraie. Precizia mainii eps ar putea fi definit ca fiind cel mai mic numr g F pentru care 1 + g > 1 , adic eps = min{ g F 1 + g > 1, g > 0} . 2) Asociativitatea nu se mai pstreaz, aa cum va rezulta din urmtorul exemplu.
Exemplul 3. Fie a = 0.2337125810 4 , b = 0.33678429 10 2 , c = 0.3367781110 2 .
def def def
def
pentru orice x, y F
a + b + c = 0.2337125810 4 + 0.61800000 10 3 =
+ conduce la:
Dac E este o expresie aritmetic, va rezulta din context cum se evalueaz E. Dac este nevoie se pot folosi paranteze care s precizeze ordinea operaiilor. Vom nota cu fl (E ) valoarea expresiei E obinut din calculul n virgul mobil. De exemplu:
fl (x + y ) = x + y
def
fl ( x + ( y + z )) = x + y + z fl ((x + y ) + z ) = x + y + z
def
def
Erori
pentru restul calculelor. Mulimea operand final va consta din rezultatele dorite y1 , y 2 ,..., y m . n concluzie, o operaie corespunde unei transformri a mulimii operand. Scriind mulimile operand consecutive ca vectori coloan x (i ) 1 (i ) (i ) x 2 x = R ni , putem asocia fiecrei operaii elementare o funcie vectorial M (i ) xn i
x (0 ) = x , unde x (i +1) este o reprezentare vectorial a mulimii operand transformate. Fiind dat un algoritm, irul su de operaii elementare d natere unei descompuneri a lui ntr-un ir de funcii elementare (i ) : Di Di +1 , i = 0, r ,
Dj R
nj
( )
, = (r ) o (r 1) o ... o (0 ) , D0 = D , Dr +1 R nr +1 = R m .
Exemplul 1. Pentru (a, b, c ) = a + b + c s evideniem doi algoritmi: a) Fie = a + b i y = c + . Atunci, descompunerea de mai sus este:
(0 ) (a, b, c ) =
a + b (1) (0 ) (1) 2 R , (u , v ) = u + v R , (a, b, c ) = (a, b, c ) . c b) Fie = b + c i y = a + . n acest caz: a (1) (0 ) (1) 2 R , (u , v ) = u + v R , (a, b, c ) = (a, b, c ) . b + c
(0 ) (a, b, c ) =
Un argument pentru alegerea unui algoritm l constituie propagarea erorilor n aritmetica virgulei mobile. S analizm algoritmii a) i b) din exemplul de mai sus pentru intrrile numerice din Exemplul 3 al seciunii precedente. n cazul a) = fl ( a + b) = ( a + b)(1 + 1 ) , ~ y = fl ( + c ) = ( + c )(1 + 2 ) = [( a + b)(1 + 1 ) + c](1 + 2 ) =
a+b = (a + b + c) 1 + 1 (1 + 2 ) + 2 . + + a b c ~ y y + a b = 1 (1 + 2 ) + 2 , sau, dup y , y = Eroarea relativ a lui ~ y a+b+c a+b 1 + 1 2 . renunarea la termenii neliniari n avem y a+b+c
a+b este critic; n funcie de care dintre numerele a + b a+b+c sau b + c este mai mic, este mai bine s se procedeze via (a+b)+c dect a+(b+c) pentru a calcula a+b+c. Metoda de mai sus, de studiu a propagrii erorilor, neglijnd termenii de ordin superior, se poate extinde, conducnd la analiza diferenial a erorilor unui algoritm , pentru a calcula ( x) , dac = (r ) o (r 1) o ... o (0 ) . Pentru aceasta vom investiga cum erorile x asupra datelor de intrare, ca i erorile de rotunjire acumulate de-a lungul algoritmului afecteaz rezultatul final y = (x ) . 1 ( x1 ,..., x n ) m M Fie : D R , ( x) = , D fiind o submulime deschis ( x ,..., x ) n m 1 n a lui R . Presupunem c funciile , i = 1, m , au derivate continue pe D. Fie ~ x o
Factorul
i
valoare aproximativ pentru x. Notm x = ~ x x , x i = ~ xi xi erorile absolute ale lui ~ x i respectiv ~ xi . ~ x i xi , dac xi 0 erorile relative. Fie ~ xi = xi x , obinem ~ nlocuind datele de intrare x cu ~ y = (~ x ) n loc de y = ( x ) . Dezvoltnd n serie Taylor i renunnd la termenii neliniari n xi obinem: n n i (x ) = i (x ) x j , i = 1, m . y i y i = i (~ x ) i (x ) = ~ xj xj yi = ~ x j j =1 j =1 x j
Cantitile
Erori
Dac y i 0, i = 1, m i x j 0, j = 1, n atunci formula pentru propagarea erorilor relative devine: n xj i ( x) yi = xj (1) xj j =1 i ( x) Cantitile
Dac numerele de condiionare au valori (absolute) mari se spune c respectiva problem este ru condiionat, altfel problema este bine condiionat. Pentru problemele ru condiionate, erori relative mici n datele de intrare x, pot cauza erori relative mari n rezultatele y , y = ( x ) .
Exempul 3. Pentru y = (a, b, c) = a + b + c avem: a b c y = a + b + c . a+b+c a+b+c a+b+c Aceast problem este bine condiionat dac termenii a, b, c sunt mici n comparaie cu suma lor a+b+c .
Eroarea relativ (1) pentru cteva operaii elementare, n care operanzii x i y sunt nenuli, este dat n tabelul:
x+y xy x y
y x x + y , dac x + y 0 x+ y x+ y
x y x y , dac x y 0 x y x y x +y
x/ y
x
x y
1 x 2
Se observ c la nmulire, mprire i extragere de rdcin ptrat erorile relative ale operanzilor nu se propag puternic n rezultate. Acelai lucru se ntmpl i n cazul adunrii dac cei doi operanzi au acelai semn. Atunci x y numerele de condiionare sunt n (0,1) i o margine a erorii i x+ y x+ y relative este x + y max{ x , y } .
10
Dac operanzii care se adun au semne diferite, atunci cel puin unul dintre x y este mai mare ca 1 i erorile relative numerele de condiionare , x+ y x+ y
cancelarea rezultatului). Pentru descrierea propagrii erorilor de rotunjire ntr-un algoritm dat , vom apela tot la formula y = D ( x) x .
Presupunem c admite reprezentarea = ( r ) o ( r 1) o .... o ( 0) i c rezultatele calculelor pornind de la vectorul datelor de intrare, x = x (0) sunt date de relaiile:
x (i +1) = [ fl ( ( i ) ( ~ x ( i ) )) ( i ) ( ~ x ( i ) )] + [ ( i ) ( ~ x ( i ) ) ( i ) ( x ( i ) )] .
(i ) ( ~ x ( i ) ) ( i ) ( x ( i ) ) D ( i ) ( x ( i ) ) x ( i )
fl ( (i ) (u )) = rd ( (i ) (u )) ,
(2) (3).
Cum (i ) este o funcie elementar, evaluarea sa n virgul mobil va fi care pe componente devine:
Erori
11
x (1) = D (0) ( x) x + 1 x ( 2) = D (1) ( x1 )[ D (0) ( x) x + 1 ] + 2 . y = x ( r +1) = D ( r ) ...D (0) x + D ( r ) ...D (1)1 + ... + r +1 . Sau dac inem seama de ceea ce am notat cu avem:
(1) (a, b, u ) =
n primul caz avem:
u ( 2) ( 2) (1) (0) ; ( s, t ) = s t , = o o . a b
2 2 a (1) 2 2 a ( 2) a (3) x = x ( 0) = b , x = , x = 2 , x = y = a b , b b
12
(1) (u , v) = u v 2 , ( 2) (u , v ) = u v , D ( x) = ( 2a,2b) ,
D (1) ( x (1) ) = (1, 2b) , D ( 2) ( x ( 2) ) = (1, 1) ,
1 =
1a 2 1 0 , E1 = , 0 0 0
a a a 2 (eroarea de rotunjire n deoarece fl ( (0) ( x (0) )) (0) ( x (0) ) = b b virgul mobil apare doar pe prima poziie). Similar 0 0 0 2 2 2 = b2 , E 2 = 0 , 3 = 3 (a b ) , i eps, i = 1,3. 2 2
a 2 2 2 2 Dac x = b , y = 2aa 2bb + a 1 b 2 + ( a b ) 3 . n cazul algoritmului 2, avem: a (1) a + b ( 2) (1) 2 2 x = x (0) = b a b ,x = , x = y = a b ; (u , v) = u v ,
- n algoritmul 2:
( a 2 b 2 )(1 + 2 + 3 ) 3 a 2 b 2 eps.
Cnd selectm un anumit algoritm de calcul pentru un ( x ) (cu alte cuvinte, o anumit descompunere a lui n funcii elementare), D rmne neschimbat; matricele jacobiene D (i ) care msoar propagarea rotunjirilor vor fi totui diferite, efectul total al erorilor de rotunjire va fi: D (1) 1 + ... + D ( 2) 2 + r +1 . Un algoritm este numeric mai bun dect alt algoritm pentru calculul lui ( x ) , dac pentru o mulime de date x, efectul total al erorilor de rotunjire este mai mic n cazul primului algoritm.
13
14
soluie aproximativ a sistemului un termen x(s) al irului, al crui ordin depinde de precizia impus. O iteraie presupune efectuarea unui numr de operaii aritmetice de ordinul n2. Metodele iterative sunt utilizate la rezolvarea sistemelor mari de ecuaii. Cele mai cunoscute metode iterative sunt: Jacobi, GaussSeidel, metodele de relaxare.
0 0 M M 0 i e = 1 mr = r mr +1,r 0 M M 0 mn , r (elementul 1 din er se afl pe linia r). O matrice de forma Mr = In mrer T, unde erT= (0, ... , 1, ... ,0) , se numete matrice Frobenius. O astfel de matrice are urmtoarea structur: 0 0 L 0 1 O 0 1 0 L Mr = 0 L mr +1,r 1 L 0 M 0 L m 0 L 1 nr De exemplu, dac n = 4 i r = 2 , avem: 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 (0 1 0 0) = = M2 = 0 0 1 0 0 m32 0 0 0 0 1 0 m32 0 0 0 1 0 m 0 0 0 1 m 42 0 0 42 0 0 0 1 1 0 0 0 = 0 m32 1 0 0 m 0 1 42
15
Propoziia 1. Orice matrice Frobenius Mr este inversabil i inversa sa este: Mr1 = In + mr erT. Demonstraie. (In mr erT)( In + mr erT)= In mr erT + mr erT mr (erT mr ) erT. Deoarece erT mr = 0 , rezult: Mr (In + mr erT) = In, i deci Mr1 = In + mr erT. Teorema 1. Fie A o matrice ptrat de ordinul n care satisface condiia: a11 K a1r M 0 pentru orice r = 1, n 1 . (*) det M a r1 K arr Atunci exist o matrice inferior triunghiular MM n(R) astfel nct matricea = MA este superior triunghiular. Demonstraie. Deoarece a110 , putem considera matricea Frobenius 0 K 0 1 a 21 1 0 K 0 a . M 1 = 11 M M a n1 0 K 1 a 11 Dac notm A1 = A i A2 =M1A1 , atunci avem a ( 2 ) a ( 2) K a ( 2) 11 12 1n ( 2) ( 2) 0 a22 K a2 n , A2 = M M M ( 2) 0 ( 2) an 2 K ann
unde, notnd cu j = 1, n ;
( 2) aij
pentru i, j = 1, n , ,
avem:
( 2) (1) a1 j = a1 j
pentru
(1) = aij
pentru orice i, j = 2, n .
Observm c
( 2) a22 = a22
a21a12 a11
1 a11
Dac notm
16
0 K 0 0 K 0 1 K 0 , M M 0 K 1
(3) (3) K a1 a13 n (3) (3) K a2 a23 n (3) (3) , a33 K a3n M M (3) 0 K ann
0 M 0
unde
(3) aij
( 2) = aij
pentru i=1, 2, j = 1, n i
) ai(3 j
ai( 2j )
2) ( 2) ai(2 a2 j ( 2) a22
, i, j = 3, n .
(r ) n general, arr 0 i se poate considera matricea Frobenius: 0 0 L 0 1 O 0 1 0 L (r ) ar +1,r Mr = 0 L 1 L 0 . (r ) arr M (r ) 0 L anr 0 L 1 (r ) arr Dac notm cu Ar+1=MrAr , atunci
17
(r +1) K a1 r (r +1) K a2 r M
(r +1) a1 n (r +1) K a2 n M (r +1) (r +1) K ar r K ar n , (r +1) (r +1) K 0 ar +1, r +1 K ar +1, n . M M M (r +1) (r +1) K 0 an, r +1 K an n
pentru i=1,r , j = 1, n , ai j
( r + 1)
) = ai( r j
) (r ) ai( r a r r j (r ) ar r
i, j = r + 1, n . n final se obine matricea superior triunghiular a ( n) a ( n) K a ( n) 11 12 1n 0 a ( n) K a ( n) 22 2n . U = An = M n1...M 2 M1 A = .M M M 0 ( n) 0 K ann Notm cu M=Mn1 Mn2 ... M2 M1 i demonstraia teoremei este complet.
Exemplu.
5 2 1 8 1 A2 = , 0 18 9 0 5 5 0 0 2 1 1 0 0 1 5 M 2 = 0 1 0 , U = A3 = 0 8 1 , M = M 2 M 1 = 1 1 0 . 7 9 9 9 0 0 1 1 0 4 20 20 20 Considerm sistemul 5 x1 + 2 x2 + x3 = 12 5 x1 6 x2 + 2 x3 = 1 , 4x + 2x + x = 3 1 2 3
2 1 5 A1 = A = 5 6 2 , 4 2 1
1 0 0 1 1 0 M1 = 4 , 0 1 5
18
a crui soluie este x1=1, x2=2, x3=3. Sub form matriceal sistemul se scrie: 12 Ax=b , unde b = 1 . Acest sistem este echivalent cu urmtorul sistem: 3 (M2M1A)x=(M2M1)b . Efectund calculele obinem 5 x1 + 2 x2 + x3 = 12 8 x2 + x3 = 13 . 9 27 x3 = 4 4 Numrul operaiilor pentru determinarea matricei U i a vectorului Mb
2(nr)+3 operaii elementare pentru fiecare linie i, r + 1 i n , i pentru fiecare (n r )[2(n r ) + 3] operaii. n total vor fi etap r vor fi
r =1
[2(n r )2 + 3(n r )] = 3 n3 + 2 n 2 6 n
n
cele n2 operaii pentru rezolvarea sistemului triunghiular, rezult c numrul de 2 3 7 operaii pentru rezolvarea sistemului Ax=b este n3 + n 2 n . 3 2 6
1 . Din Propoziia 1 rezult c Lr este de n continuare notm cu Lr = M r
forma:
K 0 0 1 K M M M O 0 1 0 K (r ) ar +1,r Lr = 0 0 . L (r ) arr M M M (r ) 0 K anr 0 K 1 (r ) arr Dac notm cu L=L1L2...Ln1, atunci L este o matrice inferior triunghiular de tipul urmtor
19
0 1 1 l L = 21 M M l n1 l n 2
0 K 0 .0 K 0 . M M l n3 K 1
1 1 1 Deoarece A = M 1 M 2 ...M n 1U , rezult c: A=LU (3) Aadar, orice matrice ptratic ce ndeplinete condiia (*) din Teorema 1 admite o descompunere unic de forma (3), unde L este inferior triunghiular avnd elementele de pe diagonala principal egale cu 1 i U este superior triunghiular. Descompunerea (3) este cunoscut sub numele de factorizarea LU.
Algoritmul pentru factorizarea LU { Determinarea matricelor U i L cu pstrarea matricei A } Pentru i:=1,n execut Pentru j:=1,n execut uij:=aij ; dac i=j atunci l i i:=1 altfel l i j:=0 ; sfrit pentru j ; sfrit pentru i ; Pentru r:=1,n1 execut Pentru i:=r+1,n execut Pentru j:=r+1,n execut uir u rj ; uij := uij u rr sfrit pentru j ; u lir := ir ; urr sfrit pentru i ; sfrit pentru r ; Pentru i:=2,n execut Pentru j:=1,i1 execut uij:=0 ; sfrit pentru j ; sfrit pentru i . Algoritmul se afl programat n MATLAB i poate fi apelat cu secvena: [L,U ] = lu ( A) { se afieaz cele dou matrice } n exemplul precedent avem:
20
1 L1 = 1 4 5 1 A = LU = 1 4 5
0 0 1 0 0 1 0 , L2 = 0 1 0 , 9 0 1 0 1 20 0 0 5 2 1 5 2 1 1 0 0 8 1 = 5 6 2 9 9 4 2 1 1 0 0 20 4
foarte mic
, adic
(r ) arr << 1 ,
atunci
mpririle la acest pivot produc erori de rotunjire foarte mari, care altereaz soluia. n acest caz se recomand schimbarea pivotului. Se poate alege un nou pivot
(r ) r = a ir = max
sau
r) r = a (jr
{a = max { a
(r ) ij
; r jn
(r ) kl
; r k, l n
} }
Aceasta presupune schimbarea ntre ele a dou linii i eventual i a dou coloane. Algoritmul Gauss pentru rezolvarea sistemelor de ecuaii liniare Pentru r:=1,n1 execut Pentru i:=r+1,n execut Pentru j:=r+1,n execut gsete pivotul conform cu () ; schimb linia i cu linia pivotului i coloana j cu coloana pivotului dac este cazul ; sfrit pentru j sfrit pentru i Pentru i:=r+1,n execut a b bi = bi ir i arr Pentru j:=r+1,n execut air arj ; ; aij = aij arr sfrit pentru j ; sfrit pentru i ; sfrit pentru r ; b xn := n ; ann
21
Pentru i:=n1,1,1 execut s:=0 ; Pentru j:=i+1,n execut s:=s+aijxj ; sfrit pentru j ; (b s ) xi := i ; aii sfrit pentru i .
pentru orice i, j = 1, n .
+ (a21x1 + a22 x2 + ... + a2n xn )x2 + ... + (an1x1 + an 2 x2 + ... + ann xn )xn innd seama c aij = aji , n continuare avem
a11x1 + ... + a1n xn (x ) = x Ax = (x1 ,..., xn ) M = (a11x1 + a12 x2 + ... + a1n xn )x1 + a x + ... + a x nn n n1 1
22
(x ) =
aij xi x j =
i =1 j =1
n n
0 M n particular, pentru x = ei = 1 avem (ei) = aii . Cum este pozitiv definit i M 0 ei 0 , rezult c aii = (ei) > 0 , adic (a). Pentru un numr real oarecare avem (ei+ej)=aii2+2aij+ajj > 0 . (1) Pentru ca inegalitatea (1) s fie adevrat pentru orice R, trebuie ca 2 = 4 aij aii a jj < 0 .
Observaia 2. Condiiile care apar n Propoziia 1 sunt doar necesare nu i suficiente. Exemplu.
3 2 2 Matricea A = 2 3 2 satisface condiiile din Propoziia 1, dar nu este 2 2 3 pozitiv definit. ntradevr, 2 2 2 (x ) = 3 x1 + x2 + x3 + 4(x1 x2 x1 x3 + x2 x3 ) . 1 Dac x = 1 , atunci (x)=912=3<0, deci nu este pozitiv definit. 1
Definiia 1. Spunem c matricea A este tare diagonal dominant dac elementele sale satisfac inegalitile:
(d)
23
Dac inegalitile (d) devin egaliti pentru anumii indici, dar nu pentru toi, matricea se numete slab diagonal dominant.
Teorema 1. Fie A o matrice simetric cu urmtoarele proprieti: (i) A este tare diagonal dominant, (ii) aii > 0 pentru i = 1, n . Atunci A este pozitiv definit. Demonstraie. Din condiia (i) rezult c dac x0 , atunci:
n n
n n
n n
= aij xi xi x j
i =1 j =1 j i
)
)
(x ) > aij x j x j xi .
Adunnd cele dou inegaliti rezult
2 ( x ) > aij xi x j
i =1 j =1 j i
0.
Cel mai simplu exemplu de matrice reductibil este matricea diagonal. Teorema 2. Fie A o matrice simetric avnd urmtoarele proprieti: (i) A este slab diagonal dominant, (ii) A este ireductibil, (iii) aii > 0 pentru orice i = 1, n .
24
( x)
1 n n aij xi x j 2 i =1 j =1
j i
0.
Vom arta c situaia (x)=0 pentru x0 nu poate avea loc. ntradevr, (x) se anuleaz n urmtoarele cazuri: 1) aij = 0 pentru orice ij . Atunci matricea A are forma diagonal i este reductibil. 2) xi = x j = 0 pentru orice i i j.
n n
j =1 j i0
Fie M={1,2, ... , n} i S = i, j M ; xi = x j 0 . Dac S=M, atunci suntem n cazul 2). Dac S= , atunci xi x j pentru orice i i j i evident (x) > 0 pentru
x0. Aadar, putem presupune c SM (incluziune strict). Dac notm cu T=M \ S atunci S i T satisfac condiiile (i)(iv) din Definiia 2, deci A este reductibil. Exemplu. Fie 2 1 0 0 1 2 1 0 . A= 0 1 2 1 0 0 1 2 Matricea A este simetric, slab diagonal dominant, ireductibil i are elementele de pe diagonala principal strict pozitive. Din Teorema 2 rezult c A este pozitiv definit.
25
Oservaia 2. Teorema 2 este util la stabilirea faptului c anumite matrice care apar n rezolvarea numeric a ecuaiilor cu derivate pariale de tip eliptic sunt pozitiv definite.
(x ) = xT Ax = aij xi x j
i =1 j =1
n
n n
Dac notm cu
(1) 1 (x ) = aij xi x j , i =2 j =2 n n
atunci 1 este la rndul su o form ptratic pozitiv definit. z2 ntradevr, s presupunem prin absurd c exist z = M 0 astfel nct z n
1(z) 0.
z1 a1 j z z j i z = 2 . Fie z1 = . j= 2 a11 z n n continuare avem
n
n a 1j ( z ) = a11 z1 + z j + 1 (z ) = 0 + 1 (z ) 0 , j = 2 a11 ceea ce contrazice faptul c este pozitiv definit. Aadar, am demonstrat c 1 este pozitiv definit. n particular, rezult c (1) a22 > 0 . Mai departe procedm cu 1 aa cum am procedat cu i obinem 2
26
n (1) 1 (x ) = a22 x2 + j =3
unde
n
(1 ) a2 j
x j + 2 (x ) (1) a22
( 2) 2 (x ) = aij xi x j i =3 j = 3
este pozitiv definit. n final (x) se reprezint ca o sum de ptrate. Mai precis (x) admite urmtoarea scriere:
(i 1) n aij (i 1) (x ) = aii xi + xj , (i 1) i =1 j =i +1 aii n 2
unde
( 0) aij
= aij i
( p) aij
( p 1) = aij
p 1) ( p 1) a( a pj pi p 1) a( pp
, p = 1, n 1 .
Introducem notaiile:
(i 1) rii = aii , i = 1, n (i 1) aij
rij =
rii
, i< j j<i
(1)
rij = 0,
+ ... + (rnn xn )2 Dac notm cu R urmtoarea matrice superior triunghiular r11 r12 K r1n 0 r22 K r2 n R= , M M M 0 0 K rnn T T T T atunci (x)=(x R )(Rx)=x (R R)x . Pe de alt parte, (x)=xTAx. Se obine astfel urmtoarea descompunere a matricei A (2) A=RTR
27
unde R este o matrice superior triunghiular. Descompunerea (2) poart numele de factorizarea Cholesky a matricei A i are loc pentru matrice simetrice pozitiv definite. Numrul de operaii pentru determinarea matricei R Pentru a calcula elementele liniei a ia a matricei R sunt necesare (ni)(2i1)+2i 2 operaii elementare i o extragere de rdcin ptrat. Pentru toate liniile sunt necesare n n 3 n 2 5n [ (n i)(2i 1) + 2i 2 ] = 3 + 2 6 i =1 operaii elementare plus n extrageri de rdcin ptrat.
Exemplu. S se determine descompunerea Cholesky a matricei 3 2 2 A = 2 3 2 2 2 3
r11 = 3 , r12 =
2 3
, r13 =
2 , r23 = 3
r22
2 15
5 , 3
7 7 ( 2) (1) 2 a33 = a33 r23 = , r33 = 5 5 2 2 3 3 3 5 2 R= 0 . 3 15 7 0 0 5 Se verific imediat c A=RTR . Rezolvarea sistemului Ax=b cu metoda Cholesky, n cazul cnd matricea A este simetric i pozitiv definit, revine la rezolvarea a dou sisteme triunghiulare i anume RT y = b Rx = y Algoritmul Cholesky pentru rezolvarea sistemelor de ecuaii liniare Pentru p:=1,n1 execut
28
rpp: = a pp ; Pentru k:=p+1,n1 execut a pk rpk := ; rpp sfrit pentru k ; Pentru i:=p+1,n execut Pentru j:=i,n execut aij:=aijrpirpj ; sfrit pentru j ; sfrit pentru i ; sfrit pentru p ; { Rezolvarea sistemului RTy=b } b y1 = 1 ; r11 Pentru i:=2,n execut s:=0 ; Pentru j:=1,i execut s:=s+rijyj ; sfrit pentru j ; b s yi := i ; rii sfrit pentru i ; { Rezolvarea sistemului Rx=y } y xn = n ; rnn Pentru i:=n1,1 execut s:=0 ; Pentru j:=i+1,n execut s:=s+rijxj ; sfrit pentru j ; y s xi := i ; rii sfrit pentru i . Algoritmul se afl programat i n MATLAB i se apeleaz cu secvena: R=chol(A); x=R\R'\b { pentru afiarea soluiei }
29
real astfel nct Hx=x2hhTx=e1 ? innd seama de observaia de mai sus, aceasta revine la x2(hTx)h=e1, de unde rezult x e1=2(hTx)h. Aadar, h trebuie s fie colinear cu xe1. Cum h 2 = 1 rezult
x e1 . x e1 2 Pe de alt parte, H fiind ortogonal avem x 2 = Hx 2 = e1 = . h=
(1)
30
x1 + sgn( x1 ) x 2 x1 + x 2 sgn( x1 ) x2 x2 x e1 = = i M M xn xn
(2)
(3)
sgn(x1) = 1 dac x1 = 0.
Teorema 1. Pentru orice matrice AM n(R) nesingular exist o matrice ortogonal H astfel nct matricea R = HA este superior triunghiular. Demonstraie. a11 a21 Fie a1 = , prima coloan a matricei A. Din cele artate mai nainte rezult M a n1 c exist o matrice Householder H1 astfel nct H1a1=e1. Matricea H1 se determin astfel:
n s = a2 j1 j =1
1/ 2
, = (s (s + a11 ))
sgn( a11 ) = 1 daca a11 = 0 , H 1 = I n uu T . Dac notm cu A1 = H1A, atunci A1 are urmtoarea form: sgn(a ) s a (1) K a (1) 11 12 1n (1) (1) 0 K a2 a22 n A1 = M M M (1) (1) 0 a K a nn n2
(4)
31
a (1) 22 (1) = M i determinm o matrice n continuare considerm vectorul a2 (1) an 2 ~ ortogonal H 2 Mn1(R) astfel nct ~ ~, H a (1) = e
unde ~ e1T = (1, 0 , ..., 0) Rn1.
2 2 1
( 2) (1) a1 j = a1 j , j = 1, n .
I2 0 H3 = ~ 0 H M n(R) i cu A3=H3A2. Matricea A3 va avea toate elementele de 3 sub diagonala principal, din primele trei coloane, zero. Procedeul continu ntr-un mod evident. n final, obinem o matrice superior triunghiular An1 = Hn1An2 = =Hn1...H2H1A. Dac notm H=Hn1...H2H1 i cu R=HA, atunci H este ortogonal i R superior triunghiular.
Corolar. Pentru orice matrice nesingular AM n(R) exist o matrice ortogonal Q i o matrice superior triunghiular R astfel nct A= QR.
Algoritmul Householder pentru rezolvarea sistemelor de ecuaii liniare Fie sistemul Ax =b cu AM n(R). Notm cu C=(A|b)=(cij)M n,n+1 (R) matricea extins. Pentru i: = 1,n1 execut
s :=
c2 ji
j =i
dac s = 0 atunci A este singular . Stop! altfel := (s(|cii|+s))1 ; dac cii = 0 atunci sgn(cii): = 1 ; u := (0, ..., 0, (cii + s)sgn(cii), ci+1,i , ..., cni)T ;
32
sfrit pentru i ;
33
0 0 1 H 2 = 0 0.961417354 0.275093933 ; 0 0.275093933 0.961417354 - 8.124038405 3.446561747 1.354006401 0 5.667557862 0.588142797 ; A2 = H 2 A1 = 0 0 1.954675092 5.292934112 b2 = H 2b1 = 9.570687333 ; C = H 2 C = [A2 b2 ] ; 5.864025277 0.615457455 0.615457455 0.492365964 H = H 2 H1 = 0.727158367 0.684384346 0.053467527 ; 0.30406057 0.390935018 0.868744486 8.124038405 3.446561747 1.354006401 R= H A= 0 5.667557862 0.588142797 ; 0 0 1.954675092 Soluia sistemului iniial este x=R1Hb , unde: 0.123091491 0.074854538 0.062742657 1 R = 0 0.176442839 0.053089941 . 0 0 0.511593975 Se obine soluia x1=1 ; x2= 2 ; x3= 3.000000001 .
, 1 p <
cu proprietile:
34
A+ B M A M + B M , AB M A M B M , A, BM n(R). (iv) Un exemplu de norm de matrice este norma euclidian de matrice, care se definete astfel
1/ 2
n n 2 A E = aij . (1) 1 1 i = j = Proprietile (i) i (ii) sunt evidente. Pentru a demonstra proprietile (iii) i (iv) se folosete inegalitatea CauchyBuniakovskiSchwarz pe Rn. Pentru exemplificare demonstrm (iv). Fie C = AB. Atunci
2 cij
n continuare avem
n n n n n n 2 2 2 2 bkj = A 2 B 2 , aik AB E = cij E E i =1 j =1 i =1 k =1 j =1 k =1 de unde rezult AB E A E B E .
vectorial
p dac
Ax p A M
Observaia 1.
Ax 2 A E x 2 , () x.
n n n n 2 2 2 2 Ax 2 = (ai1x1 + ... + ain xn )2 aij x2 = A E x 2 . j i =1 i =1 j =1 j =1
ntradevr,
Observaia 2. Dac este o valoare proprie a matricei A, atunci A M pentru orice norm de matrice compatibil cu o norm vectorial.
ntradevr, fie v un vector propriu al matricei A care corespunde valorii proprii . Atunci avem v = v = Av A M v ,
35
deci
AM.
Dup cum se tie, ntre mulimea M n(R) a matricelor ptratice cu elemente din R i mulimea L(Rn) a aplicaiilor liniare i continue, U : RnRn , exist o coresponden bijectiv. Mai precis, dac A este matricea asociat transformrii liniare U, atunci U(eiT) = (a1i, a2i, ..., ani), unde eiT = (0, ..., 1, ..., 0)Rn i U(xT) = (Ax)T. Pe de alt parte, spaiul L(Rn) este un spaiu normat n raport cu norma operatorial:
U o = sup
{ U (x ) ;
T
xT = 1
(2)
unde cu
U
Se tie de asemenea c:
o
( ) c xT
, () x T R n
(3)
Definiia 3. Se numete norma matricei A subordonat normei vectoriale urmtorul numr: Ax A = sup { Ax ; x = 1 } = sup (4) x0 x
(5)
Ax A x , x R n , deci norma Din relaia (5) rezult n particular c matriceal definit de (4) este compatibil cu norma vectorial creia i este subordonat. Este evident c aplicaia A A definit de (4) satisface proprietile (i)(iii) din definiia 1. De asemenea avem ABx A Bx A B x ,
de unde rezult A B A B . Aadar, formula (4) definete ntradevr o norm de matrice.
Definiia 4. Dac 1, ..., n sunt valorile proprii ale matricei A , atunci se noteaz cu (A)= max i i (A) se numete raza spectral a matricei A (n aceast
1i n
(1)
A = max aij ,
1i n j =1
36
A 1= max aij ,
1 j n i =1
((
))
1 2
Demonstraie.
Ax = max
n
Rezult
astfel nct
n
A~ x = max aij . Pentru aceasta, fie k astfel nct s avem = max aij
1i j =1
1i n j =1 n
akj
j =1
(6)
0 i fie ~ x j = akj a kj
dac dac
akj = 0 akj 0
.
n n
x = 1 i Evident c ~
(1). n continuare avem
n
x 1
de unde rezult
A 1 max aij .
1 j n i =1
37
e j = 1 i
1
Ae j = aij , de
1 i =1
unde rezult
j = 1, n . Aadar,
A 1 max
1 j n i = 1
aij
(7) A 2 = 1
Vom arta n continuare c Bv=1v , deci c v este un vector propriu pentru B i corespunde valorii proprii 1.
z z B i deci ntr-adevr, pentru orice z0 avem: z z 1 2 2
T
z T Bz 1 z 2 = 1z T z (8) Pe de alt parte este evident c relaia (8) este verificat i pentru z=0. Deci relaia (8) are loc pentru orice z. De asemenea avem: (9) vTBv=1vTv Dac notm cu C=B1In , atunci avem: (8') zTCz0 , () z i (9') vTCv=0 Fie z=v+ty , unde tR este oarecare i y este un vector oarecare. Din (8') i din faptul c C este simetric rezult vTCv+2tyT(Cv)+t2yTCy0 . innd seama de (9') avem (10) t 2 y T Cy + 2ty T (Cv ) 0 . T Pentru ca (10) s fie adevrat pentru orice tR trebuie ca y Cv = 0. Cum y a fost arbitrar rezult 0=Cv=(B1In)v=Bv1v.
Aadar, avem Bv=1v, deci 1 este valoare proprie pentru B i n plus 1 = A 2 . Pe de alt parte, fie o alt valoare proprie a matricei B i fie u0, u 2 = 1 , astfel nct Bu=u. n continuare avem
2
1 = A 2 Au
2 2
= u T Bu = u T u = .
Aadar, 1 este cea mai mare valoare proprie a matricei B, deci am demonstrat i afirmaia (3).
38
n particular dac presupunem c matricea A este simetric, rezult c B=A2. Fie 1, 2, ..., n valorile proprii ale matricei A, care n acest caz sunt 2 2 reale. Se tie c 1 sunt valorile proprii ale matricei A2. S , 2 , ..., 2 n
2 presupunem c 1 = max 2 j. 1 j n
i>0
rezult
A 2 = 1 . Dac, n plus, A este pozitiv definit, atunci pentru orice i. S presupunem c: 1 2 ... n . Din cele de mai sus
A 2 = 1 , unde 1 este cea mai mare valoare proprie a matricei simetrice i pozitiv definite A.
39
Notm cu b perturbarea membrului drept i cu x perturbarea care rezult pentru soluie. Avem: A(x+ x )=b + b , de unde rezult A x = b i deci x =A1 b . Pentru orice norm de matrice compatibil avem:
x A 1 b
Pe de alt parte b = Ax A x , de unde rezult:
(2)
A 1 x b
Din relaiile (2) i (3) obinem
(3)
x
x
A A1
b
b
(4)
Aadar, ntre eroarea relativ a membrului drept i eroarea relativ a soluiei sistemului avem urmtoarea inegalitate x b cond ( A) . (5) b x Observm c dac numrul de condiionare al matricei coeficienilor sistemului este mare, atunci la erori relativ mici ale termenilor liberi, pot apare erori relativ mari pentru soluia sistemului. n cazul exemplului (1) avem 10 6 10 7 8 8 25 41 68 17 10 7 5 6 5 1 41 , A = A= 10 17 5 3 8 6 10 9 7 5 9 10 6 10 3 2 i cond2(A) 2984. (Sa folosit norma de matrice 2 ). Dup cum se vede, numrul de condiionare este destul de mare, ceea ce explic instabilitatea soluiei sistemului. Numrul de condiionare are urmtoarele proprieti: (i) cond(In)1 (ii) cond(A)=cond(A1) (iii) cond(A)=cond(A) pentru orice 0 1 , unde 12...n>0 sunt valorile proprii ale matricei (iv) cond 2 ( A) = n B=ATA
40
(v)
max i min i
valorile proprii ale matricei A (vi) Dac A este ortogonal, atunci cond(A)=1 . Pentru a evalua eroarea soluiei sistemului la o perturbare a coeficienilor sistemului, avem nevoie de urmtoarele dou leme.
Lema 1. Dac AM n(R) i A < 1 , atunci: (i) A+In i AIn sunt nesingulare, i 1 1 ( A I n )1 . (ii) A +1 1 A Demonstraie. Prezentm demonstraia pentru A+In . Presupunem prin absurd c A+In este singular. Atunci exist x 0, x = 1 astfel nct (A+In)x = 0. n continuare avem x = Ax, deci x A x .
Rezult A 1 ceea ce contrazice ipoteza Pentru a demonstra (ii) observm c de unde rezult
A < 1.
(I n + A)1
i mai departe
(I n + A)1
1 . 1 A
(i) (ii)
A 1 A 1 ( B A ) k < 1 .
B 1
1 k
41
Cum det(A1B) = det(A1)detB, va rezulta detB 0, deci B este nesingular. Tot din Lema 1 rezult 1 1 1 . B 1 A = I n + A 1 (B A) 1 A 1 (B A) 1 k
B 1 = B 1 A A1 B 1 A A1
1 k
cond( A) 1 cond( A)
A A
A A
Demonstraie. Din egalitile Ax=b i (A+A)(x+x)=b rezult Ax+Ax+Ax=0. n continuare avem x = (A+A)1A x i mai departe x ( A + A)1 A (6) x
i B=A+A, atunci
A 1 (B A) = A1A < 1
i va rezulta B
1
= ( A + A )
A1 1 A1A
A1 1 A1 A
A 1 A
(7)
x
x
A 1 A 1 A
1
1 A
A
A
A
A
innd seama de definiia numrului de condiionare, ultima inegalitate devine x A cond( A) . A A x 1 cond( A) A
42
Observaia 1. Dac presupunem n plus c perturbm i membrul drept al sistemului cu b atunci rezult
x
x
A b . + A A b 1 cond ( A) A cond ( A)
Observaia 2. Rezolvarea sistemului Ax=b, cu metoda Gauss revine la rezolvarea a dou sisteme triunghiulare Uy=b i Lx=y. Rezolvarea fiecrui sistem necesit n2 operaii. Dac unul din aceste sisteme este ru condiionat (ceea ce se poate ntmpla chiar dac sistemul iniial Ax=b este bine condiionat) metoda Gauss conduce la erori mari.
Cu totul altfel stau lucrurile n cazul metodei Householder. Deoarece cond(Q) = 1 i cond(QR) = cond(R), rezult c sistemul Qy = b este bine condiionat i deci c sistemul Ax = b are aceeai condiionare ca sistemul Rx = y. Aadar, algoritmul Householder are proprieti de stabilitate mai bune dect algoritmul Gauss.
Observaia 3. Pentru evaluarea numrului de condiionare cond(A), este suficient
A1 . A1
(LU )1
, deoarece
inversarea matricelor triunghiulare este uoar. S presupunem c (LU )1 = i A LU < k unde 0<k<1. Atunci din Lema 2 rezult . 1 k ntradevr, s alegem n Lema 2 matricea LU n loc de A i matricea A n loc de B. Avem k A1 ( A LU ) A1 A LU = k < 1 .
A1
Atunci rezult
A1
1 k
i deci cond ( A)
A
1 k
43
e ( m ) = B m e ( 0)
(5)
m
e (m ) B m e (0 ) B
e (0 )
Deoarece
lim B
= 0 , rezult
lim e (m ) = 0 .
Teorema 2. Condiia necesar i suficient ca irul ( x (m ) ) definit de (3) s fie convergent este ca ( B ) < 1 , unde cu ( B ) sa notat raza spectral a matricei B.
44
Demonstraie.
( B ) < 1 . Din
Algebra liniar se tie c matricea B se poate aduce la forma canonic Jordan, deci c exist o matrice nesingular C astfel nct J p (1 ) 0 L 1 1 , M M C B C = J = J p2 ( 2 ) 0 J pr ( r ) unde 1 0 L 0 1 M J p ( ) = M O 1 0 este o celul Jordan, 1, ... , r sunt valorile proprii ale matricei B i p1, ... , pr sunt ordinele de multiplicitate ale acestor valori proprii. Deoarece
C 1 B m C = J m , rezult c
lim J m = 0 . Pe
0 0 O r este o matrice diagonal de ordinul n, iar N este o matrice nilpotent de ordinul n, adic Nn = 0 .
k m k k n continuare avem J m = C m D N . Deoarece Nk=0 pentru kn, vom k =0 m
avea
k m k k J m = Cm D N . k =0 n
(6)
Observm c
Jm
45
Cum
m
lim m k ( ( B)) mk = 0 ,
rezult c
lim J m = 0 ,
deci c
lim J m = 0 .
Reciproc, s presupunem c
m
un vector propriu x 0 i o valoare proprie , cu 1 , astfel nct Bx=x i deci Bmx = m x. Cum (m x) nu converge la 0, rezult c Bm nu converge la 0, ceea ce contrazice ipoteza fcut. Una din cele mai cunoscute metode iterative este metoda Jacobi. S presupunem c matricea sistemului Ax=b are proprietatea aii 0, i = 1, n . Dac notm cu D = diag ( a11 , ..., a nn ) i cu E=DA, atunci obinem sistemul echivalent (DE)x=b i mai departe
x=D -1 E x + D 1b
(7)
D 1 E = max
n
aij
1i n j =1 a ii j i
Observm c dac matricea A este tare diagonal dominant, atunci D 1 E < 1 i n virtutea Teoremei 1, irul x (m +1) = D 1 E x (m ) + D 1b, m 0 este convergent pentru orice aproximaie iniial const n urmtoarele: Sistemul Ax = b se pune sub forma echivalent (7). Scris pe componente, sistemul (7) arat astfel n 1 bi aij x j , i = 1,n . xi = aii j =1 j i
(7)
{ x (m ) }
j =1 j i
unde (8)
46
Dac matricea A este tare diagonal dominant, irul ( x (m ) ) converge la soluia exact a sistemului.
Exemplu. Fie sistemul 5 1 1 1 x1 4 1 10 1 1 x 2 12 1 1 5 1 x = 8 3 1 1 1 10 x 34 4 Soluia exact este x1 = 1, x2 = 2, x3 = 3, 5 0 0 0 0 1 1 0 10 0 0 1 0 1 , E= D= 0 0 5 0 1 1 0 0 0 0 10 1 1 1
x4 = 4. 1 0 0,2 0,2 0,2 1 0,1 0 0,1 0,1 -1 , D E = , 1 0,2 0,2 0 0,2 0,1 0,1 0,1 0 0
0,8 1,2 -1 , D -1 E = 0.6 < 1 . D b= 1,6 3,4 Obinem urmtorul proces iterativ: x (m+1 ) = 0.2 x (m) + 0.2 x (m) + 0.2 x (m) 0.8 2 3 4 1 (m) (m) x (m+1 ) = 0.1x (m) + 0.1x3 + 0.1x 4 1.2 2 1 (m+1 ) (m) (m) (m) = 0.2 x1 + 0 .2 x 2 + 0 .2 x 4 + 1 .6 x3 (m+1 ) (m) (m) (m) x4 = 0.1x1 + 0.1x 2 + 0.1x3 + 3 .4
0 0 0 0 x1 = x2 = x3 = x4 = 0 atunci dup 5
O alt metod iterativ cunoscut este metoda GaussSeidel corespunde urmtoarei spargeri a matricei coeficienilor: A = (D+L ) + U unde D = diag (a11, ..., ann ),
i care
0 a L = 21 ... a n1
0 0 ... an2
47
Sistemul (1) devine (D+L) x = Ux +b iterativ: (D+L) x(m+1) = Ux(m) +b . Pe componente obinem i-1 1 bi aij x (m+1) xi(m+1) = j aii j =1
j =i +1
(10)
, este imediat Din algoritmul (10) se observ c fiecare nou component, x j utilizat la calculul urmtoarei componente. Se poate arta c procesul iterativ GaussSeidel este convergent dac matricea A este tare diagonal dominant. n cazul exemplului precedent obinem (m+1) (m ) x1 0 1 1 1 0 0 0 4 5 x1 ( ) ( ) + 1 m m 0 0 1 1 x 12 x2 1 10 0 0 2 + = 1 1 5 0 ( ) (m ) + 1 m 8 0 0 0 1 x3 x3 0 0 0 0 (m ) 34 1 1 1 10 ( ) + 1 m x4 x4
(m+1 ) x1 x (m+1 ) 2 x (m+1 ) 3 x (m+1 ) 4
(5) x1
( m+1)
sau
1 (m) (m) (m) = x 2 + x3 + x 4 4 5 1 ( m+1) m m ( ) ( ) = x1 + x3 + x 4 + 12 10 . 1 ( m+1) m+1) m) ( ( = x1 + x2 + x4 + 8 5 1 ( m+1) 1 1 m+ m+ ( ) + x ( ) + 34 = x1 + x2 3 10 dup 5 iteraii obinem
(5) x3 (5) x2
(0) Pentru x1
(0) (0) ( 0) = x2 = x3 = x4 = 0,
= 0.995 ;
= 1.998 ;
= 2.998 ;
(5) x4
= 3.999
48
v1 v2 unde matricea A este simetric i pozitiv definit. Dac v = este un vector de M v n prob oarecare, atunci notm cu r= Av b . (2) Vectorul r se numete vectorul rezidual. Scopul oricrei metode de relaxare este ca prin schimbarea sistematic a vectorului v, vectorul rezidual corespunztor r s se micoreze, eventual s se anuleze. n cele ce urmeaz, pentru orice doi vectori u1 v1 u2 v u = i v = 2 M M u v n n vom nota produsul lor scalar cu u,v = v T u = u1v1 + u 2 v 2 + ... + u n v n (3) Asociem sistemului (1) funcia ptratic n 1 n n 1 F (v) = aij vi v j bi vi = Av,v b,v (4) 2 i =1 j =1 2 i =1
Deoarece A este pozitiv definit, rezult Q(v)>0 pentru orice v0, unde Q(v) = Av,v . Observm de asemenea c pentru orice i = 1,n avem
F n = aij v j bi , vi j=1
deci vectorul rezidual r = gradF . (5)
Teorema 1. Problema determinrii soluiei sistemului (1) este echivalent cu problema determinrii punctului de minim al funciei ptratice (4). Demonstraie. Fie v0 soluia sistemului (1). Atunci r0=Av0b=0. Cum F (v0 ) = 0 . Aadar, v=v0 este punct critic pentru F. Pe r0=gradF(v0), rezult vi de alt parte,
n n
49
Reciproc, dac v=v0 este punct de minim pentru F atunci F (v0 ) = 0 , i = 1,n . vi Rezult
j =1 0 aij v j bi = 0, i=1,n , deci v=v0 este soluie pentru (1). n
n continuare prezentm principiul de baz al metodei relaxrii. Fie v un vector de prob oarecare, p o direcie dat i D = { v = v + tp; t R } , dreapta D care trece prin v i este paralel cu p. Ne propunem s determinm v 0 ) = min{F (v ); v D} . innd seama de (4), rezult astfel nct F (v 0
F (v ) = = 1 A(v + tp) ,v + tp b,v + tp = 2
1 t t2 t Av,v b,v + Av,p + Ap,p + Ap,v t b,p = 2 2 2 2 t2 t2 Ap,p + t Av,p t b,p = F (v) + Ap,p + t Av b,p = 2 2 = F (v ) + t2 Ap,p + t r,p . 2
= F (v ) +
Folosim notaia
t2 Ap,p + t r,p (6) 2 Determinm pe t astfel nct f (t ) = F (v ) s fie minim. Pentru aceasta trebuie s avem f (t ) = 0 , de unde rezult t Ap,p + r,p = 0 . Aadar, obinem: f (t ) = F (v ) = F (v + tp ) = F (v) + t min =
Cum
r,p Ap,p
(7)
= v + t min p
2
este un punct de
1 r,p ) F(v) = 0 . F = F(v0 2 Ap,p r,p 0 . Rezult c direcia Pentru ca F<0, trebuie ca astfel nct p s nu fie perpendicular pe r. p se alege
50
ntradevr,
r,p Ap,p
Ap,p = 0 .
Pentru interpretarea geometric a principiului relaxrii s considerm cazul particular n = 2. Ecuaiile F(v) = constant, reprezint ecuaiile unor elipse concentrice, al cror centru comun, coincide cu punctul de minim al funciei F. ntradevr, ecuaia F(v) = c revine la 2 2 (8) a11v1 + 2a12 v1v 2 + a 22 v 2 2b1v1 2b2 v 2 = 2c . Deoarece A este pozitiv definit, rezult c a11 a12 = a >0 , 12 a 22 deci (8) reprezint o elips. Fie v0 un vector de prob oarecare i c0=F(v0). Ecuaia F(v)=c0 reprezint o elips i v=v0 aparine acestei elipse. Deoarece r0=gradF(v0), rezult c r0 este perpendicular pe tangenta n v=v0 la elips. Direcia p1 o alegem astfel nct s nu fie perpendicular pe r0. Fie v1=v0+tminp1 i fie c1=F(v1). Punctul v=v1 aparine elipsei F(v)=c1 i de asemenea aparine dreptei ce trece prin v0 i are direcia p1. Fie r1=Av1b. Din Observaia 1, r0 v0 rezult c r1 este perpendicular v1 pe direcia p1. Pe de alt parte r1=gradF(v1) este perpendicular pe tangenta n v=v1 la elipsa p1 F(v)=c1. Rezult c v=v1, este r1 punctul de tangen la elipsa F(v)=c1 al dreptei care trece prin v0 i are direcia p1.
51
t min =
r, p Ap,p
rj a jj rj a jj
i ej i j i= j . rj a jj (2) (1)
daca daca
Ae j i mai departe
rj r1 = r1 a1 j a jj ................. r j =0 ................... rj rn = rn a nj a jj
F = F (v) F (v ) =
2 1 rj <0, 2 a jj
(3)
ceea ce asigur convergena metodei. Dei convergena este asigurat, experienele numerice arat c aceasta este foarte lent. Convergena este mbuntit dac matricea A este tare diagonal dominant.
Exemplu. x1 0.2 x1 0.2 x 1
+ 0.2 x 2 x2 + 0.2 x 2
(1)
+ 0.2 x3 + 0.2 x3 x3
=0 =0 =0
Dac alegem v
0 = 0 , atunci 0
52
0.6 (1) (1) 1 ( ) = 0.5 i max(r1(1) , r2 r , r3 ) = r1(1) = 0.6 . 0.4 Aadar 1 r1(1) r1(1) (2) (2) (1) (1) e1 i r = r Ae1 . p1 = e1 = 0 , v = v a11 a11 0 Pe componente avem
v ( 2) 1 ( 2) v 2 ( 2) v 3
Rezult
= 0.6 =0 =0 ,
=0 = 0.62 , = 0.52
i r
(3)
=r
(2)
(2) r2
a 22
Ae2 ;
= 0 .6 = 0.62 , =0
= max r1 , r2
= 0.124 =0 = 0.644
(3)
, r3
(3)
) = 0.644 .
(3)
v ( 4) 1 ( 4) v 2 ( 4) v 3
53
1 (0) (0) (0) (0) = v1 a11v1 + a12 v2 + a13v3 b1 v1 a11 (0) = v2 v2 (0) v3 = v3 n continuare alegem direcia de relaxare 0 p = e2 = 1 0
)
.
i obinem vectorul v de componente v1 = v1 1 (0) = v2 b2 ) . (a v + a v + a23v3 v2 a22 21 1 22 2 (0) = v3 v3 n sfrit, pentru direcia de relaxare 0 p = e3 = 0 , 1
54
Dup ncheierea acestui ciclu, vectorul gsit va fi notat cu v(1) i va avea componentele: (1) a ( 0 ) a13 ( 0 ) b1 = 12 v2 v + v1 = v1 a11 a11 3 a11 (1) a b ( 1 ) a23 ( 0 ) = 21 v1 (1) v3 + 2 v2 = v2 a22 a22 a22 (1) a b ( 1 ) a32 ( 1 ) = 31 v1 v2 + 3 v3 = v3 a33 a33 a33 Efectund calculele obinem: a v (1) + a v (0) + a v (0) = b 1 13 3 12 2 11 1 ( 0) (1) (1) a 21v1 + a 22 v 2 + a 23 v3 = b2 . (1) (1) (1) a31v1 + a32 v 2 + a33 v3 = b3 n general, pentru un sistem de n ecuaii, dup (m+1) cicluri se obine vectorul
v ( m+1) care verific ecuaiile: a v(m+1 ) + a v(m) + a v(m) + ... + a v(m) = b 12 2 13 3 1n n 1 11 1 (m+1 ) (m+1 ) (m) (m) + a22v2 + a23v3 + ... + a2 n vn = b2 a21v1 .......................................................................... (m+1 ) (m+1 ) (m+1 ) (m+1 ) + a n 2 v2 + ... + ann vn = bn +an3v3 an1v1
(2)
Observaia 1. Formulele (1) coincid cu formulele (10) din 7. Dac notm cu 0 0... 0 0 a11 0 L 0 0 0... 0 a 21 0 a22 L 0 T , E = a31 a32 0... 0 , F = E i D = M M M 0 ... ... 0 L ann a n1 a n 2 ... 0
55
atunci matricea A admite descompunerea A=E+D+F verific relaia matricial (D+E)v(m+1) + Fv(m) = b , de unde rezult v(m+1)= (D+E) 1Fv(m)+(D+E) 1b . n sfrit, notnd M= (D+E) 1F i C=(D+E) 1b obinem procesul iterativ v(m+1)=Mv(m)+C .
Exemplu. S se gseasc soluia aproximativ obinut dup 5 iteraii cu metoda deplasrilor succesive, lund vectorul iniial (0, 0, 0), pentru sistemul Ax = b, unde: 1 2 1 0 0 1 1 3 1 0 A= , b= . 0 1 3 1 1 1 0 0 1 2 Rezolvare 18 0 0 0 0 -1 0 0 1 6 12 0 0 0 0 -1 0 -1 F= ( D+E ) = 0 0 0 -1 36 2 4 12 0 1 2 6 18 0 0 0 0
0 18 0 0 1 0 6 12 0 1 M = ( D + E ) F = 36 0 2 4 12 0 1 2 6 4 1 det ( M I ) = 2 2 + . 9 36 Valorile proprii ale matricei M sunt 1 = 0.369 ; 2 = 0.077 ; ( M ) = 0.369 < 1 , deci procesul este convergent. Pe componente algoritmul conduce la:
3 = 0 ; 4 = 0 .
56
Iteraia I 1 (1) ( 0) ( 0) x1 = a (b a12 x2 a1 3x 3 11 x (1) = 1 (b a x ( 1) a x (0) 21 1 23 3 2 a22 1 (1) 1 ) (1 ) x3 (b a 31x ( = 1 a 32x 2 a33 (1) 1 1 ) (1 ) (b a 41x ( x4 = 1 a 42x 2 a 44
0) a1 4x (4 )
Iteraia a II a 1 ( 2) (1 ) (1 ) (1 ) x1 = a (b a12 x2 a1 3x 3 a1 4x 4 ) 11 0.75 x ( 2) = 1 (b a x ( 2) a x ( 1) a x ( 1) ) 21 23 24 2 1 3 4 a22 ( 2) 0.75 rezult x = 1 ( 2) 2) ( 2) (1 ) 0.83333 x3 (b a 31x ( ) = a x a x 32 2 34 4 1 0.91667 a33 ( 2) 1 ( 2) ( 2) ( 2) ( ) = x b a x a x a x 4 41 1 42 2 43 3 a44 Iteraia a III a 1 (3) ( 2) x1 = a (b a12 x2 11 x (3) = 1 (b a x ( 3) 21 1 2 a22 1 (3) 3) x3 (b a 31x ( = 1 a33 (3) 1 3) (b a 41x ( x4 = 1 a 44 Iteraia a IV a 1 ( 4) ( 3) x1 = a (b a12 x2 11 x ( 4) = 1 (b a x ( 4) 21 1 2 a22 1 ( 4) 4) x3 = (b a 31x ( 1 a33 ( 4) 1 4) (b a 41x ( x4 = 1 a 44
Iteraia a V a
2) ( 2) a1 3x ( 3 a1 4x 4 )
0.875 (3) 0.90278 rezult x = 0.93981 a 32x (23) a 34x (42) ) 0.96991
2) ( 2) a 23x ( 3 a 24x 4 ) 3) a 42x (23) a 43x ( 3 )
3) ( 3) a1 3x ( 3 a1 4x 4 )
57
4) ( 4) a1 3x ( 3 a1 4x 4 )
Teorema 1. Dac matricea A este simetric i pozitiv definit, procesul iterativ Gauss Seidel este convergent. Demonstraia rezult din analiza descreterii funciei ptratice F prin trecerea de la o iteraie la alta. O alt demonstraie se bazeaz pe faptul c se poate arta c dac A este simetric i pozitiv definit, atunci ( M ) < 1 i conform Teoremei 2 din 7, procesul iterativ este convergent.
( ( (
) )
Dac = 1, obinem din nou formulele (1) din 10. Dup efectuarea calculelor rezult:
58
-1a v( 1 ) + ( 1 1 )a v( 0 ) + a v( 0 ) + a v( 0 ) = b 11 1 11 1 12 2 13 3 1 (1 ) (0) (0) 1 -1 ( 1 ) (2) a21v1 + a22 v2 + ( 1 )a22 v2 + a23v3 = b2 (1) (1 ) (0) 1 -1 ( 1 ) a31v1 + a32v2 +a33 v3 + ( 1 )a33v3 = b3 Dac introducem notaiile 0 0 0 0 0 a11 E = a 21 0 0 , D = 0 a 22 0 i F=ET , a 0 0 a33 31 a32 0 relaiile (2) capt forma matricial (3) (E+ 1D)v(1) + [F+(1 1)D]v(0) = b . n general, pentru un sistem de n ecuaii, irul de vectori v(m) satisface relaia: (E+ 1D) v(m+1) + [F+(1 1)D] v(m) = b . (4) n continuare avem v(m+1)= (E+ 1D) 1 [F+(1 1)D] v(m)+ (E+ 1D) 1b . Notm cu M () = ( E + 1 D) 1 F + (1 1 ) D . (5) 1 1 C () = E + D b
Obinem astfel procesul iterativ (6) v(m+1) =M( )v(m) + C() . Pentru = 1 obinem algoritmul Gauss Seidel (vezi (4), (5), (6) din 10). Parametrul optim, opt, va fi acela pentru care raza spectral a matricei M() va fi minim. Evident, pentru acest parametru se obine cea mai rapid convergen. Se poate demonstra urmtoarea teorem.
Teorema 1. Dac matricea A este simetric i pozitiv definit, metoda suprarelaxrii este convergent pentru orice 0 < < 2. n particular, rezult c metoda Gauss Seidel este convergent dac A este simetric i pozitiv definit, deoarece corespunde cazului particular = 1. Determinarea parametrului optim, opt, este posibil n cazul matricelor bloc tridiagonale. Definiia 1. O matrice A se numete bloc tridiagonal, dac are urmtoarea structur:
59
0 L 0 D1 F1 0 0 E1 D2 F2 0 L 0 E 0 2 D3 F3 L , A = O M M L Em 2 Dm1 Fm1 0 0 L 0 Em1 Dm unde Di sunt matrice ptratice de diferite ordine, Ek i Fk sunt, n general, matrice dreptunghiulare. Fk are acelai numr de linii ca matricea Dk i acelai numr de coloane ca matricea Dk+1. Ek are acelai numr de linii cu Dk+1 i acelai numr de coloane cu Dk. n afara matricelor care intr n band, toate elementele sunt nule. Dac, n plus, matricele Di sunt diagonale, A se numete diagonal bloc tridiagonal. Prezentm de asemenea fr demonstraie urmtoarea teorem. Teorema 2. Fie A o matrice simetric, pozitiv definit i diagonal tridiagonal. 2 , unde Atunci parametrul optim de relaxare este dat de relaia opt = 2 1 + 1 1
60
1 1 0 3 3 =0, 1 1 0 3 3 1 0 0 2
1 2
i =
4 7 18
1 =0.60763 .
2 1+
2 1 1
=1.11469 .
=M( )x + C() , unde Procedeul iterativ x 0.55734 0 0 0.11469 0.55734 0.0924 0.37156 0 0.04261 0.57865 , C ( ) = , M ( ) = 0.01583 0.58657 0.03433 0.02337 0.37156 0.00882482 0.01913 0.01303 0.0924 0.88426 conduce la urmtoarele valori ale vectorului soluiilor pentru primele cinci iteraii: 0.55734 0.81593 0.92431 0.99166 (1) 0.57865 ( 2) 0.82631 (3) 0.96946 ( 4) 0.99595 , x = , x = , x = , x = 0.58657 0.93988 0.98803 0.99825 0.88426 0.97976 0.99565 0.99953
0.9987 (5) 0.99933 . x = 0.99978 0.99993
61
Fie v(0) un vector de prob i r(0)=Av(0) b vectorul rezidual corespunztor. n metoda gradienilor conjugai pentru rezolvarea sistemului Ax=b, prima direcie de relaxare se alege p(1) = r(0) . n continuare avem: t min = r ( 0 ) ,p (1) Ap (1) ,p (1) = r (0) ,r (0) Ap (1) ,p (1) , (1) (2)
unde
q1 = t min =
Valoarea minim a funciei F=F(v), prin v(0) i are direcia p(1)= r(0) este v(1). Fie
(4)
Urmtoarea direcie de relaxare p(2) se alege de forma p(2)= r(1)+c1p(1) i n plus s fie conjugat direciei p(1) n raport cu A. Aadar, avem:
0 = Ap (2) ,p (1) = p (2) ,Ap (1) = r (1) ,Ap (1) + c1 Ap (1) ,p (1)
Avem de asemenea
62
(2)
=v
(1)
+ t min p
(2)
=v
(1)
r (1) ,p (2) Ap
(2)
,p
(2)
p (2) .
(6)
p ( k ) = r ( k 1) + ck 1 p ( k 1) ,
qk =
vk = v ( k 1) + qk p ( k ) . (10) Metoda gradienilor conjugai este definit de formulele (7) (10). n continuare prezentm unele simplificri i proprieti suplimentare. Deoarece r(k 1) este ortogonal pe direcia p(k 1) rezult
r ( k 1) , p ( k ) = r ( k 1) , r ( k 1) + c k 1 p ( k 1) = r ( k 1) , r ( k 1)
Pe de alt parte, din (10) avem r ( k ) = Av ( k ) b = Av ( k 1) + qk Ap ( k ) b = r ( k 1) + qk Ap ( k ) . Obinem deci urmtoarea relaia de recuren (11) r ( k ) = r ( k 1) + qk Ap ( k ) . Observm c
r ( k ) ,r ( k 1) = 0 .
,Ap
(k)
= r
( k 1)
,r
( k 1)
r ( k 1) , Ap ( k ) Ap
(k )
, r
( k 1)
+ c k 1 p
( k 1)
63
Deoarece Ap(k) oricum trebuie calculat, rezult c vectorul rezidual r(k) se va calcula din relaia de recuren (11) i nu prin nlocuirea direct a lui v(k) n expresia Av=b. n continuare vom stabili o alt formul pentru coeficientul ck 1. Din (11) i (12) rezult
r ( k 1) ,Ap ( k 1) = r (k 1) ,
1 qk 1
(r
( k 1)
r ( k 2) =
1 qk 1
r ( k 1) ,r ( k 1) .
Algoritm pentru rezolvarea sistemelor de ecuaii liniare cu metoda gradienilor conjugai Calculeaz
r ( 0 ) = Av( 0 ) b ; p ( 1 ) = r ( 0 ) ;
q1 = r ( 0 ) ,r ( 0 ) Ap
(1) (1)
,p
; v( 1 ) = v( 0 ) + q1 p( 1 ) ; r ( 1 ) = r ( 0 ) + q1 Ap( 1 ) ;
,r
; p(k) = r (k 1 ) + ck 1 p(k 1 ) ;
qk =
r (k 1 ) ,r (k 1 ) Ap ,p
(k) (k)
sfrit pentru k . n Mathcad algoritmul de mai sus este aplicat unui exempu.
64
1 2
2 1
Algoritmul metodei gradientilor conjugati < 0> r p q A .x b < 0> r < 0> . < 0> r r . A p .p < 0> r <k r <k r <k r <k r q .A .p
1> 2>
GrCon( A , b , x, n )
x x q .p < 1> r
1> 1>
c .p
1>
A .p .p <k r
1>
x x q .p < k> r x q .A .p
1 GrCon( A , b , x, n ) = 1 1 1
65
Teorema 1. n metoda gradienilor conjugai direciile de relaxare p(k), (k=1,2,...) sunt conjugate dou cte dou n raport cu matricea A, iar vectorii reziduali r(k), (k=0,1,...) sunt ortogonali doi cte doi. Demonstraie.
Demonstraia se face prin inducie relativ la k . Pentru k=1 avem r (1) , r (0) = 0 din (4), iar pentru prima afirmaie nu avem ce arta. Ipoteza de inducie este:
r (i ) , r ( j ) = 0 p (i ) , Ap ( j ) = 0
jk ,
1ijk .
Va trebui s artm c
r (k +1 ) ,r (j) = 0 , p ( k +1) , Ap ( j ) = 0 , pentru
= r (k),Ap(j)
deoarece
Pe de alt parte,
r (k) ,Ap(j) = 0 .
Aadar am demonstrat (18). Pentru j=k, (17) este adevrat din (12). Fie 0j<k. Din (11) i (15) rezult:
r (k +1 ) ,r (j) = r (k)+q k+1 Ap (k+1 ) ,r (j) = q k +1 Ap ( k +1) , r ( j ) = = q k +1 Ap (k+1 ) ,-p (j) + c j 1 p (j 1 )
innd seama de (18) i de faptul c A este simetric, rezult cu aceasta teorema este demonstrat.
r (k +1 ) ,r (j) = 0 i
Din Teorema 1 rezult c vectorii reziduali r(k) sunt ortogonali doi cte doi i deci sunt liniar independeni (dac sunt nenuli). Aadar, nu pot exista (n+1) vectori reziduali nenuli. Rezult c n metoda gradienilor conjugai soluia exact
66
se gsete n cel mult n pai. Teoretic ar trebui ca vectorul rezidual r(n) s fie zero i deci v=v(n) s fie soluia exact a sistemului. n practic acest lucru nu se ntmpl, deoarece n determinarea vectorilor r(k) intervin erori de calcul, care fac ca acetia s nu formeze un sistem ortogonal. Deoarece n general r(n)0, continum s calculm r(k), k>n pn obinem un (k) vector rezidual nul sau foarte mic r << 1 . Aceast atitudine se justific prin faptul c metoda gradienilor conjugai este o metod de relaxare prin care valoarea funciei ptratice F=F(v) se micoreaz la fiecare pas. Metoda gradienilor conjugai se dovedete foarte util pentru sistemele n care matricea A are multe zerouri i fiecare ecuaie are o anumit regularitate intern. Astfel de sisteme apar n procesul de discretizare a problemei la limit a ecuaiilor cu derivate pariale de tip eliptic.
(2)
(3)
Definiia 1. Se numete soluie n sensul celor mai mici ptrate a sistemului (1), acel vector x* , pentru care funcia (2) are valoarea minim.
Dac:
xR n
67
xR
x=x*
este un substitut pentru soluia sistemului i anume soluia n sensul celor mai mici ptrate. Funcia f se poate pune sub forma f(x)= r,r = Ax-b,Ax-b = Ax,Ax 2 Ax,b + b,b i mai departe
f(x)= AT Ax,x 2 AT b,x + b,b
(4)
Teorema 1. Dac rangA = n, atunci sistemul (1) admite o singur soluie n sensul celor mai mici ptrate i aceasta este soluia (unic) a sistemului.
AT Ax=AT b (5) (Sistemul (5) se numete sistemul normal al lui Gauss). Demonstraie. Punctele de extrem ale funciei ptratice f dat de (4), se caut printre punctele sale critice, iar acestea, se afl rezolvnd sistemul: grad f = 0 Cum grad f=ATAx ATb, obinem sistemul ATAx=ATb. Pe de alt parte se tie c: rang A=rang AT =rang AT A =rang AAT . Matricea B=ATA este o matrice ptratic de ordinul n i rangB=n, conform celor de mai sus. Rezult c sistemul (5) admite o soluie unic, x=x*, care este punct critic pentru f. Matricea B este evident simetric i semipozitiv definit. Mai mult, n ipoteza noastr, matricea B este pozitiv definit. ntr adevr, dac presupunem c Bx,x = 0 , atunci rezult Ax,Ax = 0 i deci Ax=0. Cum rang A=n<m rezult x=0. Pe de alt parte avem
( )
( )
Aadar, n ipoteza rangA=n, soluia sistemului (1), n sensul celor mai mici ptrate, este unic i se afl rezolvnd sistemul (5). Acest sistem este simetric pozitiv definit. Rezolvarea sa se poate face prin metoda Cholesky sau una din metodele de relaxare.
Observaia 1. Teoretic, soluia sistemului (5) este x*=(ATA) 1ATb. Matricea P=(ATA) 1AT se numete pseudoinversa matricei (dreptunghiu lare) A.
68
Se observ c dac A este ptratic, atunci P=A 1(AT) 1AT=A 1, deci noiunea de matrice pseudoinvers generalizeaz noiunea de matrice invers (pentru matrice dreptunghiulare). Rezolvarea practic a sistemului (5) ridic probleme din cauza faptului c numrul de condiionare al matricei B=ATA este mare. Fie 1 2 ... n > 0 valorile proprii ale matricei B. Atunci: cond(B) = 1 . (6) n Cum Bx,x Bx,x min Bei ,ei = minbii , 1 = sup max Bei ,ei = maxbii i n = inf x0 x,x i i i i x0 x,x
rezult
cond( B)
maxbii . minbii
(7)
Exemplul 1. (Dreapta de regresie) S presupunem c vrem s gsim o dreapt y=mx+n care s treac prin punctele: M1(0,0) ; M2(2,1) ; M3(5,3) ; M4(8,5) ; M6(10,6) Se obine astfel sistemul 0 m+n=0 2 m+n=1 . (8) 5 m+n=3 8 m+n=5 10 m+n=6 Evident, sistemul (8) este supradimensionat i incompatibil. Avem: 0 1 0 2 1 1 193 25 117 A = 5 1 ; b = 3 ; B = AT A = ; AT b = 15 . 25 5 8 1 5 10 1 6 Ecuaiile normale ale lui Gauss sunt 193m + 25n = 117 . 25m + 5n = 15
21 3 ,n = , iar valorile proprii sunt 1 = 196.268 i 34 34 2 = 1.732 . Rezult cond( B ) 113 . Dac folosim estimarea (7) obinem m=
69
21 3 x . Aceast dreapt nu trece 34 34 prin punctele Mi, dar este acea dreapt din plan care trece cel mai aproape de aceste puncte. S presupunem c vrem s determinm dreapta de regresie corespunztoare punctelor M i ( xi ,yi ) , i = 1,n . Matricele 1 1 n(n + 1)(2n + 1) n(n + 1) 2 1 T 6 2 i B = A A = A= n(n + 1) M M n n 1 2 conduc la max bii (n + 1)(2n + 1) n 2 = > . min bii 6 3 Pentru n=100, cond(B)>13333, deci sistemul normal al lui Gauss este prost condiionat.
y=
Sistemele subdimensionate apar n probleme legate de ajustarea datelor. S presupunem c msurnd n cantiti x1, x2, ... , xn, gsim valorile l1, l2, ... , ln. Pe de alt parte, necunoscutele x1, x2, ... , xn satisfac anumite ecuaii i anume a11 x1 + ... + a1n xn = b1 (9) , m<n . ........................ a x + ... + a x = b mn n m m1 1 Datorit lipsei de acuratee a msurtorilor se pune condiia ca suma ptratelor coreciilor extrem cu legturi.
i =1 2 (li xi ) s fie minim. Se obine astfel o problem de n
Exemplul 2. S presupunem c msurnd unghiurile x1, x2, x3 ale unui triunghi gsim valorile l1, l2, l3. Evident avem legtura x1+ x2+ x3 = 180 . Impunem condiia ca abaterile datorate impreciziei msurtorilor s fie ct mai mici, deci ca expresia (x1 l1 )2 + (x2 l2 )2 + (x3 l3 )2 s fie minim.
70
Revenind la cazul general, se pune problema s determinm n necunoscute x1, x2, ... , xn care satisfac legturile (9) i care minimizeaz funcia: f(x1,...,xn ) = (x1 l1 )2 + ... + (xn ln )2 . Considerm funcia auxiliar ( x1 ,..., xn , 1 ,..., m ) = ( x1 l1 ) 2 + ... + ( xn ln ) 2 21 (a11x1 + ... + a1n xn b1 )... 2m (am1x1 + ... + amn xn bm ) Punctele critice ale funciei sunt date de sistemul x1 l1 (a111 + ... + am1m ) = 0 ............................................ xn ln (a1n 1 + ... + amn m ) = 0 . (10) a11 x1 + ................. + a1n xn b1 = 0 ................................................ am1x1 + ................. + amn xn bm = 0 Dac notm cu l = (l1 ,..., ln )T i cu = (1 ,..., m )T , atunci sistemul (10) se scrie sub forma matricial
Dac rang A = m , atunci rang ( AA ) = m i sistemul (11) are soluie unic. Mai mult, matricea AAT este ptratic, simetric i pozitiv definit, deci rezolvarea sistemului (11) se poate face cu metoda Cholesky sau una din metodele de relaxare. Rezolvnd sistemul (11) gsim multiplicatorii lui Lagrange 1 ,..., m , iar din relaia x = AT + l determinm punctul de minim condiionat al funciei f.
2 2 (Cum d 2 = 2(dx1 + ... + dxn ) > 0 rezult c avem ntr adevr un punct de minim).
Exerciii
71
Folosind metoda Gauss s se rezolve urmtoarele sisteme de ecuaii liniare: =2 6 x1 + x2 x3 + x4 x + 7x + 2x x = 1 1 2 3 4 1. x1 + 2 x2 + 8 x3 + x4 = 12 = 5 x1 x2 + x3 + 9 x4 1.0 0.1667 0.1667 0.1667 1.0 0.3171 0.1707 ~ 0 R. Matricea triunghiular A = , 0 0 1.0 0.2150 0 0 0 1 .0
0 .333 ~ 0 .1951 . vectorul termenilor liberi transformat b = 1 .7850 1 .0 1 1 Soluia sistemului x = 2 1 4 x1 + x2 x3 + x4 x + 8x + x + x 1 2 3 4 2. x1 + x2 + 6 x3 + x4 x1 + x2 + x3 + 7 x4
=1 =7 = 10 = 12
0.2500 0.0968 , 0.1105 1.0
1.0 0.2500 0.2500 1 .0 0.1613 ~ 0 R. Matricea triunghiular A = 0 0 1 .0 0 0 0 0.2500 ~ 0.8710 vectorul termenilor liberi transformat b = 1.7789 2 .0 Soluia sistemului x = (1 1 2 2).
72
3.
5 x1 + x2 + x3 + x4 x + 8x + 2 x + x 1 2 3 4 x x 6 x x + + 3 4 1 2 + + + x x x x 3 4 1 2
= 14 = 127 = 15 = 10
1.0 0.2000 0.2000 0.2000 1 .0 0.2308 0.1026 ~ 0 , R. Matricea triunghiular A = 0 0 1 .0 0.1558 0 0 0 1.0 2.8000 ~ 3.1026 vectorul termenilor liberi transformat b = . 2.3766 4 .0 Soluia sistemului x = (1 2 3 4).
73
5.
8 x1 x2 x3 + x4 x + 6 x + x 2 x 1 2 3 4 x x 7 x x + + + 3 4 1 2 + + x 2 x x 9 x 2 3 4 1
=7 =6 = 8 = 11
R.
0 0 0 2.82843 2.42384 0 0 T 0.35355 . R = 0.361 2.59705 0 0.35355 0.35355 0.77357 0.54071 2.82564
2.47487 2.83641 T Soluia sistemului R y=b este y = iar cea a sistemului Rx=y , i 3.13776 2.82564 1 1 deci soluia sistemului iniial este x = . 1 1
6.
6 x1 + x2 2 x3 x4 x + 5x + x x 1 2 3 4 + + 2 x x 11 x 1 2 3 x4 x1 x2 x3 + 4 x4
= 19 = 15 =8 = 10
R.
0 0 0 2.44949 2.19848 0 0 T 0.40825 . R = 3.15682 0 0.8165 0.60648 0.40825 0.37905 0.34954 1.88878
7.75672 5.3825 T Soluia sistemului R y=b este y = , iar cea a sistemului Rx=y , i 3.50636 1.88878 deci soluia sistemului iniial este x= (3 2 1 1).
74
7.
R.
Folosind metoda Householder, s se rezolve sistemele: =2 4 x1 + 3x2 2 x3 + x4 5 x + 6 x + 7 x 8 x = 14 1 2 3 4 + 9 x 8 x 7 x 6 x 2 3 4 = 30 1 =0 x1 + x2 x3 x4 det(A)= 1112; descompunerea A=QR este dat de 0.3607 0.3882 0.7877 0.3143 0.4508 0.7068 0.5445 0.0257 , Q= 0.8115 0.5787 0.0784 0.02 0.0902 0.1217 0.2774 0.9487
.0905 2.6148 8.0249 8.0249 11 .1569 0.0016 1.9155 10 0 . R = 0 0 6.2130 5.83368 0 0 0 1.58889 29.9354 8.2430 Soluia sistemului Qy=b este y = , 11.5498 1.5888 iar cea sistemului Rx=y este x=(1 1 1 1). x1 + 2 x2 3 x3 4 x4 = 16 5 x 6 x + 7 x 8 x =2 1 2 3 4 . 8. 9 x1 + 8 x2 + 7 x3 + 6 x4 = 6 4 x1 3 x2 + 2 x3 x4 = 2
R.
det(A)= 2808; descompunerea A=QR este dat 0.09017 0.17005 0.78843 0.58424 0.45083 0.71359 0.2494 0.47469 , Q= 0.8115 0.55307 0.18504 0.03651 0.36067 0.39494 0.53098 0.65727
0.541 11.09054 2.88534 9.2872 10.23107 2.42367 8.7419 0 R = 0 0 4.3444 2.79972 0 0 0 5.69631 .
75
6.49202 5.40201 Soluia sistemului Qy=b este y = , 9.94384 11.39263 1 2 iar cea sistemului Rx=y este x = . 1 2 4 x1 + 3x2 + 2 x3 + x4 = 2 x + 2 x + 3x + 4 x = 2 1 2 3 4 9. . 9 x1 8 x2 + 6 x3 7 x4 = 30 =4 x1 x2 + x3 x4
R.
det(A)= 80 ; descompunerea A=QR este dat de 0.0697 0.40202 0.82257 0.3961 0.1005 0.39663 0.90448 0.12039 , Q= 0.90453 0.4028 0.05925 0.12673 0.1005 0.06173 0.14663 0.98213
9.94987 5.92972 6.63325 6.5451 0.3565 0 R= 0 0 2.42341 0 0 0 5.62821 5.29041 . 2.66043 0.50691
76
b) c)
A 1,
A 2,
A;
A1 ,
1
A1 ,
2
A1
cond1(A) , cond2(A) , cond(A) . 0 0.3333 1 0.6667 0 0.6667 1 1 0.3333 R. a) det(A)=6, A = , 1 0 .5 1 1.5 0 0 .5 0 0.5 det(A1)=0.1667; A 1 = 6, A 2 = 5.7446, A = 7 ; b) A1 = 3, A1 = 2.848, A1 = 4 . 1 2 c) cond1(A)=18, cond2(A)=12.7511, cond(A)=28 . 11. S se calculeze: a) det(A) , A1, det(A1); b) c)
A 1,
A 2,
A;
A1 ,
1
A1 ,
2
A1
A 1 = 6, A 2 = 5.7446, A = 7 ; b) A1 = 3, A1 = 2.848, A1 = 4 . 1 2 c) cond1(A)=68.25, cond2(A)=48.28525, cond (A)=77.5 . Folosind metoda Iacobi s se gseasc soluia aproximativ pentru urmtoarele sisteme de ecuaii liniare :
77
12.
5 x1 x2 x3 x1 + 6 x2 + x3 x x + 7 x 3 1 2
0 = 0 , este: 0
1 1.12381 ( 2) x = 0.66667 , x = 1.04762 , 1.28571 1.04762 1 0.98939 (3) ( 4) x = 1.02857 , x = 0.99592 . 0.97551 0199592
(1)
x* x ( 4) = 0.01208 .
13.
6 x1 + x2 x3 + x4 x + 7x + x x 1 2 3 4 x 2 x 8 x x + + + 2 3 4 1 + + + x x x 9 x 3 4 1 2
=2 = 4 =6 8
78
0.16667 0.16667 0.33333 0 0.14286 0.14286 0 0.14286 B= 0.125 0.25 0.125 0 0.11111 0.11111 0.11111 0
0.33333 0.57143 1 c=D b = , B 2 =0.5989, (B)= 0.27926. Soluia pentru primele 0.75 0.88889 0 0.33333 (0) 0 (1) 0.57143 4 iteraii, pornind cu x = , este: x = , 0 0.75 0 0.88889 0.84987 0.95117 0.9886 (2) 0.85317 (3) 0.96542 ( 4) 0.98884 , x = , x = . x = 0.9623 0.97528 0.99689 0.94577 0.99544 0.99567 1 1 Soluia exact fiind x* = , eroarea care se face dac se reine ca soluie 1 1
x* x ( 4) = 0.01682 .
14.
79
0.25 0 0.25 0.25 0.14286 0.14286 0 0.14286 B= , 0.16667 0.16667 0.16667 0 0.11111 0.11111 0.11111 0 0.75 2 1 c=D b = , B 2 =0.60753, (B)= 0.22758. Pentru primele 4 iteraii, 3.5 4.22222 0 0.75 2 (0) 0 (1) pornind cu x = , soluia este: x = , 0 3 .5 0 4.22222 1.06944 1.00711 0.99663 ( 2) 1.99603 (3) 1.98545 ( 4) 1.99883 , x = , x = . x = 3.00463 2.99239 2.99784 3.97222 3.99133 3.99844 1 2 Soluia exact fiind x* = , eroarea care se face dac se reine ca soluie 3 4
aproximativ x(4) , este x* x ( 4) = 0.00417 . S se rezolve cu metoda GaussSeidel urmtoarele sisteme: 5 x1 2 x2 2 x3 = 3 15. x1 + 6 x2 x3 = 2 x 3 x + 4 x = 8 2 3 1 5 2 2 R. Se observ c matricea coeficienilor sistemului A = 1 6 1 este tare 1 3 4 diagonal dominant i atunci algoritmul GaussSeidel este convergent. Sistemul se poate pune sub forma x(m+1)=(D+L)1(Ux(m)+b), m0, unde: 0 0 5 0 0 0 2 2 0 L = 1 0 1 , D = 0 6 0 . 0 0 , U = 0 0 0 4 0 1 3 0 0 0 Atunci
80
( D + L)
. Se obin pornind cu x
( 0)
0 = 0 , vectorii: 0
(1)
0.6 0.30333 0.73531 ( 2) (3) = 0.23333 , x = 0.72139 , x = 0.89203 , 2.025 2.61687 2.85285 0.89795 ( 4) x = 0.95847 . 2.94334
16.
6 x1 x2 2 x3 + x4 2x + 6x x x 1 2 3 4 x 3 x 8 x 2 x4 + + 2 3 1 x1 + x2 + x3 + 4 x4
=2 =8 =2 = 1
81
6 0 D= 0 0
0 6 0 0
0 0 8 0
0 0 0 4
0 0 0 0.16667 0.16667 0 0 1 0.05556 Atunci ( D + L) = 0 0.0625 0.125 0 0.02778 0.05729 0.03125 0.25
0.33333 0.16667 0 0.16667 0.22222 0 0.05556 0.05556 1 (D+L) U = , 0.1875 0 0 0.0625 0 0.02778 0.11285 0.03299 0.33333 1.22222 1 (D+L) b = . 0.75 0.82639 0 0.5 0.95573 1 (0) 0 (1) ( 2) 1.02778 Alegnd x = , obinem: x = , x = , 0 0.9375 0.96973 0 0.85938 0.98831 0.99259 0.99803 0.99971 (3) 0.99937 ( 4) 1.00048 (5) 1.00006 , x = , x = . x = 0.99592 0.99918 0.99984 0.99697 0.99942 0.9999
=7 10 x1 x2 x3 + x4 x + 11x x x = 10 1 2 3 4 17. x1 x2 + 12 x3 + x4 = 22 = 24 x1 + x2 + x3 + 13x4 R. Se observ c matricea coeficienilor sistemului 10 1 1 1 1 11 1 1 A= 1 1 1 12 1 1 1 13 este tare diagonal dominant i algoritmul GaussSeidel este convergent.
82
10 0 0 0 0 11 0 0 D= 0 0 12 0 0 0 0 13
Atunci
0 .1 0 0 0 0.09091 0 0 1 0.00909 , ( D + L) = 0.00758 0.00758 0.08333 0 0.00758 0.00758 0.00641 0.07692 0.1 0 .1 0.1 0 0.1 0 0.00909 0.08182 1 (D+L) U = , 0 0.00758 0.01515 0.08333 0 0.00758 0.01515 0.00641 0 .7 0.97273 1 (D+L) b = 1.81061 1.96445
0 0 .7 (0) 0 (1) 0.97273 Alegnd x = , obinem: x = , 0 1.81061 0 1.96445 0.98023 0.99793 0.99993 ( 2) 1.01219 (3) 1.00001 ( 4) 1.00001 , x = , x = , x = 1.99437 1.99958 1.99998 1.99711 1.99999 1.99999 1 ( 5 ) 1 x = . 2 2
83
Folosind metoda relaxrii simple s se scrie soluia aproximativ pentru urmtoarele sisteme: =3 8 x1 x2 + x3 18. x1 + 6 x2 x3 = 14 x x + 9x = 28 3 1 2 8 1 1 R. Matricea sistemului este A = 1 6 1 . 1 1 9 0 3 (1) (1) Lund vectorul de prob x = 0 se obine r = 14 , deci prima direcie 0 28 0 0 (1) ( 2) 0 de relaxare este p = e3 = 0 . Rezult x = . 1 3.11111 Analog : 0 6.11111 0 ( 2) (3) r = 10.88889 , p = e2 = 1 , x = 1.81481 ; 0 3.11111 0 7.92593 1 0.99074 (3) (3) 0 r (3) = , p = e1 = 0 , x = 1.81481 ; 1.81481 0 3.11111
( 2)
( 4)
. a. m. d. 10 x1 + x2 x3 x4 x + 9x x + x 1 2 3 4 19. + + x x 11 x 3 x4 1 2 x1 + x2 + x3 + 8 x4
=9 = 24 = 30 = 32
84
0 (1) 0 Alegnd x = 0 0
0 0 (1) Deci p = e4 = 0 1 Mai departe obinem : 0 0 8.09091 0 0 (3) (3) 16.90909 ( 2) ; r = p = e3 = , x = , 1 3.090901 0 0 4 3.09091 0 1 0.99697 0 ( 4) 1.87879 (5) 1.87879 ( 4) ; p = e1 = , x = ; x = 3.09091 0 3.09091 4 0 4 0 0.99697 1 (6) 1.98956 ( 5) , p = e1 = x = 0 3.09091 0 4
9 (1) 24 se obine r = . 30 32 0 5 ( 2) 0 ( 2) 20 , x = r = . 0 34 4 0
20.
4 x1 2 x2 + x3 2 x1 + 6 x2 x3 x x + 5x 3 1 2
=9 =5 =6
1 4 2 R. Matricea A = 2 6 1 este simetric, tare diagonal dominant: 1 1 5 4 > 2 + 1 , 6 > 2 + 1 , 5 > 1 + 1 , 1=4 , 2=20 , 3=94 , deci pozitv definit i se poate aplica metoda. Lund vectorul de prob
85
0 9 1 2.25 (1) (1) ( 2) x = 0 se obin: r = 5 , p = e1 = 0 , x = 0 ; 0 6 0 0 0 0 2.25 3.16667 ( 2) ( 2) (3) (3) r = 9.5 , este p = e2 = 1 , x = 1.58333 ; r = 0 3.75 0 0 5.33333
(1)
, p
(3)
S se scrie soluia aproximativ pentru urmtoarele sisteme de ecuaii liniare obinut cu metoda suprarelaxrii: =3 2 x1 x2 21. x1 + 3 x2 x3 = 5 x2 + 4 x3 = 5 R. Matricea coeficienilor sistemului este bloc tridiagonal, simetric i pozitiv definit, deci metoda suprarelaxrii este convergent. Sistemul se poate pune sub forma: x(m+1)=Mx(m)+C, 1 m0, unde: M = E + D 2 0 0 0 1 1 C = E + b , E = 1 0 0 , D = 0 0 0 1 0
2 1+
2 1 1
1 F + 1 D , 0 0 3 0 , F=ET , 0 4
86
(1)
1.28719 1.64605 1.03385 ( 2) (3) = 0.10088 , x = 0.85027 , x = 0.98314 , 0.95373 1.04344 1.0014 1.00661 ( 4) x = 0.99835 . 1.00034
= 13 14 x1 + x2 x + 5 x2 x3 = 3 1 22. x2 + 14 x3 2 x4 = 15 2 x3 + 5 x4 = 7 R. Matricea coeficienilor sistemului este bloc tridiagonal, simetric i pozitiv definit, deci metoda suprarelaxrii este convergent. Sistemul se poate pune sub forma
x
(m+1)
=Mx +C,
1
(m)
m0,
unde
M
0 0 0 0
1 C = E +
0 0 0 0 1 0 b , E = 0 1 0 0 0 2
1 1 = E + D F + 1 D , 14 0 0 0 0 5 0 0 , D= , F=ET , 0 0 14 0 0 0 0 5
2 1+
2 1 1
, 1
x(0) = b, rezult: 0.91242 1.20542 0.98111 (1) 3.79769 ( 2) 0.79542 (3) 0.99288 , x = , x = , x = 0.05784 0.96444 0.99882 1.26758 1.0093 1.0003 0.99985 0.99999 ( 4) 0.99987 (5) 0.99999 , x = . x = 0.99997 1 1.00001 1
S se gseasc soluia aproximativ obinut cu metoda GaussSeidel pentru sistemele de ecuaii liniare urmtoare:
87
= 13 14 x1 + x2 x + 5 x2 x3 = 3 1 23. x2 + 14 x3 2 x4 = 15 2 x3 + 5 x4 = 7 S se precizeze numrul de iteraii necesare pentru ca eroarea s se micoreze de 10 ori. R. Matricea A fiind simetric i pozitiv definit procedeul iterativ GaussSeidel este convergent. Sistemul se poate pune sub forma x(m+1)=Mx(m)+C , m0, unde 0 0 0 0 0 0 1 0 1 1 M = (D+E) F , C = (D+E) b , E = , F = ET, 0 1 0 0 0 0 2 0
0 0 0 5 0 0 . 0 14 0 0 0 5 0 0 0 0.07143 0.92857 0 .2 0 0 0.01429 0.78571 Deci M = , C = . 0 0.00102 0.01429 0.14286 1.12755 0 0.94898 0.0004 0.000571 0.05714 Dac se pornete cu v(0) = b obin vectorii: 1.14286 1.20204 0.99353 (1) 3.82857 ( 2) 0.90939 (3) 0.98992 , v = , v = , v = 0.3449 0.95609 0.99677 1.26204 1.01756 1.00129 14 0 D= 0 0 0.99928 0.99994 ( 4) 0.99921 (5) 0.99994 , v = . v = 0.99976 0.99998 1.0001 1.00001 Raza spectral este (M)=0.0748, rata de convergen este R(M)= lg((M))=1.12609 i numrul de iteraii dup care eroarea scade de 10 ori 1 =0.88803, adic la fiecare iteraie eroarea scade de 10 ori. este K R(M )
88
=5 5 x1 + x2 x3 = 10 24. x1 + 8 x2 + x3 x + x + 15 x = 15 3 1 2 S se precizeze numrul de iteraii necesare pentru ca eroarea s se micoreze de 10 ori. R. Matricea A fiind simetric i pozitiv definit procedeul iterativ GaussSeidel este convergent. Sistemul se poate pune sub forma x(m+1)=Mx(m)+C , m0, unde 0 0 0 5 0 0 1 1 T M = (D+E) F , C = (D+E) b , E = 1 0 0 , F = E , D = 0 8 0 1 1 0 0 0 15 . 0.2 0.2 1 0 M = 0 0.12 , C = 0.9 . Deci 0.02 1.0067 0 0.01467 0.02133 Dac se pornete cu v(0) = b obin vectorii: 2 1.376 1.05954 1.04563 (1) ( 2) (3) ( 4) v = - 0.7 , v = 0.7444 , v = 0.78984 , v = 0.79364 , 1.18 1.04211 1.01798 1.0168 1.04463 ( 5) v = 0.79386 . 1.01672 Raza spectral este (M)=0.06262, rata de convergen este R(M)= lg((M))=1.20326 i numrul de iteraii dup care eroarea scade de 10 ori 1 =0.83108, adic la fiecare iteraie eroarea scade de 10 ori. este K R(M ) S se scrie soluia aproximativ sistemelor de ecuaii liniare: x3 6 x1 + x2 + 8 x2 + x3 25. x1 x + x + 10 x3 2 1 obinut cu metoda gradienilor conjugai aplicat =6 = 8 . = 12
89
R. Matricea coeficienilor sistemului este simetric i pozitiv definit i deci se 0 (0) poate aplica metoda. Lund x = 0 ca vector de prob, se obin rezultatele. 0 Iteraia I. 6 r =Ax0 b= 8 , prima direcie de relaxare, p(1)= r(0) , 12
(0)
Iteraia a II-a . r
(1)
=r
( 0)
+ q1 Ap
(1)
Iteraia a III-a. r
( 2)
=r
(1)
+ q2 Ap
( 2)
0.09832 r ( 2) , p (3) = 0.12133 , p = r +c2p = 0.12243 , q3 = Ap (3) , p (3) 0.03461 1 (3) (2) (3) x =x + q3p = 1 . 1
(3) (2) (2)
90
26. S se determine traseul optim pentru o conduct de gaze naturale care s treac prin "apropierea" localitilor Li , i=1,...,10 , care raportate la un sistem cartezian de referin au coordonatele urmtoare: L1(1,2), L2(2,2), L3(5,3), L4(7,4), L5(10,2), L6(11,3), L7(15,4), L8(16,5), L9(18,1), L10(20,4). R. Lund traseul dup o dreapt, se obine sistemul: a+b =2 2a + b = 2 5a + b = 3 7a + b = 4 10a + b = 2 11a + b = 3 15a + b = 4 16a + b = 5 18a + b = 1 20a + b = 4 care este supradimensionat. Se formeaz sistemul normal al lui Gauss Bu=c, unde 1505 105 340 B=ATA, c=ATb , adic: B = , a crui soluie este , c= 105 10 30 u1=0.06211 , u2=2.34783 . Raportat la acel sistem de coordonate traseul conductei trebuie s urmeze dreapta y = 0.06211x+2.34783 .
91
n care cel puin una din funciile f i , i = 1, n nu este liniar. Sub form vectorial sistemul se scrie F ( x) = 0 , (2) unde x = ( x1,x2 ,...,xn )T i F ( x) = [ f1 ( x1,...,xn ),..., f n ( x1,...,xn )]T Dac adunm x n ambii membri i notm cu G ( x) = x + F ( x), sistemul (2) se poate pune sub forma echivalent x = G ( x) (3) Evident, exist i alte metode de a pune sistemul (2) sub forma (3).
Exemplul 1. 2 f1(x1,x2 ) 2 x 2 1 + x2 5 = 0 (4) f 2(x1,x2 ) x1+2 x2 3 = 0 Se observ c prima ecuaie nu este liniar. Acest sistem se poate pune sub forma echivalent 2 x1 = 2 x 2 1+ x2 5 + x1 g1(x1,x2 ) . (4) x2=x1+3x2 3 g 2(x1,x2 ) Sistemul fiind foarte simplu se poate rezolva cu metoda substituiei. nlocuind
2 x1 = 3 2 x2 n prima ecuaie obinem 9 x 2 24 x 2 + 13 = 0 , ecuaie care admite
rdcinile x1,2 =
4 3 . 3
92
Aadar soluiile exacte ale sistemului sunt 1 2 3 4 + 3 i M 2 1 + 2 3 , 4 3 . , M1 3 3 3 3 1 3 Fie D = [1,2] , o vecintate a punctului M2. n aceast vecintate 2 2 sistemul (4) se poate pune sub forma echivalent 2 ~ (x , x ) x1 = 5 x2 g 1 1 2 2 (4) 1 ~ (x , x ) x2 = (3 x1 ) g 2 1 2 2 (4) i (4) sunt variante echivalente (de tipul (3)) ale sistemului (4), n vecintatea punctului M2. n continuare prezentm dou metode numerice de rezolvare aproximativ a sistemelor neliniare.
g i ( x) , i = 1, n xD x j
j = 1, n
G C1 ( D) , G ( D ) D
funcii de mai multe variabile, rezult c pentru orice i = 1, n , exist i = x + i ( y x),0 < i < 1, astfel nct
93
g i ( x) g i ( y ) = innd seama c
M < 1 , rezult c aplicaia G : D D este o contracie. Conform teoremei de punct fix a lui Banach rezult c exist x* D, unic, astfel nct x* = G ( x*) . Aadar x* este soluia unic a sistemului (3) din domeniul D. Aceast soluie se afl cu metoda aproximaiilor succesive. Fie x (0) D oarecare i fie irul aproximaiilor succesive
x ( k +1) = G ( x ( k ) ),k 0 .
(3) i deci a sistemului echivalent (1), respectiv (2). Teorema lui Banach ne d i evaluarea erorii i anume
(k )
M x* x (1) x (0) . 1 M
(5)
Observaia 1. Teorema rmne valabil i dac norma M se nlocuiete cu alt norm de matrice, de exemplu M 1 sau M 2 .
1 3 Considerm din nou sistemul (4) din exemplul 1. n domeniul D = [1,2] , , 2 2 acest sistem este echivalent cu sistemul 2 x1 = 5 x2 g1 ( x1 , x2 ) 2 . 1 x2 = (3 x1 ) g 2 ( x1 , x2 ) 2 n acest domeniu, sistemul admite o singur soluie i anume
94
Deoarece x1 [1,2]
2 5 x2 11 19 3 1 3 x1 = g 2 ( x1, x2 ) i = g1 ( x1 , x2 ) , 2 2 2 8 2 8 deci 1 g1 ( x1 , x2 ) 2 . Aadar, dac (x1 , x2 ) D atunci (g1 (x1 , x2 ), g 2 (x1 , x2 )) D . n continuare avem g1 g1 g 2 x2 1 g 2 ; =0 , = = ; =0 2 2 x2 x1 x2 x1 10 2 x2 3 1 m11 = m22 = 0 ; m12 = ; m21 = 2 22
3 M = M 1= < 1 i 22
29 M 2= < 1. 44
( 0) ( 0) = 1.5 i x2 = 1 (centrul dreptunghiului). Alegem x1 Se obin urmtoarele valori pentru irul aproximaiilor succesive Nr. de iteraii 0 1 2 3 4 x1 1.5 1.414 1.490 1.478 1.488 x2 1.0 0.750 0.793 0.755 0.761
5 1.487 0.756
6 1.488 0.756
n continuare prezentm metoda aproximaiilor succesive pentru o singur ecuaie neliniar. Fie deci ecuaia f ( x) = 0 , x [a, b] . Aceast ecuaie se pune sub forma echivalent x = g ( x) , x [a, b] . Din Teorema 1 rezult c dac g C 1 [a, b] , g : [a, b] [a, b] i g = sup{ g ( x) ; x [a, b] } < 1
atunci ecuaia admite o singur rdcin n intervalul [a, b] i aceasta este x* = lim xk , unde x k +1 = g ( x k ) , k 0 , iar x0 [a, b] este arbitrar.
k
95
Se poate alege x0 = 0.3 . irul aproximaiilor succesive este 5 x k +1 = x k 0.2 . x 0 = 0.3 Se obin urmtoarele valori pentru irul aproximaiilor succesive Numrul 0 1 2 3 4 iteraiei x 0.3 0.20243 0.20034 0.20032 0.200322
5 0.20032
(0) (0) T x( 0 ) = x1 ,...,xn D este un punct apropiat de adic x (0) << 1 . Presupunem, de asemenea, c funciile f i , i = 1, n 1 sunt de clas C pe D. n aceste condiii, dac x D se afl ntr-o vecintate suficient de mic a punctului x(0) avem f i ( x) f i ( x (0) ) + df i ( x (0) )( x x (0) ), i = 1, n . Rezult c sistemul (1) se poate nlocui cu sistemul liniar apropiat f1 ( x (0) ) + df1 ( x (0) )( x x (0) ) = 0 . (2) ........................................ ( 0) ( 0) ( 0) f n ( x ) + df n ( x )( x x ) = 0 Sub forma vectorial sistemul (2) se scrie F ( x (0) ) + dF ( x (0) )( x x (0) ) = 0 (3) unde F = ( f1 , f 2 ,..., f n )T i dF = ( df1 ,..., df n )T . Deoarece sistemul (3) este apropiat de sistemul (1), ne ateptm ca soluia sa, x(1), s fie apropiat de soluia a sistemului (1).
96
Aadar x(1) verific relaia F ( x (0) ) + dF ( x (0) )( x (1) x (0) ) = 0 . n continuare considerm sistemul liniar F ( x (1) ) + dF ( x (1) )( x x (1) ) = 0 i ne ateptm ca soluia sa, x(2), s se apropie mai mult de . Aadar x(2) verific relaia F ( x (1) ) + dF ( x (1) )( x ( 2) x (1) ) = 0 . n general, considerm irul de vectori F (x
( p)
{ x ( p) }
cu proprietatea: (4)
) + dF ( x
i ne ateptm c x ( p ) s convearg la . Reamintim c pentru orice a D i orice h = (h1 ,...,hn )T R n , unde dF(a)(h) = J F (a)h,
{ }
( p)
)( x
( p +1)
( p)
)=0
f1 f1 (a ) ... (a) xn x1 ... ... J F (a) = ... f n f n (a ) ... (a) x1 xn Dac presupunem c JF() este nesingular, atunci, din continuitate, rezult c exist o vecintate V a punctului x =a, astfel nct JF(x) este nesingular pentru orice x V . n aceast condiie, din (4) rezult 1 ( p ) x ( p +1) = x ( p ) J F ( x ) F ( x ( p ) ), p 0 (5)
Teorema 1. Fie D R n o mulime convex, mrginit i nchis, D o soluie izolat a sistemului F(x) = 0 i fie r > 0 astfel nct bila
x < r D .
M 1 , x Br ( )
2 fk ( x) M 2 , x Br ( ), xix j
Atunci irul
{ x ( p) }
97
a) b)
x ( p +1)
2 1 2 n M 1M 2 x ( p ) 2
atunci irul
{ x ( p) }
este
( )(
p) p d 2 f k (( k )( x ) =
2 f k ( p) ( k )( i xi( p ) )( j x (j p ) ) x x i =1 j =1 i j
(6) (7)
F ( x ( p ) ) + dF ( x ( p ) )( x ( p ) ) = dF ( x ( p ) )( x ( p +1) ) Cum F()=0, din (6) i (7) obinem 2 1 dF ( x ( p ) )( x ( p +1) ) n 2 M 2 x ( p ) sau 2 2 1 J F ( x ( p ) )( x ( p +1) ) n 2 M 2 x ( p ) 2 n sfrit, innd seama i de ipoteza (ii) avem ( x ( p +1) )
1 ( p ) = JF ( x ) J F ( x ( p ) )( x ( p +1) )
(8)
1 ( p ) JF ( x ) J F ( x ( p ) )( x ( p +1) )
2 1 M1 M 2 n 2 x ( p) 2
98
c ( x ( p) )
2 2
(9)
c ( x ( 0) ) c ( x (1) )
c 3 ( x ( 0) )
2 p +1
. = 0, deci
< 1, atunci
lim ( x ( p +1) )
{ x ( p) }
este
Exemplu. Relum sistemul (4) din 1 2 f1(x1 , x2 ) 2 x 2 1 + x2 5 = 0 . f 2 (x1 , x2 ) x1 + 2x2 3 = 0 1 3 n domeniul D = [1,2] , sistemul admite o singur soluie i anume 2 2 1+ 2 3 1.4880338 1 = 3 4 3 0.7559831 2 = 3 4 x1 2 x2 ( 0) 3 ( 0) ; x1 = i x2 = 1 ; J F ( x1 , x2 ) = 1 2 2
1 5 3 5
99
11 1 3 3 0 5 2 = 5 1 = 2 . 3 1 2 3 1 1 4 5 2 4 10 Primele 3 iteraii sunt prezentate n tabelul urmtor Numrul iteraiei 0 1 2 3 x1 1.5 1.5 1.488095 1.488034 x2 1.0 0.75 0.755952 0.755983 x (1) 3 1 = x (1) 2 2 1
1 4 x1 x2 1 ( x) = JF 1 2( 4 x x ) 1 2
x2 4 x1 x2 4 x1 2(4 x1 x2 )
1 3 x1 [1,2] ; x2 , 2 2 1 + x2 1 + 4 x1 9 1 . JF ( x) = max , 4 x1 x2 2( 4 x1 x2 ) 5
Aadar, putem lua M 1 = 9 5
.
2 f1
2 x1
= 4;
2 f1 2 f1 2 f2 2 f2 2 f2 =0 ; =2 ; = = =0 2 2 2 x1 x2 x1x2 x2 x1 x 2
i deci M2 = 4 . 3 2 1,488 , ( 0) x = , x 0.06 . 2 0,756 1 2 1 1 9 M 1M 2 n 2 x (0) 4 4 0.06 = 0.864 < 1 2 2 5 Rezult c algoritmul Newton Raphson este convergent n acest caz.
( 0)
Observaia 1. Metoda Newton expus aici are un inconvenient major i anume 1 ( p ) faptul c la fiecare pas trebuie calculat inversa J F ( x ) . Din motive de continuitate, putem presupune c ntr-o vecintate suficient de mic a punctului 1 ( p ) 1 (0) (x ) J F ( x ) . Se obine astfel metoda Newton modificat x(0) avem J F
1 (0 ) ( x ) F ( v (p ) ) , p0 v ( p +1) = v ( p ) J F (10) (0 ) ( ) 0 v x = Observm c v(1)=x(1) dar, n general v(p)x(p) pentru p>1 . L. Kantorovici a studiat metoda Newton modificat i a dat condiii suficiente care asigur convergena algoritmului (10).
100
n continuare s analizm metoda NewtonRaphson pentru o singur ecuaie neliniar. F(x)=0 , x[a ,b ] . (11) Presupunem c ecuaia (11) admite o singur rdcin [a,b]. Algoritmul (5) revine la f (x p ) , p0 x p +1 = x p (12) f '(x p ) x [ a, b] 0
y B
a A
O x2 x1 x0 b
Din punct de vedere geometric, xp+1 reprezint abscisa punctului n care tangenta la graficul funciei f n punctul Mp[xp, f(xp)] ntlnete axa Ox. ntr-adevr, ecuaia tangentei la grafic n punctul M0[x0, f(x0)] este y f(x0) = f(x0)(x x0) . Fie x1 abscisa punctului n care aceast tangent ntlnete axa Ox. Avem i mai departe 0 f(x0) = f(x0)(x1 x0) x1 = x0 adic prima iteraie din (12). Fie m1 = inf{f(x) ; x[a,b]} . Atunci putem lua M 1 = 1 . Evident m1 f ( x0 ) f ' ( x0 )
101
Exemplul 2. Fie ecuaia F(x) x3 - 2x - 5 = 0 ; x[2,3] . Ecuaia admite o singur rdcin real (2,3) . F(2) = 1 < 0 ; F(3) = 16 > 0 . Algoritmul este x3 2 x p 5 x p +1 = x p p , p0 (13) 3x 2 p 2 x0 (2,3) arbitrar
1 ; f"(x) = 6x ; M2 = 18 10 1 9 2 M 1M 2 x0 < < 1 , 2 10 de unde rezult convergena irului {xp} definit de (13). Valorile obinute dupa primele 5 iteraii sunt trecute n tabelul de mai jos. f(x) = 3x2 2 ; M 1 = Numrul iteraiei x 0 2.5 1 2.16418 2 2.09714 3 2.09456 4 2.09455 5 2.09455
Exerciii
1. S se gseasc soluia aproximativ a sistemului =0 y 3 20 x 1 3 x + xy 10 y + 10 = 0 situat n dreptunghiul D =[-1, 1][0, 2], folosind metoda aproximaiilor succesive. y3 1 20 g1 ( x, y ) R. Considerm G : D D unde G ( x, y ) = = g ( x, y ) 2 x 3 + xy + 10 10 3 0 g 3 5 , iar M = , deci G M = (mij )1i, j 2 = sup i = 1 1 xD x j 5 1i, j 2 2 10
102
este o contracie i irul aproximaiilor succesive x(p+1) = G(x(p)) converge la soluia sistemului. Valorile obinute dup primele 3 iteraii sunt trecute n tabelul de mai jos. Numrul iteraiei 0 1 2 3 x 0.5 -0.0437 0.00583 -0.000679 y 0.5 1.0375 0.99545 0.99993 2. S se gseasc soluia aproximativ a sistemului x3 + y 3 6 x + 3 = 0 3 3 x y 6 y + 2 = 0
x(p+1) = G(x(p)) converge la soluia sistemului. Considernd x0=0.5 i avem: Numrul iteraiei 0 1 2 3 x 0. 0.54167 0.53266 0.53256 5 y 0. 0.33333 0.35365 0.35115 5 3. S se gseasc soluia aproximativ a ecuaiei e-x+10x-5=0 situat n intervalul [0, 1] , folosind metoda aproximaiilor succesive.
1 5 1 1 situat n dreptunghiul D = , , , folosind metoda aproximaiilor 2 6 6 2 succesive. x3 + y 3 1 + x= 6 2 i atunci R. Punem sistemul sub forma 3 3 y = x y + 1 6 3 3 3 g1 ( x, y ) = x + y + 1 6 2 este o contracie a lui D. ntr-adevr, G ( x, y ) = 3 3 x y 1 g 2 ( x, y ) = + 6 3 5 2 1 1 2 1 g 6 2 2 2 M = (mij )1i, j 2 = sup i , iar = 2 2 xD x j 5 1 1 1 1i, j 2 6 2 2 2 M = 0.47222 , deci G este o contracie i irul aproximaiilor succesive
y0=0.5
103
5 e x = ( x) , unde (x) este o 10 contracie i irul aproximaiilor succesive x = (x) converge la soluia ecuaiei. Valorile obinute dup primele 5 iteraii sunt trecute n tabelul de mai jos. R. Ecuaia se poate pune sub forma x = Nr. de iteraii 0 x 0 1 0. 4 2 0.43297 3 0.43514 4 0.43528 5 0.43529
1 3 x5 x* x1 x0 = 0.00525 . 1 1 3 4. S se gseasc soluia aproximativ din cadranul nti pentru sistemul 2 x1 + 3 lg x1 x2 =0 2 2 x1 x1 x2 5 x1 + 1 = 0 folosind metoda Newton. R. irul aproximaiilor succesive unde:
2 x1 + 3 lg x1 x2 F ( x, y ) = 2 2 x x x 5 x + 1 1 2 1 1
1 ( p ) ( x )F ( x( p) ) , p 0 x ( p +1) = x ( p ) J F
f1 x ( p) , J F (x ) = 1 f2 x 1
f1 x2 . f 2 x2
Se obin: - 0.19112 J 1 ( x (0) ) = - 0.31853 - 0.12916 J 1 ( x (1) ) = - 0.25343 - 0.13672 J 1 ( x ( 2) ) = - 0.26238 - 0.13697 J 1 ( x (3) ) = - 0.26267 0.25482 3.59209 , x (1) = 2.32015 ; 0.09137 3.49059 0.16685 , x ( 2) = ; 0.049 2.26341 0.1773 3.48745 , x (3) = 2.26163 ; 0.05379 0.17765 3.48744 , x ( 4) = 2.26163 0.05395
5.
- 0.13697 0.17765 (5) 3.48744 J 1 ( x ( 4) ) = 2.26163 . a. m. d. - 0.26267 0.05395 , x = S se gseasc soluia aproximativ ( x>0 , y>0 ) pentru sistemul
104
f1 x y x ( p) , J F (x ) = 1 F ( x, y ) = 2 x + y 2 3x f 2 x 1
2
f1 x2 . f 2 x2
Se obin urmtoarele rezultate dac se pornete cu 0.66667 J 1 ( x (0) ) = 0.33333 0.38961 J 1 ( x (1) ) = 0.03896 0.44138 J 1 ( x ( 2) ) = 0.08148 0.44792 J 1 ( x (3) ) = 0.08714
1 x ( 0) = 1 : 0.33333 (1) 1.33333 , x = 1.66667 ; 0.66667 0.11688 1.22511 , x ( 2) = 1.48918 ; 0.31169 0.1482 (3) 1.21353 , x = 1.47253 ; 0.36311 0.15209 1.21341 , x ( 4) = 1.47237 0.36914
0.44799 0.15213 (5) 1.21341 J 1 ( x ( 4) ) = , x = 1.47237 . 0.0872 0.3692 6. Folosind metoda Newton s se aproximeze soluia pozitiv a sistemului de ecuaii neliniare x2 + y 2 + z 2 = 1 0 .5 2 2 ( 0) = 0 .5 . +y 4 z = 0 , considernd X 2 x 0 .5 3 x 2 4 y + z 2 = 0 R.
1 ( p ) irul aproximaiilor x ( p +1) = x ( p ) J F ( x )F ( x( p) ) , p 0
, unde :
x2 F ( X ) = 2x2 2 3x
+ y2 + y2 4y
+ z2 4z + z2
1 x ; X = y ; z
105
f1 x f JF (X ) = 2 x f 3 x
f1 y f 2 y f 3 y
f1 z 2 x 2 y 2 z f 2 = 4 x 2 y -4 . z f 3 6 x -4 2 z z X
( 0)
0 .5 = 0 .5 : 0 .5
0.875 0.375 0.125 0.125 (1) 0.35 0.05 0.15 ; X = 0.5 0.375 0.275 0.175 0.025 0.05792 0.07336 0.78982 0.23552 1 (1) ( 2) = 0.49662 0.04054 -0.14865 ; X J F ( X ) = 0.36486 0.36993 0.2973 -0.18919 0.02703 1 ( X ( 0) ) = JF 0.08104 0.78521 (3) -0.149 ; X = 0.49661 0.36992 0.29855 0.02701 7. S se gseasc soluia aproximativ ( x>0 , y>0 ) pentru sistemul =0 x2 y 2 2 x + y 3x = 0 folosind metoda Newton modificat. 1 ( X ( 2) ) = 0.36652 JF 0.26276 0.06359 0.04023 -0.18978 R. unde: f1 x2 y , J F ( x ( p ) ) = x1 F ( x, y ) = 2 x + y 2 3x f 2 x 1 Se obin urmtoarele rezultate dac se pornete cu f1 x2 . f 2 x2 : irul aproximaiilor succesive
1 (0) ( x ) F ( x( p) ) , p 0 x ( p +1) = J F
1 x ( 0) = 1
106
0.66667 0.33333 (1) 1.23077 J 1 ( x (0) ) = 1.46154 , 0.33333 0.66667 , x = 1.21586 1.21217 1.20791 (3) ( 4) x ( 2) = , x = , , x = 1.47494 1.47093 1.46908 1.21341 x ( 47) = 1.47237 .
107
Reamintim c dac A este o matrice ptratic, atunci un vector x R n se numete vector propriu n raport cu A, dac x 0 i exist un numr (real sau complex) astfel nct Ax = x . Numrul se mai numete i valoarea proprie. Valorile proprii ale matricei A sunt rdcinile polinomului caracteristic P ( ) = det ( A I ) i sunt invariante la transformrile de similitudine ale lui A; acest lucru nseamn c valorile proprii ale matricei A coincid cu valorile proprii
ale matricei C 1 AC , oricare ar fi matricea nesingular C. Dac matricea A este simetric, atunci valorile sale proprii sunt reale i exist o baz ortonormal format din vectori proprii, deci cu proprietatea Avi = i vi , i = 1, n , n raport cu care matricea A se reduce la forma diagonal
1 0 0 2 D= ... ... 0 0
(1)
Baza v1 ,..., v n se poate alege astfel nct 1 2 ... n . Dac, n plus, A este i pozitiv definit, atunci 1 ... n > 0 i . x, x Fie V matricea de trecere de la baza canonic a spaiului Rn la baza
2 x0
1 = A
= sup
Ax, x
V 1 = V T i c D = V T AV. n practic, valorile proprii ale matricei A nu se determin rezolvnd numeric ecuaia caracteristic det( A I ) = 0 , deoarece, aa cum vom arta n continuare, rdcinile unui polinom sunt foarte sensibile la orice modificare a coeficienilor polinomului. ntr-adevr, fie polinomul
108
f ( x) = a n x n + a n 1 x n 1 + ... + a1 x + a 0 ,
h( x ) = f ( x ) + g ( x ) polinomul modificat, n care > 0 este arbitrar, iar g ( x ) = bn x n + bn 1 x n 1 + ... + b1 x + b0 este un polinom oarecare. Cum g este arbitrar, putem considera c bi = ai , i = 1, n sau bi = 0 pentru i j i b j = a j etc. Aadar, cazul considerat este practic cazul cel mai general. Fie x1 , x 2 ,..., x n rdcinile polinomului f. Pentru simplificare, vom presupune c aceste rdcini sunt simple, deci c f ( x k ) = 0 i f ( x k ) 0, k = 1, n . S presupunem c vrem s determinm rdcinile ecuaiei h(x) = 0 cu una din metodele numerice cunoscute, de exemplu metoda Newton - Raphson. Ne ateptm ca pentru > 0 foarte mic, rdcinile ecuaiei h(x) = 0 s fie apropiate de rdcinile ecuaiei iniiale f(x) = 0. Notm cu zk o rdcin oarecare a ecuaiei h(x) = 0. Conform algoritmului Newton avem h( x k ) g ( xk ) z k = xk = xk (2) h ( x k ) f ( x k ) + g ( x k ) Dac notm cu g ( xk ) q( ) = , f ( x k ) + g ( x k ) atunci g ( x k ) g ( x k ) . (3) q ( ) = [ f ( x k ) + g ( x k )]2 Cum q ( ) q (0) + q (0) pentru > 0 suficient de mic, din (2) i (3) rezult
g(x ) g ( x k ) g ( x k ) k x g ( xk ) . (4) z k = xk k 2 f ( x k ) ( x k ) f [ ] f ( x ) k S presupunem c bi = 0 pentru i j i b j = a j . Aadar, modificarea
i fie
polinomului f const n faptul c se nlocuiete coeficientul a j cu coeficientul ~ = (1 + )a , iar ceilali coeficieni rmn neschimbai. Din (4) rezult a j j
z k xk
Exemplul 1. Fie
a j x kj f ( x k )
(5)
12
Evident
109
f ( x k ) = ( 1) k (12 k )! ( k 1)!
S presupunem c = 10 11 , ceea ce nseamn c modificarea coeficientului a7 se face cu cantitatea a 7 = 0.0000692663 4 0.00007 . Acest lucru este oricnd posibil datorit erorilor inerente la introducerea datelor. S analizm efectul acestei modificri asupra rdcinii x9 = 9 a ecuaiei f(x) = 0. Un calcul direct ne arat c z 9 x9 = 0.00137 0.0014 . Aadar, modificnd un singur coeficient i anume a7 cu 0.00007, rdcina x9 se modific cu 0.0014. Raportul dintre modificarea rdcinii x9 i modificarea coeficientului a7 este 20, ceea ce arat sensibilitatea rdcinilor unui polinom la modificarea coeficienilor. Din cele de mai sus rezult c nu se recomand determinarea valorilor proprii ale unei matrice pe calea rezolvrii numerice a ecuaiei caracteristice. Metoda recomandat este s se aduc, printr-un procedeu oarecare, matricea la forma diagonal i atunci valorile proprii se determin global (toate odat), ele fiind, de fapt, elementele de pe diagonala principal. Se urmrete deci, ca prin transformri de similitudine, care nu modific valorile proprii, s micorm, eventual pn la dispariie, elementele nediagonale ale matricei, astfel nct, n final, s obinem practic matricea diagonal.
110
. . 0 1 0 0 . . 0 0 1 0 O . . cos . . . sin . . 0 0 . . . 1 . U =M O M . . . 1 . 0 . . sin . . . cos . . 0 . . O . . 0 1 0 0 . . 0 0 1 Aadar, elementele matricei U sunt: u ii = 1 dac i p i i q u pp = cos , u pq = sin u qp = sin , u qq = cos u = 0 n rest ij
p
(1)
(2)
i O asemenea matrice este ortogonal ( U T U = I i deci U 1 = U T ) reprezint din punct de vedere geometric o rotaie de unghi n planul determinat de direciile ep i eq. Notm cu A = U T A i cu A = A U = U T AU . n cazul particular n = 5, p = 2 i q = 4, matricea A arat astfel a13 a15 a11 a12cosa14sin a12sin+a14cos 2 a22cos 2a24sin a23cos (a22a44)sincos+ a25cos a21cos 2 a41sin cos+a44sin a43sin a24cos2 a45sin a33 a35 a31 a32cosa34sin a32sin+a34cos (a22a44)sin a23sin+ a22sin2+2a24sin a25sin+ a21sin+ a41cos cos+a24cos2 a43cos cos+ a44cos2 a45cos a51 a53 a55 a52cosa54sin a52sin+a54cos n general, elementele matricei A sunt aij = aij dac i p i i q j = 1, n a pj = a pj cos a qj sin , a qj = a pj sin + a qj cos iar cele ale matricei A sunt
(3)
111
aij = aij dac j p i j q = aip cos aiq sin , i = 1, n . (4) aip aiq = aip sin + aiq cos Din (3) i (4) rezult a = a cos 2 2a cos sin + a sin 2 pp pq qq pp = a pp sin 2 + 2a pq cos sin + a qq cos 2 a qq . (5) = (a pp a qq ) sin cos + a pq cos 2 a pq a qp = a pq Cum intenia noastr este ca elementul nediagonal cel mai mare (n valoare absolut) s se anuleze n urma rotaiei, vom alege liniile p i q astfel nct apq s fie cel mai mare element (n valoare absolut) de deasupra diagonalei principale i = 0 . innd seama de (5) rezult vom pune condiia ca a pq
1 (a pp a qq ) sin 2 + a pq cos 2 = 0 2
i mai departe ctg 2 = a qq a pp 2a pq . (6)
Aadar, unghiul de rotaie se afl din relaia (6). Introducem notaiile a qq a pp = i tg = t . (7) 2a pq Cum
t 2 + 2 t 1 = 0 . Rezolvnd
2 +1
Pentru a evita ca numitorul s fie mic, lum 1 dac 0 . t = + sgn( ) 2 + 1 dac = 0 1 Conform unor formule elementare de trigonometrie avem
(8)
112
(9)
t 1,
1 2
1 2
i deci c
, . 4 4 Dac notm cu S(B) suma ptratelor elementelor nediagonale ale unei matrice B oarecare, atunci din (3) i (4), un calcul direct ne conduce la 2 . S ( A) = S ( A) 2a 2 pq + 2a pq
Aadar, dac alegem unghiul rotaie conform (8) i (9) rezult =0 i deci S ( A) = S ( A) 2a 2 a pq pq .
2 Deoarece aij a2 pq pentru i j , vom avea 2 S ( A) n(n 1)a 2 sau S ( A) 2a 2 pq pq . n(n 1) Din (10) i (11) rezult 2 S ( A) S ( A) < S ( A) pentru n 2 . 1 n(n 1)
(10)
(11)
(12)
S considerm acum un ir de rotaii n urma crora se obin matricele A0 , etc. , A1 , A2 , ... , Ak , ... unde A0=A , A1=A , A2 = A1 Din (12) rezult 2 S ( Ak ) (13) S ( A) . 1 n(n 1) 2 (0,1) pentru n > 2, din (13) rezult lim S ( Ak ) = 0 . Cum 1 n(n 1) k Aadar, la limit irul {Ak } tinde la matricea diagonal. Se poate demonstra urmtoarea teorem
Teorema 1. Fie
k
i fie a jj
(k )
elementele
Deoarece
113
. criteriu de oprire.
(k )
proprii j ale matricei A cu elementele diagonale a jj ale matricei Ak. irul de matrice Ak se calculeaz recursiv T Ak = U k A k 1 U k , k 1 . (15) A0 = A Algoritm pentru determinarea valorilor proprii prin metoda rotaiilor a lui Jacobi Intrare A , ; Repet Determin : max := elementul maxim n valoare absolut de deasupra diagonalei principale a matricei A ; Fie (p , q) poziia acestui element ; Calculeaz cu formulele (7) , (8) , (9) respectiv , t , c , s ; Determin U prin nlocuirea n In a elementelor ipp i iqq cu c i ipq cu s, iar iqp cu -s ; Calculeaz A := UTAU ; calculeaz S := pn cnd S< .
i =1 j =1 j i
aij
n n
p = 1;
q = 2 ; = 0 ; t = 1; c = s =
1 2
1 2 1 0 2
1 2 1 2 0
= 1
0 2 T 0 ; A1 = U 1 AU 1 = 0 0 1
; 1+ 2 =
0 4 2
0 2 ; a 23 = 3
2 ; p = 2; q = 3
34 2 2
2 2
9 2 3 ; t= ; 1+ t2 = ; c = 8 2 2
2 3
; s=
1 3
114
0 2 3 1 3
0 1 3 2 3
T A2 = U 2
2 A1U 2 = 0 0
0 5 0
0 0 2
Rezult: 1 = 2 ; 2 = 5 ; 3 = 2 .
115
s sgn(a 21 ) 0 ~~ H1a1 = M 0
a11 s sgn(a 21 ) 1 0 a11 a11 . Mai departe avem H 1a1 = 0 ~ ~ ~ ~ 0 H a = H = a 1 1 1 1 M 0 Fie A1 = H1AHT1. Atunci s sgn(a 21 ) 0 ... 0 a11 (1) (1) (1) a 22 a 23 ... a 2 s sgn(a 21 ) n (1) (1) (1) 0 a32 a33 ... a3n . . A1 = ... ... ... ... ... . ( 1 ) ( 1 ) ( 1 ) 0 an2 a n3 ... a nn n continuare se caut o matrice Householder H2 cu proprietatea c elementele
2) a i(2
; := s ( ai +1,i + s )
)1 ;
116
u = ai +1,i + s sgn(ai +1,i ), ai + 2,i , ..., a n i T ; dac ai,i+1 0 atunci sgn(ai,i+1) := 1 altfel sgn(ai,i+1) := 1 ; ~ H i := I n 1 u u T ;
Ii H i := 0
0 ; ~ Hi
Ai := H i Ai 1 H iT ; sfrit pentru i.
ri = aij
j =1 j i
i Di = { z C; z aii < ri
;
n
i = 1, n.
U Di .
i =1
Demonstraie. Fie o valoare proprie a matricei A i fie x = ( x1 ,..., x n ) T un vector propriu corespunztor lui . Atunci x 0 i Ax = x. Rezult a i1 x1 + ... + a ii xi + ... + a in x n = xi sau
j =1 j i
aij x j = ( aii ) xi , i = 1, n
astfel nct
n
(1)
1,2,..., n} Fie p {
xp = x > 0 .
a pp a pj
j =1 j p
xj xp
a pj = r p .
j =1 j p
Aadar, D p U Di .
i =1
117
U [aii ri , aii + ri ] R .
1 1 2 Exemplul 1. Fie A = 2 3 2 , r1=3; r2=4; r3=3. 1 2 2 [ 2, 4] [ 7, 1] [ 1, 5] = [ 7, 5] . O matrice simetric tridiagonal este de forma ... 0 a1 b1 0 0 ... ... ... 0 b1 a 2 b2 0 ... ... 0 b ... ... 0 2 a3 b3 ... . J = (2) ... ... ... ... ... ... ... ... 0 0 ... bn 2 a n 1 bn 1 0 0 0 0 0 0 ... 0 bn 1 a n Pentru o astfel de matrice avem aii = a i ; r1 = b1 ; rn = bn 1 ; ri = bi 1 + bi , i = 2, n 1 .
Fie a = min (ai ri ) i b = max (ai + ri ) .
1i n 1i n
118
dac polinomul fn nu are rdcini multiple, atunci S(a) S(b) i diferena S(a)S(b) este egal cu numrul rdcinilor reale ale polinomului fn din intervalul (a, b). Demonstraie. Deoarece polinoamele sunt funcii continue, att timp ct x crescnd, nu ntlnete nici o rdcin a vreunuia din polinoamele din ir, semnele polinoamelor din ir nu se schimb i deci S(x) rmne neschimbat. Rmne s analizm urmtoarele cazuri posibile: este rdcin pentru unul din polinoamele intermediare. Fie a) x = i {1,2,...,(n 1)} astfel nct f i ( ) = 0 . Din Definiia 1 rezult f i 1 ( ) f i +1 ( ) < 0 . S presupunem c f i 1 ( ) < 0 i f i +1 ( ) > 0 . Din continuitate rezult c exist h > 0 astfel nct f i 1 ( x ) < 0 i f i +1 ( x ) > 0 pentru orice x [ h, + h ] . Avem urmtoarea situaie fi--1(x) fi(x) fi+1(x) + 0 + + m Rezult S( + h) = S( - h). n mod analog, dac f i 1 ( ) > 0 i f i +1 ( ) < 0 avem urmtorul tabel ale semnelor fi(x) fi+1(x) x fi-1(x) + -h + 0 + m +h Rezult, de asemenea S( + h) = S(- h). b) x = este o rdcin a polinomului fn. Evident, n acest caz fn-1() 0 (Definiia 1, proprietatea 1). Din continuitate i din proprietatea 4 a Definiiei 1, rezult c nu putem avea dect urmtoarele situaii x
-h +h
-h +h
fn-1(x) -
fn(x) + 0 -
-h +h
fn-1(x) + + +
fn(x) 0 +
Aadar, la trecerea printr-o rdcin a polinomului fn, S scade cu o unitate (S( + h) = S( h) 1). n definitiv, am demonstrat c numrul rdcinilor reale ale polinoamelor fn, cuprinse n intervalul (a,b) este egal cu
119
S(a) -S(b).
f3 f1
f0
b1 a 2 b2 P ( ) = det(I J ) = 0 b2 a3 ... ... ... 0 0 0 Introducem urmtoarele notaii f 0 ( ) = 1 f1 ( ) = a1 f ( ) = ( a ) f ( ) b 2 f ( ) 2 1 1 0 2 2 f 3 ( ) = ( a 3 ) f 2 ( ) b2 f 1 ( ) ............................................... f ( ) = ( a ) f ( ) b 2 f n n 1 n 1 n 2 ( ) n Se observ imediat c matricei A.
0 0 b3 ... 0
0 0 0 ... an
(3)
Teorema 3. Dac bi 0 , i = 1, n 1 , atunci fiecare polinom f k , k = 0, n , are exact k rdcini reale simple. Mai mult, pentru orice 1 k n 1, rdcinile polinomului fk separ rdcinile polinomului fk+1.
120
i deci
lim f 2 ( ) = +,
( 2) 2) rezult c exist 1 , ( 2 rdcini reale ale lui f2, astfel nct ( 2) (1) ( 2) 1 < 1 < 2 .
2) ( 2) 2 f 3 ( ( 2 ) = b 2 f 1 ( 2 ) < 0
Cum
f 3 ( ) = 3 + ...
avem
lim f 3 ( ) = i
lim f 3 ( ) = + .
f2
1(3)
2(3)
1(2) 1(1)
2(2) 3(3)
f1 f3
Corolarul 1. Orice matrice simetric tridiagonal ireductibil are n valori proprii reale distincte. ntr-adevr, conform Definiiei 2, Capitolul I, 2, dac matricea J este ireductibil, atunci bi 0 , i = 1, n 1 . Afirmaia rezult acum din Teorema 3 i din observaia c f n ( ) P ( ) este polinomul caracteristic al matricei J. Teorema 4. Dac J este o matrice simetric tridiagonal ireductibil i
121
2 f 0 ( ) = 1; f1 ( ) = a1 ; f k ( ) = ( a k ) f k 1 ( ) bk 1 f k 2 ( ), k = 2, n, atunci f n , f n 1 , ... , f1 , f 0 este un ir Sturm. Demonstraie. Evident f 0 ( ) 0 , pentru orice R . Fie k { 1, 2 , ..., n 1} i
2 f k 1 ( ) . Din Teorema 3 R astfel nct f k ( ) = 0 . Atunci f k +1 ( ) = bk rezult f k +1 ( ) 0 i f k 1 ( ) 0 , iar din egalitatea precedent rezult f k +1 ( ) f k 1 ( ) < 0 . Fie x = 1 cea mai mare rdcin a polinomului fn. Din Teorema 3 i din faptul c lim f n ( x) = lim f n1 ( x) = + rezult f n 1 (1 ) > 0 i mai departe c
f n (1 + h) f ( h) = 1 i sgn n 1 = 1 f n1 (1 + h) f n1 (1 h) pentru h > 0 suficient de mic. Dac x = 2 este urmtoarea rdcin a polinomului fn, vom avea f n 1 ( 2 ) < 0 i deci, pentru h > 0 suficient de mic f ( + h) f ( h) = 1 i sgn n 2 = 1 . a. m.d. sgn n 2 f n1 ( 2 + h) f n1 ( 2 h) sgn y fn
f n -1 2 1
123
Teorema 5. Fie J o matrice simetric tridiagonal ireductibil i fie a R oarecare. Atunci numrul valorilor proprii ale matricei J, mai mari ca a, este egal cu S(a).
Afirmaia rezult din Teorema 4, Teorema 2 i din observaia c dac b>1, unde 1 este cea mai mare rdcin a polinomului fn, atunci S(b)=0, deoarece f i (b) > 0, i = 0, n . Teorema 5 ne permite s determinm valorile proprii ale unei matrice simetrice tridiagonale ireductibil cu metoda njumtirii. Fie a, b R astfel nct a < n < ... < 2 < 1 < b . Evident S(a) = n i S(b) = 0. Fie c mijlocul intervalului [a, b]. Dorim s localizm valoarea proprie k
Dac S(c) k, atunci la dreapta lui c se afl k valori proprii, deci inclusiv k. n acest caz notm a1 = c, b1 = b. Dac dimpotriv S(c) < k, atunci k (a,c) i notm a1 = a, b1 = c. a +b S presupunem c k (c,b). Fie c1 = 1 1 . Dac S(c1) k, atunci 2 notm a2 = c1, b2 = b1, iar dac S(c1) < k, atunci a2 = a1, b2 = c1 etc. a p + bp ba . Putem alege k Rezult c k(ap,bp), unde b p -a p = 2 2p ba . i eroarea care se face va fi mai mic dect 2p 2 1 0 Exemplul 3. Fie A = 1 2 1 . Atunci r1 = 1, r2 = 2, r3 = 1 , 0 1 2 a = min(21, 22, 21) = 0; b = max(2 + 1, 2 + 2, 2 + 1) = 4. Din Teorema Gershgorin rezult c valorile proprii se afl n intervalul [0,4]. Fie 3 < 2 < 1 aceste valori proprii. S presupunem c vrem s determinm valoarea proprie 1. Notm cu a+b c= = 2. 2 f0() = 1 ; f1() = 2 ; f2() = (2)2 1 ; f3() = (2)3 2(2) f0(2) = 1 ; f1(2) = 0 ; f2(2) =1 ; f3(2) = 0 ; S(2) = 1.
124
Rezult c n intervalul [2,4] se afl o singur valoare proprie, deci 2+4 =3 , 1 [ 2,4]. Fie c1 = 2 f 0 (3) = 1; f1 (3) = 1; f 2 (3) = 0; f 3 (3) = 1; S (3) = 1. 3+ 4 7 = . Rezult 1 [3,4]. Fie c2 = 2 2 7 7 7 3 7 5 7 3 f 0 = 1 ; f1 = ; f 2 = ; f 3 = ; S ( ) = 0 . 2 2 2 2 2 4 2 8 7 nu se afl nici o valoare proprie. Rezult Aadar, la dreapta lui 2 7 1 (3, ) etc. 2
Exerciii
1. Folosind metoda rotaiilor a lui Jacobi s se calculeze valorile i vectorii proprii 1 1 3 A = 1 3 1 . pentru matricea 3 1 1 R. max aij = 3 = a13 , p = 1 , q = 3 . Rezult c
i< j
t=1 ,
cos =
1 1+ t
2
1 2
; sin =
t 1+ t
2
1 2
, iar
125
1 2 U1 = 0 1 2 T (1) A = U1 A U1 = 1 2 0 1 2 0
0 1 0
1 2 0 . 1 2 0 1 0 1 2 0 = 1 2
1 1 1 1 3 2 2 1 0 1 3 1 0 1 1 0 3 1 1 2 2 0 2 0 = 0 5 2 0 2 4
a qq a pp 2a pq
45 2 2
1 2 2
i , t =
+ sgn 1 + 2
, iar
1 2 2
cos =
1 1+ t
2
t 1 2 = ; sin = 3 3 1+ t2
1 U2 = 0 0
0 2 3 1 3
0 1 . 3 2 3
126
1 0 2 T ( 2) (1) A = U 2 A U 2 = 0 3 1 0 3
0 2 1 0 3 0 2 3
0 5 2
0 1 2 0 4 0
0 2 3 1 3
0 1 = 3 2 3
2 0 0 0 6 0 0 0 3 Deoarece S(A(2)) = 0 am obinut chiar valorile proprii exacte pentru matricea A . 1 1 1 6 3 2 2 1 V = U1 U 2 = 0 reprezint matricea de trecere de la baza n 3 3 1 1 1 2 6 3 care matricea A este dat ( canonic ) la baza n care A are forma diagonal. Se tie de la cursul de Algebr liniar c aceast baz este dat de coloanele matricei de trecere . Deci vectorii proprii se obin ca fiind coloanele matricei de trecere, astfel: 1 1 1 3 6 2 2 1 , 3 = 3 , v 3 = 1 = 2 , v1 = 0 , 2 = 6 , v 2 = . 3 1 3 1 1 2 6 3 2. Folosind metoda 1 2 2 1 matricei A = 4 3 3 5 Jacobi s se determine valorile proprii aproximative ale 4 3 3 5 . 1 4 4 1
127
0 1 0 0.70711 U1 = 0 0 0 0.70711
0 0.70711 , 1 0 0 0.70711 0 0
1 4 3.53553 0.70711 0 4 0.70711 0.70711 , A1 = 4 1 4.94975 0.70711 3.53553 0 4.94975 6 1 0 U2 = 0 0 0 0 0 1 0 0 , 0 0.85171 0.52401 0 0.52401 0.85171
1 5.10729 0.70711 1.55422 4 0.60225 0.37053 0.70711 A2 = , 1.55422 0.60225 2.04527 0 5.10729 0.37053 0 9.04527 0.89965 0 U3 = 0 0.43661 0 1 0 0 0 0.43661 0 0 , 1 0.52401 0 0.89965
0 1.4786 0.47438 1.39825 4 0.60225 0.64207 0.47438 A3 = 1.39825 0.60225 2.04527 0.67858 0 0.64207 0.67858 11.52386 0.63301 0 U4 = 0.77414 0 0 0.77414 1 0 0 0.63301 0 0 0 0 , 0 1
128
0.16595 0 0.52532 3.1886 4 0.74847 0.64207 0.16595 , A4 = 0 0.42955 0.74847 3.3526 0.52532 0.64207 0.42955 11.52386
0 4.18733 0.01986 0.00427 0 . 01986 0 . 21355 0 . 00026 0 . 00452 , A9 = 0.00452 0.00026 11.58733 0.00062 0 0.00452 0.00062 3.18645 valorile proprii exacte fiind:
S(A9)=0.02944
129
1 2.12132 1 3.53553 4 2.82843 0 2.12132 , A1 = 1 2.82843 1 2.82843 3.53553 0 2.82843 6 0.88807 0 U2 = 0 0.4597 0 1 0 0 0 0.4597 0 0 , 0 0 0 0.88807
0 0.83013 1.88389 0.41216 4 2.82843 0.97517 1.88389 , A2 = 1 2.97155 0.41216 2.82843 0 7.83013 0.97517 2.97155 1 0 U3 = 0 0 0 0 0 1 0 0 , 0 0.93659 0.35043 0 0.35043 0.93659
0.83013 1.88389 0.38602 0.14443 4 2.30734 1.90451 1.88389 A3 = 0 0.38602 2.30734 0.11183 0.14443 1.90451 0 8 . 94196 0 0 1 0.4217 0.90674 0 U4 = 0 0.90674 0.4217 0 0 0 0 0 , 0 1
0.83013 0.44441 1.87097 0.14443 0 0.83313 0.44441 0.96123 , A4 = 0 1.87097 5.07308 1.72689 0.14443 0.83313 1.72689 8..94196
130
0 0 0 , 1 0 0 1
9.22995 0.02005 0.00611 0.02598 0.00089 0 0.02005 1.01318 , A10 = 0.00611 0.00089 0.26839 0.0252 0.02598 0 0.0252 5.97535 valorile proprii exacte fiind:
S(A10)=0.05855
4.
R.
s=
j =2
2 a1, j =1.73205 , =
1 s ( a1,2 + s )
=0.21132 ,
a 2,1 + s 1 + 1.73205 1 u = a3,2 = , 1 a 4, 2 0.57735 0.57735 0.57735 ~ T H 1 = I 3 u u = 0.57735 0.78867 0.21132 , 0.57735 0.21132 0.78867 0 0 0 1 0 0.57735 0.57735 0.57735 , H1 = 0 0.57735 0.78867 0.21132 0 0.57735 0.21132 0.78867
131
4 0.57735 0 0 T 0.57735 5.33333 2.13076 4.79743 ; A1 = H 1 A H 1 = 0 2.13076 5.95534 0.83333 0 4.79743 0.83333 5.37799
s=
j =3
2 a 2, j = 0.52493 , =
1 s ( a1,2 + s )
=0.02581 ,
5.
R.
s=
j =2
2 a1, j =2.44948 , =
1 s ( a1,2 + s )
=0.11835 ,
132
a 2,1 + s 1 + 1.73205 1 u = a3,2 = , 2 a 4, 2 0.40824 0.40824 0.81649 ~ T H 1 = I 3 u u = 0.40824 0.88164 0.23670 , 0.81649 0.23670 0.52659 0 0 0 1 0 0.57735 0.57735 0.57735 , H1 = 0 0.57735 0.78867 0.21132 0 0.57735 0.21132 0.78867
5 0.81649 0 0 5.83333 1.76598 4.63299 T 0.57735 ; A1 = H 1 A H 1 = 0 1.76598 6.77447 1.20585 0 4.63299 1.20585 5.72552
s=
j =3
2 a 2, j = 4.95815 , =
1 s ( a1,2 + s )
=0.02999 ,
6. S se gseasc cea mai mare valoare proprie n valoare absolut, pentru matricea
133
0 4 1 1 5 1 A= 0 1 6 0 0 1
0 0 1 7
folosind polinoamele Sturm. R. r1 = 2 , r2 = 2 , r3 = 2 , r4 = 1 , iar rdcinile polinomului caracteristic se afl n intervalul [a, b] , unde : a = min (aii ri ) = min{ 42, 52, 62, 71 } = 3 i
1i 4
Schimbrile de semn n irul Sturm de mai sus : f0(a) = 1 , f1(a) = 1 , f2(a) = 1 , f3(a) = 2 , f4(a) = 7 , arat c la dreapta lui a se afl 4 rdcini ale ecuaiei caracteristice, f0(b) = 1 , f1(b) = 4 , f2(b) = 11 , f3(b) = 18 , f4(b) = 7 , iar la dreapta lui b nu se afl nici o rdcin a ecuaiei caracteristice. Lund c =
134
c=
c=
c=
c=
c=
la dreapta lui c nu se afl nici o rdcin a ecuaiei caracteristice, . a. m. d. La iteraia a 16a se obine aproximaia c = 7.74529, iar P(c) = 0.00023 , P() fiind polinomul caracteristic. 7. S se gseasc cea dea doua valoare proprie pentru matricea ( |1|>|2|>|3|>|4| )
135
5 2 A= 0 0
2 6 1 0
0 1 6 2
0 0 2 8
folosind polinoamele Sturm. R. r1 = 2 , r2 = 3 , r3 = 3 , r4 = 2 , iar rdcinile polinomului caracteristic se afl n intervalul [a, b] , unde : a = min (aii ri ) = min{ 52, 63, 63, 82 } = 3 i
1i 4
Schimbrile de semn n irul Sturm de mai sus : f0(a) = 1 , f1(a) = 2 , f2(a) = 2 , f3(a) = 4 , f4(a) = 12 , arat c la dreapta lui a se afl 4 rdcini ale ecuaiei caracteristice, f0(b) = 1 , f1(b) = 5 , f2(b) = 16 , f3(b) = 59 , f4(b) = 54 , iar la dreapta lui b nu se afl nici o rdcin a ecuaiei caracteristice. Lund
c=
136
c=
c=
c=
c=
c=
la dreapta lui c se afl o rdcin a ecuaiei caracteristice, . a. m. d. La iteraia a 20a se obine aproximaia c = 7.61384 , iar P(c) = 0.00001 , P() fiind polinomul caracteristic.
Interpolarea funciilor
137
4. Interpolarea funciilor
Fie f : [a,b] R i fie x0, x1, ..., xn , (n+1) puncte distincte din intervalul [a,b] , numite noduri. Problema interpolrii funciei f n nodurile xi, i = 0, n , const n determinarea unei funcii g : [a,b] R, dintro clas de funcii cunoscut, cu proprietatea g(xi)=f(xi), i = 0, n . Pus sub aceast form general problema poate s nu aib soluie sau s aib o infinitate de soluii. Cea mai utilizat clas de funcii de interpolare este clasa polinoamelor, datorit uurinei cu care se integreaz i se deriveaz. Interpolarea funciilor prezint o importan deosebit pentru cazul cnd funcia nu este definit printro relaie analitic, ci printrun tablou de valori, ce reprezint, de exemplu, rezultatele unei experiene. Chiar i atunci cnd funcia este dat printro relaie analitic, dar aceast relaie este complicat se poate alege interpolarea n locul calculului direct.
138
1 dac j=i . Li ( x j ) = ij = 0 dac j i Deoarece Li(xj)=0 pentru ij , rezult c Li admite rdcinile x0, x1, ..., xi1, xi+1,..., xn. Aadar, Li(x)=ai(xx0)...(xxi1)(xxi+1)...(xxn). Cum Li(xi)=1, rezult 1 ai = . (xi x0 )...(xi xi 1 )(xi xi +1 )...(xi xn ) n concluzie avem
Pn ( x) = Li ( x) f ( xi )
i =0 n
(1)
unde Li ( x) = (x x j ) xj)
j =0 ( xi j i
(2)
Evident polinomul (1) are gradul n i are proprietatea Pn(xi)=f(xi) , i = 0, n . Fie Qn un alt polinom de gradul n cu proprietatea Qn(xi)=f(xi), i = 0, n i fie R=PnQn. Deoarece gradR n i R(xi)=0, i = 0, n rezult c R este polinom identic nul, deci c Pn=Qn.
Exemplu. Fie nodurile x0=1, x1=1, i x2=2 i f(x0)=2, f(x1)=f(x2)=1. Atunci (x 1)(x 2) 2 + (x + 1)(x 2)1 + (x + 1)(x 1) 1 . P2 ( x) = ( 1 1)( 1 2) (1 + 1)(1 2) (2 + 1)( 2 1) 1 Efectund calculele obinem P2 ( x) = x 2 3x + 8 . 6 n continuare vom nota eroarea n fiecare punct cu E(f;x)=f(x)Pn(x) (3) Evident E(f;xi)=0, i = 0, n . Introducem de asemenea notaia:
U n+1 ( x) = (x xi )
i =0
(4)
Teorema 2. Dac fC(n+1)[a,b] , atunci pentru orice x[a,b], exist x(a,b) astfel nct f ( n +1) ( x ) (5) E ( f ; x) = U ( x) (n + 1)! n+1
Interpolarea funciilor
139
E ( f ; x) U n+1 (t ), t [a,b], x xi U n+1 ( x) Observm c g se anuleaz n (n+2) puncte distincte x0, x1,..., xn, x. Din teorema lui Rolle rezult c exist x(a,b) astfel nct g(n+1)(x)=0. Cum E( f ; x) (n +1)! g (n+1) (t ) = f (n+1) (t ) Un+1(x) rezult f (n+1) ( x ) E( f ; x) = U ( x) . (n + 1)! n+1 g (t ) = f (t ) Pn (t )
Corolar. Dac exist M>0 astfel nct f (n+1)(x) M pentru orice x[a,b], atunci: M E ( f ; x) U n+1 ( x) , x [a, b ] . (n + 1)! Exemplu. Fie funcia f(x)=ln x i nodurile 0.4; 0.5; 0.7; 0.8. Evalum eroarea n punctul x=0.6. U4(0.6)=(0.2)(0.1)(0.1)(0.2)=0.0004 . 6 6 f IV (x) = 234 .4 , x [0.4; 0.8] . 4 x (0,4)4 Rezult 1 E( f ; 0.6) 234.4 0.0004 0.0039 , 24 acest numr fiind doar un majorant al erorii. Dac folosim urmtoarele valori n noduri
X f(x)
0.4 0.916291
0.5 0.693147
0.7 0.356675
0.8 0.223144
i calculm polinomul lui Lagrange obinem: P3(0.6)=0.509975 . Pe de alt parte ln(0.6)=0.510826 . Rezult c E(f; 0.6)=0.000851 , ceea ce confirm afirmaia de mai sus.
Observaia 1. Dac f=Q este un polinom de grad cel mult n, atunci E(f;x)=0, oricare x[a,b]. Afirmaia rezult din Teorema 2 deoarece, n acest caz f (n+1)(x)=0 .
140
Observaia 2. E(f+g;x)=E(f;x)+E(g;x) ntradevr, dac Pnf este polinomul de interpolare pentru f i Png este
polinomul de interpolare pentru g , atunci Pnf + Png este polinomul de interpolare pentru f+g i deci E ( f + g ; x ) = f ( x ) + g ( x ) Pnf ( x ) Png ( x ) = E ( f ; x ) + E ( g ; x ) . n continuare vom presupune c nodurile sunt echidistante, deci c xi=x0+ih, i = 0, n , unde x x h= n 0 . (6) n Considerm de asemenea schimbarea de variabil (7) x=x0+th nlocuind (6) i (7) n (2) obinem: n (t j ) ~ Li (t ) = Li ( x0 + th) = j =0 (i j )
j i
Folosind notaia:
(8)
obinem:
(1) ni n+1 (t ) (1) ni i n+1 (t ) ~ Li (t ) = Cn = i!(n i )! t i n! t i Obinem astfel expresia polinomului lui Lagrange pentru noduri echidistante (t ) n ~ i f ( xi ) Pn (t ) = n +1 (1) n i Cn . (9) n! i =0 t i Eroarea devine: (t ) ~ E (t ) = n+1 h n+1 f ( n+1) ( t ) . (10) (n + 1)! n continuare considerm un ir de diviziuni {n} ale intervalului [a,b] cu
n
lim n = 0,
Notm cu xi( n) ,
i = 0,n . Dac n este mare, Pn coincide cu f ntrun numr mare de noduri, deci ne ateptm ca eroarea En(f;x)=f(x)Pn(x) s fie mic, eventual ca lim En ( f ; x) = 0 .
n
Interpolarea funciilor
141
Ajungem astfel la urmtoarea ntrebare: n ce condiii irul de polinoame { Pn } converge punctual (eventual uniform) la funcia f pe intervalul [a,b] ? n anul 1912, S. N. Bernstein a artat c pentru funcia f(x)=x, 2i x[1,1], dac alegem nodurile echidistante xi( n) = 1 + , i = 0, n , atunci n lim Pn ( x) f ( x) dac x{1,0,1}.
n
Sar putea crede c acest lucru se datoreaz faptului c funcia modul nu este derivabil n origine. Urmtorul exemplu dat de C. Runge n 1901 arat c exist funcii indefinit derivabile pentru care {Pn} nu converge la f . 1 Fie f ( x) = , x [- 5,5] . 1 + x2 Evident fC[5,5]. Fie nodurile echidistante 10 xi = 5 + i , i=0 ,n . n lim Pn ( x) = f ( x) dac xc i lim Pn ( x) f ( x) dac Se poate arta c
n n
x>c, unde c 3.6334 este o rdcin a ecuaiei: (5+x)ln(5+x)+(5x)ln(5x)5ln262arctg5=0. n anul 1914, S. N. Bernstein a artat c pentru orice sistem de noduri {xi( n ) }, i=0,n din intervalul [a,b] , dat dinainte, exist o funcie continu f : [a,b] R astfel nct irul polinoamelor lui Lagrange {Pn} care interpoleaz funcia f n aceste noduri nu converge uniform la f pe [a,b]. Exist totui i situaii cnd convergena are loc. Se poate demonstra urmtoarea teorem:
Teorema 3. Dac fC( R) i se dezvolt n serie Taylor pe R, atunci pentru orice
sistem de noduri distincte i echidistante {xi( n ) } , i=0 ,n din [a,b] , irul polinoamelor { Pn } care interpoleaz funcia f n aceste noduri converge uniform la f pe [a,b]. Se pune ntrebarea dac interpolarea cu polinoame Lagrange este util n practic, din moment ce aa cum am vzut, n general irul polinoamelor de interpolare { Pn } nu converge la f. Rspunsul este c interpolarea Lagrange este util. Se constat n practic f ( ) Pn ( ) scade pn la un faptul c pentru un punct [a,b], eroarea punct, pe msur ce n crete, i deci, pentru n relativ mic, Pn() aproximeaz acceptabil valoarea f(). Pentru valori mari ale lui n, interpolarea Lagrange nu este recomandat. Din cele prezentate pn acum, rezult c irul polinoamelor de interpolare asociate unei funcii continue nu converge uniform, n mod necesar, la aceast
142
funcie. Se pune ntrebarea dac o funcie continu poate fi aproximat uniform cu polinoame. Rspunsul a fost dat de K. Weierstrass n anul 1885.
Teorema 4. Fie f : [a,b] R continu. Atunci, pentru orice > 0, exist un polinom Q astfel nct f Q = sup{ f ( x) Q ( x) ; x [a, b] } < .
1 , rezult c exist un ir de polinoame {Qn} care n converge uniform pe [a,b] la funcia f. Din teorema lui Weierstrass rezult c polinoamele algebrice pe [a,b] sunt, n raport cu funciile continue pe [a,b] , n aceeai relaie ca numerele raionale Q fa de numerele reale R. Teorema lui Weierstrass este extrem de important n analiza matematic, n general, i n analiza numeric, n special. Dintre numeroasele demonstraii date acestei teoreme, cea mai cunoscut este demonstraia dat de S. N. Bernstein, n anul 1912. Bernstein a artat cum se poate construi irul de polinoame care aproximeaz funcia f i anume: n k k (1 x) n k x k f , x [0,1] . Bn ( x) = Cn n k =0 Acest ir de polinoame, care se numesc polinoame Bernstein, au
Evident, dac lum =
f pe [0,1]. Trecerea de la [0,1] la [a,b] se face cu proprietatea Bn uurin printro schimbare de variabil. Evident, polinoamele Bernstein nu sunt polinoame de interpolare. Din pcate, convergena irului { Bn } ctre f este destul de nceat, i din aceast cauz, n practic, polinoamele Bernstein nu se folosesc la aproximarea direct a funciilor. Teorema lui Weierstrass este important prin implicaiile sale teoretice, dar i practice, aa cum vom vedea, de exemplu, la integrarea numeric.
Interpolarea funciilor
143
Q(x)=
Observm c pentru orice i = 0, n 2 avem f ( xi ) xn1 x 1 Q( xi ) = = f ( xi ) . xn xn1 f ( xi ) xn x n continuare, avem: f ( xn1 ) 0 1 = f ( xn1 ) , Q( xn1 ) = xn xn1 Pn1 ( xn1; x0 ,..., xn2 , xn ) xn xn1 Pn1 ( xn ; x0 ,..., xn2 , xn1 ) xn1 xn 1 Q ( xn ) = = f ( xn ) . f ( xn ) 0 xn xn1 Aadar, Q este un polinom de gradul n care interpoleaz funcia f n nodurile xi, i = 0, n . Din unicitatea polinomului de interpolare al lui Lagrange, rezult c Q=Pn. Metoda Aitken este bine ilustrat de urmtorul tabel: x0 x0 f(x0) x1 x1 f(x1) P1(;x0,x1) x2 x2 f(x2) P1(;x0,x2) P2(;x0,x1,x2) x3 x3 f(x3) P1(;x0,x3) P2(;x0,x1,x3) P3(;x0,x1,x2,x3) M M M M M M O xn xn f(xn) P1(;x0,xn) P2(;x0,x1,xn) P3(;x0,x1,x2,xn) K Pn(;x0,x1,...,xn) Algoritmul de interpolare iterativ ( metoda Aitken) Pentru i := 1 , n execut yi := f(xi) , di := xi ; sfrit pentru i ; Pentru i := 2 , n execut Pentru j := i , n execut yi 1d j y j d i 1 y j := x j xi 1 sfrit pentru i sfrit pentru j .
144
, k = 0, n-1 . (3) 2n Aadar, polinomul Tn are n rdcini reale distincte, date de formula (3). Pe de alt parte, avem sin(n arccos(x)) ( x) = n Tn . 1 x2 ( x) =0, atunci narccos(x)=k , i deci Dac Tn k yk = cos (4) , k = 1, n 1 n . Se observ c rdcinile derivatei Tn sunt zerourile derivatei Tn rdcinile polinomului Tn. ntradevr,
separ
(2k + 1)
de unde rezult xk=cos(2k+1)
> yk +1 = cos(k + 1)
> xk +1 = cos(2k + 3)
2n
k = cos (k ) = (1) .
Interpolarea funciilor
145
Cum Tn(x)1, x[1,1], rezult c yk, k = 1, n 1 , sunt puncte de extrem local pentru Tn. Pe de alt parte, avem Tn(1)=(1)n i Tn(1)=1. Aadar, Tn are (n+1) puncte de extrem local i i schimb semnul de n ori pe intervalul [1,1]. Prezentm n continuare tabelul de variaie pentru polinoamele T3 i T4 . 1 1 3 3 x 0 1 1 2 2 2 2 + 0 0 + T3 0 1 1 0 1 0 T3 1
x
T4 T4
1 1
1 2
0 + 0 1
1 2 0
1 +
0 1
Urmtorul rezultat datorat lui Cebev pune n eviden o proprietate remarcabil a zerourilor polinoamelor Cebev.
Teorema 1. Fie xk = (2k + 1)
, k = 0, n , zerourile polinomului Cebev Tn+1. 2n Atunci, oricare ar fi (n+1) puncte distincte, zi, i = 0, n din intervalul [1,1],
avem
x[1,1]
Demonstraie. Deoarece
Tn+1(x)=2n(xx0)...(xxn) , rezult c trebuie sa artm c 1 sup T ( x) sup ( x z0 )( x z1 )...( x z n ) , () zi [ 1,1] . n n +1 x[1,1] 2 x[1,1] Presupunem prin absurd c exist z 0 , z1 ,..., z n [ 1,1] astfel nct 1 1 (5) sup qn +1 ( x) < sup T ( x) = n n +1 2n x[1,1] x[1,1] 2 unde qn +1 ( x ) = ( x z0 )( x z1 )...( x z n ) . (6) Fie 1 rn ( x) = Tn +1 ( x) qn +1 ( x), x [ 1,1] . 2n
146
Evident, rn este un polinom de grad cel mult n. Observm ca rn are acelai semn cu Tn+1 n cele (n+2) puncte de extrem ale polinomului Tn+1. ntradevr, fie yk un asemenea punct. Presupunem c Tn+1(yk)=1. Dac rn(yk)0, atunci 1 1 , qn +1 ( y k ) = rn ( y k ) n 2 2n ceea ce contrazice relaia (5). Dac Tn+1(yk)=1 i presupunem c rn(yk)>0, atunci 1 1 , qn +1 ( yk ) = rn ( yk ) + > n 2 2n ceea ce contrazice relaia (5). Aadar, rn i schimb semnul de (n+2) ori, deci rn are (n+1) rdcini. Acest lucru nu este posibil dect dac rn(x)=0, ()x[1,1]. 1 Rezult atunci c Tn +1 = qn +1 , ceea ce contrazice relaia (5). 2n Revenim acum la evaluarea erorii n interpolarea Lagrange. Fie (n+1) noduri xi n [1,1] i fC(n+1)[1,1]. Dac Pn este polinomul lui Lagrange care interpoleaz funcia f n nodurile xi, i = 0, n , atunci f ( n+1) ( x ) f ( x) Pn ( x) = ( x x0 )...( x xn ) (7) (n + 1)! (vezi Capitolul 4, 1, Teorema 2). Din (7) rezult c
sup ( x x )...( x x ) . f Pn = sup f ( x) Pn ( x) 0 n ( n + 1 )! 1 x1 1 x1 Aadar, eroarea f Pn va fi minim dac
f ( n+1)
1 x1
sup ( x x0 )...( x xn )
va fi minim. Pe de alt parte, din Teorema 1 rezult c acest lucru se ntmpl dac alegem nodurile
, i = 0, n 2(n + 1) (adic xi sunt zerourile polinomului Cebev Tn+1 ). Din cele de mai sus rezult c are loc urmtoarea teorem:
* Teorema 2. Fie Pn polinomul lui Lagrange care interpoleaz funcia f n nodurile
xi = cos(2i + 1)
xi = cos(2i + 1)
2(n + 1)
i = 0, n .
Interpolarea funciilor
147
Atunci
. Pentru acele funcii care au 2 (n + 1)! 1 * u f . proprietatea c lim f (n+1) = 0 va rezulta c irul Pn n n 2 (n + 1)!
n
* f Pn
f ( n +1)
o diviziune oarecare a intervalului [a,b]. Se numete funcie spline cubic o funcie s : [a,b] R cu urmtoarele proprieti: (i) Restricia lui s la fiecare subinterval [xi1, xi] este un polinom de grad cel mult trei; (ii) s, s', s" sunt continue pe [a,b]. n continuare ne punem problema interpolrii unei funcii f : [a,b] R cu ajutorul unei funcii spline cubice. Cu alte cuvinte, ne punem problema s gsim o funcie spline cubic s, astfel nct s(xi) = f(xi) , i = 0, n . Deoarece restricia lui s la subintervalele [xi1,xi] este un polinom de grad cel mult trei, rezult c s(x)=ai+bix+cix2+dix3 pentru orice x[xi1, xi]. Determinarea funciei s presupune deci determinarea a 4n coeficieni (ai , bi , ci , di). S evalum acum de cte condiii dispunem. Faptul c s(xi) = f(xi), i = 0, n ne asigur (n+1) condiii. Pe de alt parte, din continuitatea lui s i a derivatelor s' i s", rezult: s(k)(xi0)= s(k)(xi+0) , i =1, n 1 , k = 0,2 , care ne asigur 3(n1) condiii. n total, dispunem deci de (4n2) condiii, cu dou mai puin dect numrul coeficienilor ce urmeaz a fi determinai. Dac se cunosc derivatele f'(a) i f'(b), atunci adugm condiiile s'(a) = f'(a) i s'(b) = f'(b). Dac nu se cunosc aceste derivate, atunci se aproximeaz i f'(b)= y 0 f'(a) y 0 i se pun condiiile s'(a) = y 0 i s'(b) = y n . Dac nu avem nici o informaie despre f'(a) i f'(b) se pot pune condiiile:
: a=x0<x1<...<xi1<xi<...<xn=b
148
s"(a) = s"(b) = 0 . n acest caz se obine aa numita funcie spline cubic natural. nainte de a prezenta teorema fundamental privind existena funciilor spline cubice, reamintim urmtorul rezultat de algebr liniar.
Propoziia 1. Orice matrice ptratic strict diagonal dominant este nesingular. Demonstraie. Fie A M n(R) cu proprietatea:
(1)
Dac vom arta c sistemul Ax=0 admite numai soluia banal, va rezulta c detA 0. Presupunem prin absurd c exist 0 astfel nct A = 0. Fie j = = max{ 1 , 2 , ..., n } . Cum este soluie pentru sistemul Ax = 0 rezult aj11+ ...+ ajjj+...+ ajnn = 0 sau
a jj +
k =1 k j
a jk k
= 0 . (2)
n continuare avem
a jj
ceea ce contrazice (1).
k =1 k j
a jk
k j
k =1 k j
a jk
, y0, y1, ..., y n ,y n , exist o Teorema 1. Pentru orice (n+3) numere date y 0 funcie spline cubic s, unic cu proprietile: , s(xn) = y n . s(xi)=yi , 0in , s(x0) = y 0 Demonstraie. Vom nota cu Mi = s"(xi), i = 0, n . Deoarece s" este liniar pe intervalul [xi , xi+1], rezult c s este de forma s"(x)=x+ . Din condiiile Mi=s"(xi) i Mi+1 = s"(xi+1) rezult M x M i +1xi M Mi a = i +1 , i = i i +1 hi hi unde hi = xi+1xi. Aadar pe intervalul [xi , xi+1] , avem: ( x x) M i + ( x xi ) M i +1 s" ( x) = i +1 , i=0,n-1 . (3) hi Integrnd de dou ori obinem
Interpolarea funciilor
149
s ( x) =
( xi +1 x) 3 M i + ( x xi )3 M i +1 + C ( xi +1 x) + . 6hi
(4)
+ D ( x xi ), i=0 ,n-1 unde C i D sunt constante arbitrare. Punnd condiiile de interpolare s(xi) = yi , 0in, rezult y hM y hM C = i i i i D = i +1 i i +1 . (5) hi hi 6 6 nlocuind (5) n (4) obinem pentru x [xi , xi+1] i i = 0, n 1 :
s ( x) = +
( xi +1 x) 3 M i + ( x xi )3 M i +1 + 6hi ( xi +1 x) yi + ( x xi ) yi +1 hi (6)
(x x)M i + (x xi )M i +1 i +1 hi , i=0 ,n-1 . 6 S observm c funcia s definit n (6) este continu pe [a,b]. ntradevr (x x)3 Mi1 + (x xi1)3 Mi (xi x) yi1 + (x xi1) yi lim s(x) = lim i + 6 h h xxi xxi i i 1 1 x<x x<x
i i
i analog
x xi x > xi
lim s ( x) = yi .
n continuare vom pune condiia ca derivata s' s fie continu pe [a,b]. Din (6) rezult: ( xi +1 x) 2 M i + ( x xi ) 2 M i +1 yi +1 yi + s ' ( x) = hi 2hi (7) ( M i +1 M i )hi , 6 pentru x(xi , xi+1), i = 0, n 1 . Punem condiia ca lim s ' ( x) = lim s ' ( x) i obinem
x xi x < xi x xi x > xi
150
i mai departe hi 1 h + hi 1 h y y y yi 1 M i 1 + i M i + i M i +1 = i +1 i i (8) 6 3 6 hi hi 1 pentru orice i = 1, n 1 . La cele (n1) ecuaii date de (8) adugm dou ecuaii care corespund . i s'(xn)= y 0 condiiilor: s'(x0)= y 0 innd seama de (7) aceste ecuaii sunt: h0 h y y0 M 0 + 0 M1 = 1 y0 (9) 3 6 h0 hn 1 h y yn 1 n M n 1 + n 1 M n = yn . (10) 6 3 hn 1 Din (8), (9) i (10) rezult urmtorul sistem AM=b, unde
h0 3 h0 6 A= 0 M 0 0 h0 6 h0 + h1 3 h1 6 M. 0 h1 6 h1 + h2 3 M 0 0 h2 6 M L L L O 0 0 0 0 0 0 0 0 0 M hn1 6 hn1 3
M hn 2 + hn 1 0 0 0 3 hn1 0 0 0 L 0 6 y1 y0 y0 h0 y 2 y1 y1 y0 M0 h1 h0 M1 , iar b = M = M . M y y y y n 1 n -1 n2 n M hn 1 hn 2 n y n y n 1 y n hn 1 Observm c matricea A este simetric, tridiagonal i strict diagonal dominant. Un asemenea sistem are soluie unic, care se obine uor cu algoritmul Gauss. nlocuind n (6) aceast soluie, gsim funcia spline cubic pe care o cutam. Evident aceast funcie este unic, deoarece soluia (M0, M1,...,Mn) este unic.
M hn 2 L 6
Interpolarea funciilor
151
n punctul
5 24
folosind
xi y i = f ( xi )
0 0
6 0.5
4 0.70711
3 0.86603
2 1
i c valorile lui f ' n punctele x 0 i x 4 sunt: y ' 0 = 1 , y ' 4 = 0 . R. Aplicm teorema 1 i vom gsi funcia spline cubic s ce interpoleaz funcia
f , dac determinm coeficienii M i , i = 0, 3 . Coeficienii M i se determin prin rezolvarea sistemului liniar AM = b, unde
h0 3
h0 6
y1
0
h1
y0
h0
y'0
h0 h0 6
A
h1 6
y2
0
h2
y1
y1
y0
h1
b
h0
h1 6
h1
h2 6
0
h3 h3
y3
y2
y2
y1
h2
h1
h2 6
h2
y4
y3
y3
y2
h3
h2
h3 6
h3 3
M0 M1 , M = M2 M3 M4
y'4
y4
y3
h3
152
s ( x) =
( x 2 x) 3 M 1 + ( x x1 ) 3 M 2 ( x 2 x) y1 + ( x x1 ) y 2 + 6h1 h1 ( x 2 x) M 1 + ( x x1 ) M 2 h1 6
5 Calculm valoarea funciei s n punctul dat: s = 0.60875 . 4 5 Deci, valoarea aproximativ a lui f n punctul este 0.60875. 24
Funciile spline cubice au urmtoarea proprietate de optimizare.
Teorema 2. Fie G mulimea funciilor proprietile: 0in (i) g(xi)=yi , ' (ii) g'(x0)= y0 (iii) g'(xn)= y n
g : [a,b] R,
de clas C2 cu
Atunci :
[g"( x)] g G
inf
a b
dx = [s" ( x)] 2 dx .
a
n 1 xi +1 i =0 xi
s(x)k (x)dx = 0
i mai departe
Interpolarea funciilor
b
153
n 1
= s" (b)k (b) s" (a) k (a) = 0 . deoarece k'(a) = k'(b) = 0. Aadar
a b
[g"( x)]
2
Rezult
[s" (x)]
b a
[k"(x)]
() x[a,b]. Aadar functia k este liniar pe [a,b]. Din condiiile de interpolare k(xi)=0 pentru i = 0, n , rezult k(x)=0, ()x[a,b] i deci c
b 2 2 [s"( x)] dx = ginf [g"( x)] dx . G a b
( a ) = f ' ( a ) i sn (b) = f ' (b) , sn(xi(n) ) = f (xi(n) ) , i = 0, n ; s n atunci pentru orice x[a,b] avem: 3 5 1 " (x) M4h3, f " ( x) sn ( x) M 4 h 2 . f(x) sn(x) M4h4 , f '(x) sn 24 8 384 Aadar, din Teorema 3 rezult c irul funciilor spline cubice {sn} care
{x }
( n) i u
converge uniform pe
u f i sn f " pe intervalul [a,b] ctre funcia f. Mai mult: sn intervalul [a,b]. n continuare vom defini funciile Bspline cubice i vom arta c orice funcie spline cubic care interpolez funcia f n nodurile x0, x1, ..., xn se reprezint ca o combinaie liniar unic de funcii Bspline cubice. Fie : a=x0<x1<...<xi1<xi<...<xn=b
154
o diviziune a intervalului [a,b] cu noduri echidistante (xi = x0+ih, unde ba ~ h= ). Asociem acestei diviziuni, diviziunea care are n plus ase noduri n auxiliare, de asemenea echidistante. ~ : x 3 < x 2 < x 1 < x0 < x1 < ... < x n < x n +1 < x n + 2 < x n+3 . Definim pentru orice i = 1, n + 1 , funcia Bspline cubic Bi astfel:
( x xi 2 ) 3 3 2 2 3 h + 3h ( x xi 1 ) + 3h( x xi 1 ) 3( x xi 1 ) 1 3 Bi ( x ) = h + 3h 2 ( xi +1 x) + 3h( xi +1 x) 2 3( xi +1 x) 3 h3 3 ( xi + 2 x) 0 x ( xi 2 , xi 1 ] x ( xi 1 , xi ] x ( xi , xi +1 ] x ( xi +1 , xi + 2 ] x [ xi 2 , xi + 2 ]
Din definiia funciilor Bi rezult c 4 dac j=i Bi ( y j ) = 1 dac j = i-1 sau j=i+1 0 dac j {i-1;i;i+1} Se verific uor c Bi ( xi 1 ) =
xi2
xi1
xi
xi+1
xi+2
Propoziia 2. Funciile B1, B0, ..., Bn+1 sunt liniar independente pe R. Demonstraie. Fie combinaia liniar 1B1(x)+ 0B0(x)+ 1B1(x)+...+ n+1Bn+1(x)=0, xR. Dac dm lui x succesiv valorile x1, x0, ..., xn+1 obinem sistemul:
Interpolarea funciilor
155
41 + 0 = 0 + 4 + = 0 1 0 1 L + 4n + n +1 = 0 n 1 n + 4n +1 = 0 Deoarece matricea sistemului este strict diagonal dominant, deci nesingular, rezult c sistemul admite numai soluia banal 1 = 2 = ... = n+1 = 0 . n continuare notm cu i = 1, n + 1 .
B3()
Teorema 4. Exist o funcie unic B B 3() care interpoleaz funcia f n nodurile xi , i = 0, n . Demonstraie. Fie (11) B(x)= a1B1(x)+ a0B0(x)+ a1B1(x)+...+ an+1Bn+1(x), xR. Punnd condiia ca B s interpoleze funcia f n nodurile x0, x1 ,..., xn rezult ( x0 ) + ... + a n +1Bn +1 ( x0 ) = f ( x0 ) 1 ( x0 ) + a0 B0 B ( x0 ) = a 1B
B ( xi ) = a 1B1 ( xi ) + a0 B0 ( xi ) + ... + an +1Bn +1 ( xi ) = f ( xi ) i=0 ,n 1 ( xn ) + a0 B0 ( xn ) + ... + a n +1Bn +1 ( xn ) = f ( xn ) B ( xn ) = a 1B Se obine sistemul: 3 3 h a1 + h a1 = f ( x0 ) a + 4a + a = f ( x ) 0 1 0 1 a0 + 4a1 + a 2 = f ( x1 ) (12) L a n 1 + 4a n + a n +1 = f ( xn ) 3 3 a n 1 + an +1 = f ( xn ) h h Sistemul (12) are (n+3) ecuaii liniare i (n+3) necunoscute a1, a0, ..., an+1. Eliminnd necunoscuta a1 din primele dou ecuaii i necunoscuta an+1 din ultimele dou ecuaii, obinem sistemul echivalent:
156
h 4a0 + 2a1 = f ( x0 ) + 3 f ( x0 ) a + 4 a + a = f ( x ) 0 1 2 0 (13) L a + 4an 1 + a n = f ( xn 1 ) n2 h 2 a n 1 + 4a n = f ( xn ) + f ( xn ) 3 Matricea coeficienilor sistemului (13) este strict diagonal dominant, deci sistemul (13) are soluie unic. Aadar, sistemul (12) are soluie unic. nlocuind aceast soluie n (11) obinem funcia B cutat, care evident este unic.
Teorema 5. Fie s : [a,b] R o funcie spline cubic care interpoleaz funcia f n nodurile x0, x1,..., xn . Atunci exist a1, a0, a1,..., an+1R, unic determinate, astfel nct s(x) = a1B1(x)+ a0B0(x)+...+ an+1Bn+1(x), () x[a,b]. Demonstraie. Din Teorema 4 rezult c exist BB3() astfel nct B interpoleaz funcia f n nodurile x0, x1,..., xn. Funcia B este de clas C2 pe R i este polinomial de gradul trei pe poriuni. Rezult c restricia lui B la intervalul [a,b] este o funcie spline cubic, care interpoleaz f n nodurile x0, x1,..., xn . Cum asemenea funcie este unic (conform Teoremei 1 ) rezult s(x)=B(x)=a1B1(x)+ a0B0(x)+...+ an+1Bn+1(x), () x[a,b]. Unicitatea coeficienilor a1, a0, a1, ..., an+1 este asigurat de Teorema 4.
Pachetul de programe MATLAB conine funcia spline care permite interpolarea unei funcii f n punctele x1, x2, ..., xn , ()nN* , finit, printro funcie spline cubic, dac se cunosc valorile y1, y2, ..., yn ale funciei n nodurile x1<x2<...<xn . Secvena de apelare este: yi=spline(x,y,xi).
Exemplu. S se determine valorile funciei f n punctele
12
3 3 2
8 , 5
, folosind
4 1
2
Interpolarea funciilor
157
% Matlab
function [x,y,xi,yi]=cub % Nodurile x=[0,pi/6,pi/4,pi/3,pi/2]; % Valorile functiei in noduri y=[0,1/2,1/2^(1/2),3^(1/2)/2,1]; % Valorile in care se interpoleaza functia xi=[pi/12,pi/8,pi/5]; % Apelarea functiei Matlab spline care face interpolarea yi=spline(x,y,xi); Funcia considerat este f(x)=sinx i putem compara valorile de interpolare cu cele "exacte": zi=sin(xi); Pentru reprezentarea grafic a funciei interpolate se poate folosi urmtoarea secvena MATLAB. % Reprezentarea grafica a functiei interpolate plot(x,y,xi,yi,'*',xi,zi,'o'); axis([0,pi/2,0,1.2]); % se stabilesc intervalele de reprezentare pe axe title('Interpolarea cu spline cubice'); xlabel('Unghiul'); ylabel('Valorile functiei'); grid
Exerciii
Folosind polinomul de interpolare a lui Lagrange s se determine valoarea aproximativ a funciilor date de tabelele urmtoare n punctele a menionate n fiecare caz. 1. x 0 1 3 3 2 y=f(x) 91 23 1 73 1 a=1.
158
R.
P4 (a ) = yi
i =1 5 5
a xj xj
j =1 xi j i
= y1
a x2 a x3 a x4 a x5 + x1 x2 x1 x3 x1 x4 x1 x5
a= R.
3 . 8
3 P5 8 Folosind = 0.92388 . metoda Aitken s se gseasc valoarea aproximativ a funciilor
a=0.5 . R. Urmrind calculele ca n Teorema 1 4.2 obinem tabelul urmtor n care ultima celul d valoarea aproximativ a funciei n punctul dat. 2 1 0 1 3 2.5 1.5 0.5 0.5 2.5 12 5 4 3 23
5.75 2 5.5
3.875 3.875
3.875
Interpolarea funciilor
159
0.58768 0.58752
0.58780
5. S se determine valorile funciei f n punctul 0.5 folosind interpolarea spline cubic, tiind c:
xi y i = f ( xi )
0 1
0.25 0.96923
0.75 0.75484
1 0.60653
i c valorile lui f ' n punctele x 0 i x3 sunt: y '0 = 0 , y '3 = 0.60653 . R. Vom gsi funcia spline cubic s ce interpoleaz funcia f , dac determinm coeficienii M i , i = 0, 2 . Coeficienii M i se determin prin rezolvarea sistemului de ecuaii liniare AM = b, unde
h0 3 h0 h0 A 6 0 3 h1 6 0 h1 3 h2 6 h0 6 h1 y1 0 h1 6 0 y2 b h1 y3 h2 y' 3 y3 h2 y2 y2 h1 y2 h0 y1 y0 y' 0 y1 h0 y1 y0
0 h2 h2 6 h2 3
iar hi = xi+1 xi
i = 0, 2
160
( x 2 x) M 1 + ( x x1 ) M 2 h1 6 Calculm valoarea funciei s n punctul dat: s (0.5) = 0.882 . Deci, valoarea aproximativ a lui f n punctul 0.5 este 0.882. 6. S se determine valorile funciei f n punctul 3 folosind interpolarea spline cubic, tiind c:
xi y i = f ( xi )
1 0.5403
2 0.70121
4 0.80805
5 0.83382
161
Fie f : [a,b] R o funcie integrabil. Dac putem gsi o primitiv F a funciei f, atunci conform formulei LeibnizNewton avem
b a b
f ( x )dx = F (b) F (a ) .
f ( x )dx
O abordare fireasc este s aproximm funcia f printrun polinom, de exemplu prin polinomul de interpolare a lui Lagrange i s integrm acest polinom. Prin formul de integrare numeric (cuadratur numeric) se nelege o formul de urmtorul tip
b a
w( x ) f ( x )dx = A1 f ( x1 ) + ... + An f ( xn ) + R( f )
(1)
unde { xi } se numesc noduri, iar { Ai } se numesc coeficieni. Funcia w este o funcie fixat, integrabil, care se numete funcia pondere. n multe cazuri w(x)=1, () x [a,b]. Despre funcia f se presupune c este integrabil pe [a,b] i definit n nodurile { xi }. Cu R( f ) se noteaz eroarea de aproximare a integralei.
Definiia 1. Formula (1) se spune c este exact pentru funcia f dac R( f ) = 0, deci dac
w( x ) f ( x )dx = A1 f ( x1 ) + A2 f ( x2 ) + ... + An f ( xn ) .
Formula (1) se spune c este de gradul m dac: (i) este exact pentru orice polinom de grad cel mult m ; (ii) exist un polinom de gradul (m+1) pentru care formula (1) nu este exact.
162
Teorema 1. Pentru orice n noduri distincte, x1, ..., xn , exist n constante A1, A2, ..., An (care nu depind de f ) astfel nct formula
w( x) f ( x )dx = A1 f ( x1 ) + A2 f ( x2 ) + ... + An f ( xn ) + R( f )
a
este exact pentru orice polinom de grad cel mult (n1). Demonstraie. Fie Pn 1 ( x) = Li ( x) f ( xi )
i =1 n
i mai departe
b b w( x ) f ( x )dx = w( x ) Li ( x )dx f ( xi ) + w( x ) E ( f ; x )dx . i =1 a a a Notm cu
Ai = w( x ) Li ( x )dx , i = 1, n .
a
R( f ) = w( x ) E ( f ; x )dx ,
a
atunci
w( x) f ( x )dx = A1 f ( x1 ) + A2 f ( x2 ) + ... + An f ( xn ) + R( f ) .
a
Dac f este un polinom de grad cel mult (n1), atunci E(f;x)=0 i deci R( f )=0 (Capitolul IV, 1, Observaia 1). Exist trei tipuri de formule de integrare numeric:
163
1. Formule NewtonCtes, 2. Formule Gauss, 3. Formule Romberg. n cele ce urmeaz vom prezenta primele dou tipuri de formule.
Dac facem schimbarea de variabil x=a+th, atunci , aa cum sa vzut n 4.1, avem
n ( 1) n i C i ~ n n +1 (t ) Pn (t ) = Pn (a + th) = f ( xi ) n! t i i =0 (t ) ~ E ( f ; t ) = n+1 h n+1 f ( n+1) ( t ) , (n + 1)!
unde
Introducem notaiile:
164
di =
t i
dt , i=0 ,n
(2)
f ( x)dx = Ai f ( xi ) + R( f )
i =0
(4)
unde Ai = hdi , i = 0, n . Primele trei formule NewtonCtes au nume speciale. Dac n=1 obinem formula trapezelor. n acest caz h = ba,
d0 =
0 1 1 11 1 (1)1 C1 (1) 0 C1 t (t 1) 1 t (t 1) 1 , ( 1 ) dt = t dt = d = dt = tdt = 1 1! t 2 1! 2 0 t 1 0 0 0
Rezult A1 = A2 =
h 2
(5)
(b a ) M 2 (b a ) 3 M2 t (t 1) dt = 2 12 0
165
Din punct de vedere geometric formula trapezelor (5) revine la a aproxima aria mulimii plane mrginit de graficul funciei f , axa Ox i dreptele x = a, x= b cu aria trapezului haurat n figur. ba , Dac n=2 obinem formula Simpson. n acest caz h = 2
0 2 (1) 2 C 2 t (t 1)(t 2) 12 1 dt = (t 2 3t + 2)dt = d0 = t 2! 20 3 0
d1 =
(1)1 C 1 2 2!
2 t (t
d2 =
(1) 2!
0 2 2 C 2 t (t
2 1)(t 2) 4 dt = (t 2 2t )dt = t 1 3 0
1)(t 2) 1 12 dt = (t 2 t )dt = . 3 20 t2
Formula Simpson este b ba a+b f (a) + 4 f ( ) + f (b) + R( f ) . f ( x)dx = 6 2 a Se poate arta c dac fC4[a,b] atunci M 4 (b a) 5 2880 unde M4=sup{ f IV (x) ; x[ a,b ] }. n sfrit, dac n=3, atunci ba 3 9 h= ; d 0 = d 3 = ; d1 = d 2 = . 3 8 8 Se obine formula 3/8 a lui Simpson b ba [ f (a) + 3 f (a + h) + 3 f (a + 2h) + f (b)] + R( f ) . f ( x)dx = 8 a R( f )
(7)
(8)
(9)
Pentru o mai bun aproximare a integralei se folosesc formulele NexwtonCtes repetate. Dac mprim intervalul [ a, b ] n n subintervale egale i aplicm formula (5) fiecrui interval [ xi1, xi ] , obinem: b n xi n x x i 1 [ f ( xi 1 ) + f ( xi )] + Ri ( f ) . f ( x ) dx = f ( x)dx = i 2 i =1 x i =1 a
i 1
(10)
166
(11)
Dac mprim intervalul [a,b] n 2n subintervale egale i aplicm formula Simpson (7) fiecrui interval [x2i2,x2i], obinem formula Simpson repetat b n n1 ba (12) f a f b f x ( ) ( ) 4 ( ) 2 + + + f ( x2i ) + R( f ) f ( x)dx = 2i 1 6n i =1 i =1 a unde
R( f )
Dac notm cu
M4 2880n 4
(b a )5
(13)
T n =
n1 ba f (a) + f (b) + 2 f ( xi ) 2n i =1
i cu
S n = n n 1 ba f (a ) + f (b) + 4 f ( x 2i 1 ) + 2 f ( x 2i ) , 6n i =1 i =1
T S atunci se poate arta c n i n sunt sume Riemann, sau combinaii liniare de sume Riemann ataate funciei f i c
Calculul aproximativ al integralelor definite folosind pachetul de programe MATLAB n MATLAB se afl programate metodele trapezelor, Simpson i 3/8 Simpson (funciile trapz, quad i quad8). Pentru calculul integralelor definite cu formula trapezelor trebuie s se cunoasc X, vectorul absciselor i Y, vectorul (matricea) valorilor funciei (funciilor) corespunztoare absciselor date de X. Secvena de apelare este: Z=trapz(X), cnd se calculeaz o singur integral i Z este un numr, valoarea integralei, sau Z =trapz(X,Y), cnd se calculeaz mai multe integrale deodat i Z este vectorul valorilor integralelor calculate. Aceast funcie consider h=1, iar atunci cnd h 1 , se nmulete cu h funcia trapz, aa cum se va vedea n exemplul urmtor.
Exemplul 1. S se calculeze valoarea aproximativ a integralei
2.5 0.5 2 sin( x )dx ,
167
Fiierul de tip m cu care se realizeaz aceast cerin este: % Calculul integralelor cu metoda trapezelor function z=trapez x=.5:0.1:2.5; %limita inferioara: pasul: limita superioara y=sin(x.^2); % integrandul z=0.1*trapz(y); % se inmulteste cu pasul, implicit pasul fiind 1 disp('Valoarea aproximativa a integralei'); Apelarea se face scriind trapez, iar valoarea afiat este 0.3924 . Pentru calculul integralelor definite cu una din formulele Simpson trebuie s se cunoasc X, vectorul absciselor i s se creeze un fiier de tip m care conine secvena de definire a funciei de integrat. Funciile quad i quad8 se apeleaz cu una din formele: quad('f',a,b) quad8('f',a,b) quad('f',a,b,err) quad8('f',a,b,err) quad('f',a,b,err,urma) quad8('f',a,b,err,urma) unde: f - este numele unui fiier funcie (de tip m ) care conine descrierea funciei de integrat; a, b - sunt limitele de integrare; err - eroarea relativ admis ntre doi pai consecutivi (implicit este 103); urma - dac este diferit de zero, se afieaz pe ecran valorile intermediare. Dac nu se cunoate expresia analitic a funciei, ci doar X , vectorul absciselor, i Y, vectorul valorilor funciei n aceste puncte, atunci se interpoleaz funcia i se consider fiierul f, de tip m, care conine funcia de interpolare, dup care se calculeaz integrala din aceast funcie. Pentru exemplu de mai sus se creeaz fiierul f cu funcia de integrat: % Fisierul cu functia de integrat numit f de tip m function g=f(x) g=sin(x.^2); % integrandul dup care se apeleaz cu secvena: quad('f',0.5,2.5,0.00001) i se va afia valoarea 0.3890 . Am considerat eroarea relativ dintre doi pai consecutivi 105. unde: f - este numele unui fiier funcie (de tip m ) care conine descrierea funciei de integrat; a, b - sunt limitele de integrare; err - eroarea relativ admis ntre doi pai consecutivi (implicit este 103); urma - dac este diferit de zero, se afieaz pe ecran valorile intermediare. Dac nu se cunoate expresia analitic a funciei, ci doar X , vectorul absciselor, i Y, vectorul valorilor funciei n aceste puncte, atunci se interpoleaz funcia i se consider fiierul f, de tip m, care conine funcia de interpolare, dup care se calculeaz integrala din aceast funcie. Pentru exemplu de mai sus se creeaz fiierul f cu funcia de integrat: % Fisierul cu functia de integrat numit f de tip m
168
function g=f(x) g=sin(x.^2); % integrandul dup care se apeleaz cu secvena: quad('f',0.5,2.5,0.00001) i se va afia valoarea 0.3890. Am considerat eroarea relativ dintre doi pai consecutivi 105.
w( x) f ( x)dx = A1 f ( x1 ) + A2 f ( x 2 ) + ... + An f ( x n ) + R( f )
(1)
este exact pentru orice polinom de grad cel mult (n1). n anumite cazuri, aceast formul este exact i pentru polinoame de grad mai mare. De exemplu, formula Simpson, care corespunde la 3 noduri echidistante, este exact pentru polinoame de grad cel mult 3. n cele ce urmeaz vom stabili care este gradul maxim de exactitate al formulei (1). Vom arta c pentru n noduri, gradul maxim de exactitate este (2n1) i aceast se ntmpl pentru formula Gauss, cnd nodurile sunt rdcinile unor polinoame ortogonale. De acum nainte vom presupune c 0 w, w este continu pe [a,b] i w(x) = 0 numai pentru un numr finit de puncte din [a,b].
Definiia 1. Dac
b a
w( x) f ( x) g ( x)dx = 0
w( x) (a0 + a1 x + ... + a n x
)Q( x) dx = 0
169
Observm c dac f este ortogonal pe g atunci f este ortogonal pe g. Rezult c putem presupune an = 1. Observm de asemenea c dac f este ortogonal pe g1 i g2 , atunci f este ortogonal pe 1g1+2g2 , oricare ar fi constantele 1 i 2. Rezult c este suficient s determinm a0, a1, ..., an1 astfel nct pentru orice m{0, 1, ..., n1} s avem:
b
w( x)(a0 + a1 x + ... + a n1 x
n 1
+ x n x m dx = 0
(2)
(3)
atunci, dndui lui m pe rnd valorile 0, 1, ..., (n1) n relaia (2) obinem: a 0 c0 + a1c1 + ... + a n1c n 1 = c n a c + a c + ... + a c = c 0 1 1 2 n 1 n n +1 (4) M a 0 c n 1 + a1c n + ... + a n 1c 2n 2 = c 2n 1 Problema ar fi rezolvat dac am arta c detC 0, unde c1 L c n 1 c0 cn c1 c 2 L C = . M M M M c n 1 c n L c 2n 2 Presupunem prin absurd c detC = 0. Atunci exist 0, 1, ..., n1 nu toi nuli, astfel nct + 1c1 + ... + n1c n 1 =0 0 c0 c + n 1c n =0 0 1 + 1c 2 + ... (5) M 0 c n 1 + 1c n + ... + n1c 2n 2 = 0 . nlocuind expresiile coeficienilor ck dai de relaiile (3) n (5) rezult: b n 1 dx = 0 w(x) 0 + 1 x + ... + n 1 x a . (6) M b n 1 + 1 x n + ... + n1 x 2n 2 dx = 0 w(x) 0 x a Amplificnd pe rnd, prima relaie cu 0, a doua cu 1 , i aa mai departe, i adunndule, rezult
170
(7)
w(x) [0+1x+ ... +n1xn1]2 = 0 pentru orice x[a,b]. Cum w se anuleaz numai ntr un numr finit de puncte din [a,b], rezult 0+1x+ ...+n1xn1=0. Am ajuns astfel la o contradicie. Aadar, detC 0 deci sistemul (4) admite soluie unic. * * * Dac notm cu a 0 , a1 , ..., a n 1 soluia sistemului (4), atunci
* * * * n 1 Pn ( x) = a 0 + a1 x + ... + a n + xn 1 x
i cu aceasta teorema este demonstrat. Polinoamele ortogonale ponderea w i de intervalul [a,b]. Intervalul [1,1] [1,1] [1,1] Ponderea w(x)=1 1 w(x)= 1 x2 w(x)= 1 x 2 w(x)= e x w(x)=ex
{ Pn* }
( , )
[0, )
[1,1]
Polinomul Jacobi
{ }
* Pn
n continuare vom exemplifica cum se pot construi polinoamele ortogonale cu ajutorul Teoremei 1. Fie [a,b] = [1,1] i w(x)=1. 2 1 pentru k par k +1 1 x k + 1 k = c k = x dx = (8) k +1 1 1 pentru k impar 0 S construim de exemplu polinomul Legendre de gradul 3. Sistemul (4)
devine:
171
c 0 a 0 + c1a1 + c 2 a 2 = c3 c1a 0 + c 21a1 + c3 a 2 = c 4 c a + c a + c a = c 3 1 4 2 5 2 0 nlocuind (8) n (9) rezult 2 a 0 + 2 a1 3 2a 0 3 care admite soluia: a0 = a2 = 0 ; a1 =
(9)
2 a2 3 2 a2 5
=0 = 2 5
=0
3 3 * ( x) = x 3 x . . Aadar, P3 5 5 Primele ase polinoame Legendre sunt: 1 6 3 3 10 15 x 1 ; x ; x2 ; x3 x ; x4 x2 + ; x5 x3 + 3 7 35 5 9 63 1 . Fie [a,b] = [1,1] i w(x)= 2 1 x 1 1 1 x 1 c0 = dx = arcsin x 1 = ; c1 = dx = 0 . 1 1 x 2 1 1 x 2
Pentru calculul coeficienilor c k =
1
xk 1 x2
dx , facem schimbarea de
c k = sin k xdx =
k 1 k 1 2 k 2 ck 2 . xdx = sin k k
2
Rezult ck = 0 pentru orice k impar i 5 3 3 c2 = ; c 4 = ; c 6 = etc. 6 4 2 4 2 2 * S determinm polinomul Cebev de spea I, T3 . Sistemul (4) devine a 0 + a1 2 a + 0 2
a2
=0 = 3 8
a2
=0
172
3 3 * = x3 x . care admite soluia: a0 = a2 = 0, a1 = . Aadar T3 4 4 n Capitolul IV, 3 am artat c polinomul Cebev de gradul trei este: T3(x)=4x33x. Dup cum am precizat n Teorema 1, polinomul ortogonal se determin n afara unui factor constant de multiplicare. * * i n general Tn=2n1 Tn , nN. Observm c avem T3 = 4 T3
* Teorema 2. Fie Pn un polinom de gradul n care este ortogonal pe intervalul [a,b] n raport cu ponderea w, pe orice polinom de grad mai mic ca n. Atunci * zerourile polinomului Pn sunt reale, simple i aparin intervalului [a, b]. Demonstraie. * Fie xi , i = 1, k , zerourile polinomului Pn i fie mi ordinul de multiplicitate al zeroului xi. Rezult
* Pn ( x) = ( x x1 ) m1 ... ( x x k ) mk , unde m1+ m2+...+ mk = n. Presupunem c numerotarea zerourilor sa fcut astfel nct x1, ..., xl , l k sunt zerouri reale, aparin intervalului [a, b] i au ordinele de multiplicitate impare. Dac l = n , teorema este demonstrat. S presupunem c l < n . Considerm atunci polinomul Ql(x)=(xx1)(xx2)...(xxl). * (Dac l = 0, atunci alegem Q0 = 1). Rezult c polinomul produs Pn ( x )Ql ( x ) pstreaz semn constant pe [a,b], deci
b
w( x) Pn ( x)Ql ( x)dx 0 ,
w( x) f ( x)dx = A1 f ( x1 ) + A2 f ( x 2 ) + ... + An f ( x n ) + R( f ) ,
(1)
* unde nodurile x1, x2, ..., xn sunt zerourile polinomului Pn care este ortogonal pe [a, b], n raport cu ponderea w , pe orice plinom de grad mai mic ca n. Vom avea astfel formule de cuadratur de tip GaussLegendre, GaussCebev, GaussHermite etc.
Teorema 3. Orice formul de cuadratur de tip Gauss are gradul de exactitate 2n1.
173
Demonstraie. Din Teorema 1 din introducerea n Capitolul V , tim c formula (1) este exact pentru polinoame de grad mai mic ca n. Fie Qm un polinom de gradul m, unde m{ n, n+1, ..., (2n1) }. Din teorema mpririi avem * Qm ( x ) = Qm n ( x ) Pn ( x) + Rn 1 ( x ) ,
unde Rn1 este un polinom de gradul n1. Fie xk, k = 1, n , zerourile polinomului
* . Evident, rezult Pn
(10)
*
b
Deoarece
deci formula (1) este exact pentru orice polinom de grad mai mic ca 2n. * 2 ) , atunci g este un polinom de Pe de alt parte dac notm cu g = ( Pn grad 2n i restul
Aadar, formula (1) nu este exact pentru acestei formule este 2n1.
Observaia 1. Orice formul de cuadratur care are gradul de precizie (2n1) este o formul Gauss. ntradevr, considerm formula
b a
w( x) f ( x)dx = A1 f ( z1 ) + A2 f ( z 2 ) + ... + An f ( z n ) + R( f )
(11)
174
Dac Q este un polinom de grad mai mic ca n, atunci polinomul produs UnQ , are gradul cel mult 2n1 i formula (11) este exact pentru acest polinom. Rezult
b a
Rezult c Un este un polinom de gradul n, care este ortogonal, n raport cu ponderea w, pe orice polinom de grad cel mult (n1) . Din Teorema 1 * * rezult c Un = c Pn i deci c z1, ..., zn sunt zerourile polinomului Pn . Aadar, formula (11) este o formul Gauss.
Observaia 2. Coeficienii Ak din formula Gauss sunt pozitivi. * ntradevr, fie xk, k = 1, n , zerourile polinomului Pn , i fie
Qj(x) =
i =1 i j
(x x j ) 2 .
Evident, gradQj = 2n2 i Qj(xi) = 0 dac ij. Deoarece Qj 0 i formula (1) este exact pentru Qj rezult
Aj =
w( x)Q j ( x)dx
Q j (x j ) , j=1,n .
(12)
lim I n = w( x) f ( x)dx .
a
Demonstraie. Din teorema Weierstrass (Capitolul IV, Teorema 4) rezult c pentru orice > 0 exist un polinom P astfel nct f ( x) P ( x) < pentru orice x[a, b] .
Fie n > grad P . Atunci formula Gauss este exact pentru P i avem:
175
( n) ( n) w( x) f ( x) dx I n = w( x) f ( x) dx Ai f ( xi )
a i =1 b
a b
( n) (n) ( n) w( x) [ f ( x) P ( x)] dx + Ai P ( xi ) f ( xi )
i =1 n
w( x)dx = Ai
i =1
( n)
lim I n = w( x) f ( x)dx
a
(13)
Punnd condiia ca formula (13) s fie exact pentru 1, x i x2 obinem sistemul: A1 + A2 + A3 = 2 3 3 A0 + A3 = 0 5 5 3A +3A =2 0 3 5 3 5 5 8 care admite soluia: A0 = A3 = i A1 = . 9 9
176
Fie f : D R2 R o funcie continu, unde D=[ a,b ] [c,d] este un dreptunghi. Atunci:
f ( x, y ) dy dx f ( x, y )dxdy =
D a c bd
(1)
Pentru fiecare integral simpl putem aplica o formul de integrare numeric. De exemplu, dac aplicm formula trapezelor obinem
bd
f ( x, y )dxdy
D
c [ f ( x, c) + f ( x, d )]dx = 2 a
ba d c [ f (a, c) + f (a, d ) + f (b, c) + f (b, d )] = 2 2 Aadar, formula trapezelor pentru integrala (1) este
f ( x, y)dxdy =
D
(2)
f ( x, y )dxdy =
(3)
unde x1 =
c+d a+b , y1 = . 2 2
Pentru o mai bun aproximare a integralei se folosesc formulele repetate. Dac domeniul de integrare nu este un dreptunghi, atunci se construiete un dreptunghi D* , cu laturile paralele cu axele de coordonate i care include dreptunghiul D . Considerm funcia auxiliar
177
f ( x, y ) f * ( x, y ) = 0
Integrala pe D se va aproxima cu
y
*
f ( x, y )dxdy f ( x, y )dxdy ,
D D*
iar ultima integral se calculeaz cu una din formule (2) sau (3).
O
D D* x
Fie
Pn ( x; x 0 ,..., x n )
(1)
polinomul Q este de forma: Q(x) = a(xx0) ... (xxn) . Coeficientul Aadar, avem: Q(x) = (xx0) ... (xxn) f [ x0, x1, ..., xn] (3) Din (1) rezult, pe de o parte, c f[x0, x1, ..., xn] este coeficientul lui xn n polinomul lui Lagrange Pn(x; x0, x1, ... , xn), iar pe de alt parte c avem relaia: Pn(x; x0, x1, ..., xn) = Pn-1(x; x0, x1, ..., xn-1) + +(xx0)...(xxn1) f[ x0, ... , xn] (4) a se numete diferena divizat de ordinul nodurilor x0, x1, ... , xn i funciei f i se noteaz cu f[x0, x1, ..., xn] . (2) n corespunztoare
178
Particularizndu-l pe n obinem:
P0(x;x0) = f(x0) P1(x;x0, x1) = f(x0) + (xx0) f[ x0, x1] P2(x;x0, x1, x2) = f(x0) + (xx0) f[ x0, x1]+ (xx0) (xx1) f[ x0, x1, x2]
......................
Pn(x) = f(x0) + (xx0) f[ x0, x1] +...+ (xx0)...(xxn1) f[ x0, x1, ..., xn] interpolare al lui Newton.
(5).
Forma (5) a polinomului de interpolare poart numele de polinomul de n continuare prezentm principalele proprieti ale diferenelor divizate. 1) Diferena divizat de ordinul n este invariant la permutarea nodurilor, adic:
f[ x0, x1, ..., xn]= f [ xi0 , xi1 , ..., xin ] .
Pn ( x; x0 ,..., x n ) =
(6)
f [x0 , x1 ,..., xn ] =
(7)
Cum expresia din membrul drept al relaiei (7) este simetric n raport cu cu nodurile x0, x1, ..., xn , rezult c diferena divizat dordinul n , f[ x0, x1, ..., xn] este invariant n raport cu permutarea nodurilor. f [x1 ,..., x n ] f [x0 ,..., x n1 ] 2) f [x0 ,..., x n ] = x n x0 Pentru a demonstra aceast proprietate observm pentru nceput c polinomul lui Lagrange verific urmtoarea relaie: ( x x0 ) Pn1 ( x; x1 ,...x n ) ( x x n ) Pn1 ( x; x 0 , x1 ,...x n1 ) Pn ( x; x0 ,..., x n ) = x n x0 (8) ntr-adevr, dac notm cu R( x) membrul drept al relaiei (6) obinem: (x x n ) R( x0 ) = 0 f ( x0 ) = f ( x0 ) x n x0
179
R( x n ) =
(x n x0 )
x n x0
f ( xn ) = f ( xn )
Aadar, R ( xi ) = f ( xi ), i = 0, n, deci R ( x) Pn (x; x 0 ,..., x n ) conform unicitii polinomului de interpolare Lagrange. Egalnd coeficientul lui xn din membrul stng al relaiei (8) cu coeficientul lui xn din membrul drept al acestei relaii f [x1 ,..., x n ] f [x0 ,..., x n1 ] obinem f [x0 ,..., x n ] = . x n x0 3) Dac f este de clas C n+1 , atunci pentru orice t [a, b] ,
t xi
, i = 0, n
f ( n+1) ( t ) , unde t [a, b ] . (n + 1)! ntr-adevr, fie Pn +1 ( x ) = Pn +1 ( x; x 0 ,..., x n , t ) polinomul Lagrange interpoleaz funcia f n nodurile x 0 ,..., x n , t . Atunci avem Pn+1(x) = Pn(x) + (xx0) ... (xxn) f[ x0, x1, ..., xn, t]. Deoarece Pn +1 (t ) = f (t ) rezult c eroarea n punctul t este E(f;t) = f(t) Pn(t) = (tx0) ... (txn) f[ x0, x1, ..., xn, t]. (9)
care
Pe de alt parte din Teorema 2, 4.1 tiim c dac f este de clas C n+1 , atunci exist t [a, b ] astfel nct
f ( n+1) ( t ) E( f ; t) = (t x0 )...(t x n ) (n + 1)!
(10)
(11)
180
unde
t0 = 1 ti .
i =1
1 1 f [x0 + t1 ( x1 x0 )] 0 = x1 x0
f ( x1 ) f ( x0 ) = f [x0 , x1 ] x1 x0
t2 (0,1) T2 O
n continuare demonstraia se face prin inducie matematic. Trecerea de la Tn la Tn+1 este asemntoare cu
(1,0)
t1 trecerea de la T1 la T2 .
181
x.
= f [x 0 ,..., x n , x, x ]
Aproximarea numeric a derivatelor se folosete de regul n dou situaii. Prima situaie se refer la calculul derivatelor unei funcii dat printrun tabel de valori. A doua situaie se refer la aproximarea derivatelor n cadrul metodelor numerice de rezolvare a ecuaiilor difereniale sau cu derivate pariale. O cale fireasc de abordare a derivrii numerice, este aceea de a aproxima derivata funciei f prin derivata polinomului Lagrange Pn ( x; x 0 ,..., x n ) care f n nodurile x0, x1, ..., xn. n continuare notm derivata
interpoleaz funcia
numeric a funciei f cu Dh f i o definim prin: ( x; x 0 ,..., x n ) . Dh f ( x) def Pn Aadar folosim aproximarea f ( x ) Dh f ( x ) . Pentru n = 1 avem P1 (x; x 0 , x1 ) = f ( x 0 ) + (x x 0 ) f [x 0 , x1 ] deci (1)
f ( x) P1(x; x0 , x1 ) = f [x0 , x1 ] =
f ( x1 ) f (x0 ) f ( x1 ) f ( x0 ) = , x x1 x0 h
182
f ( x0 )
f ( x1 ) f (x0 ) h
(2)
Pentru n = 2 avem
P2 (x; x 0 , x1 , x 2 ) = f ( x 0 ) + (x x 0 ) f [x 0 , x1 ] + (x x 0 )(x x1 ) f [x 0 , x1 , x 2 ] deci (x; x0 , x1 , x2 ) = f [x0 , x1 ] + [2 x (x0 + x1 )] f [x0 , x1 , x2 ] , x P2
Dac presupunem n plus c nodurile sunt echidistante rezult: (x 0 ; x 0 , x1 , x 2 ) = f (x 0 , x1 ) + (x 0 x1 ) f [x 0 , x1 , x 2 ] = P2 f (x1 ) f (x 0 ) f [x1 , x 2 ] f [x 0 , x1 ] = (x1 x 0 ) = x1 x 0 x 2 x0 f (x 2 ) f (x1 ) f (x1 ) f (x 0 ) f (x1 ) f (x 0 ) h h = = h h 2h 3 f (x 0 ) + 4 f (x1 ) f (x 2 ) = 2h Aadar, pentru trei noduri echidistante avem aproximarea:
f ( x0 )
3 f (x0 ) + 4 f (x1 ) f (x 2 ) 2h
(3)
n continuare ne propunem s evalum eroarea la derivarea numeric. Dac notm cu Un(x) = (xx0) ... (xxn) , atunci din relaiile (10) i (11) de la 5.4 rezult E(f;x)=f(x)Pn(x; x0 , ..., xn) = Un(x)f [x0 , ..., xn, x]. innd seama acum i de Corolarul 1 obinem:
f (x)Dhf(x) = Un'(x) f[x0, ..., xn, x] + Un(x) f[x0, ..., xn, x, x].
(4)
caz
(x0 ) f ( x 0 ) D h f ( x 0 ) = U 1 f " ( x0 ) 2! +0 ~ f ( x0 ) 3! = h f " ( x0 ) 2
(5)
183
f ( x0 )
f ( x1 ) f (x0 ) h = f " ( x0 ) 2 h
(6)
f ( x0 ; x0 , x1 , x 2 ) = f ( x0 ) P2
f ( x0 ) 3!
( x0 ) + U2
~ f iv ( x0 ) 4!
U 2 ( x0 )
f ( x0 ; x 0 , x1 , x 2 ) = f ( x0 ) P2
h2 f ( x0 ), unde x 0 ( x 0 , x 2 ) . 3
f ( x0 )
3 f (x0 ) + 4 f (x1 ) f (x 2 ) = Dh f ( x 0 ) 2h
h2 f ( x0 ) 3
(7)
n sfrit s vedem cum se poate aproxima derivata de ordinul 2. n cazul a 3 noduri echidistante avem
( x0 ; x0 , x1 , x 2 ) = 2 f [x 0 , x1 , x 2 ] = f ( x 0 ) = P2 = f ( x 2 ) 2 f ( x1 ) + f ( x 0 ) h
2
(8)
( x0 ) = f " ( x0 ) P2
h 2 IV f ( x0 ) , unde x0 ( x0 , x2 ) 12
(9)
184
MATLAB permite aproximarea derivatei numerice a unei funcii folosind diferenele divizate, prin intermediul funciei diff.
Exemplu 1.
S se aproximeze derivata funciei f(x) = ln(x4+x2+1) pe intervalul [0.5, 2.5] n puncte echidistante (h = 0.1) folosind MATLAB. Secvena care realizez aceast aproximare este: % Calculul derivatei numerice x = 0.5:0.1:2.5; % punctele in care se face aproximarea f(x) = log(x.^4+x.^2+1); % functia a carei derivata se doreste disp('Valorile derivatei'); df = diff(log(x.^4+x.^2+1))./diff(x) Se va afisa: Valorile derivatei 1.2657 2.0060 1.5293 1.4967 1.9612 1.4809 1.6947 1.9100 1.8499 1.8552 1.9597 1.7989 2.0270 1.7423 2.0579 1.6866 2.0600 1.6323 2.0406 1.5798
Pentru calculul derivatei folosind diferenele centrate se poate scrie secvena MATLAB: % Calculul derivatei numerice folosind diferentele divizate x=0.55:0.1:2.5; % punctele in care se face aproximare g=log(x. ^4+x. ^2+1; % functia a carei derivata se doreste dg=g(3:length(g))g(1:length(g)2); dx=x(3:length(x))x(1:length(x)2); disp(Valorile derivatei); dy=dg./dx % derivata in punctele x=0.6 , 0.7 pana la 2.4 Se afieaz rezultatele: Valorile derivatei
185
1.5957 1.99356
1.7723 1.8826
1.9048 1.8270
1.9934 1.7706
2.0424 1.7145
2.0589 1.6595
2.0503 1.6060
2.0233 1.5545
Pentru a folosi polinomul de interpolare Newton pentru calculul derivatelor de ordinul nti i doi pentru funcia de mai sus, se poate scrie secvena MATLAB: % Calculul derivatelor de ordinul intai si doi % folosind polinomul de interpolare Newton in x(1) x=0.5.0.1:1.3; h=x(2)x(1); y=log(x.^4+x.^2+1); % functia ale carei derivate se aproximative se calculeaza d1y=diff(y); d2(y)=diff(d2y); d3y=diff(d2y); d4(y)=diff(d3y); d1f=(1/h)*(d1y(1)d2y(1)/2+d3y(1)/3d4y(1)/4), d2f=(1/h^2)*(d2y(1)d3y(1)+(11/12)*d4y(1)); disp(Derivata de ordinul intai in x(1)); disp(d1f); disp(Derivata de ordinul doi in x(1)); disp(d2f); Se afieaz rezultatele: Derivata de ordinul intai in x(1) 1.1416 Derivata de ordinul doi in x(1) 2.5519
Exemplul 2. Fie funcia dat prin tabelul de valori:
xi 0 2 f(xi) 1 5 S se calculeze f (0) folosind derivata polinomului de interpolare al lui Lagrange. Aproximnd funcia cu polinomul de interpolare al lui Lagrange, conform (2) rezult f ( x1 ) f ( x0 ) 5 1 f ( x0 ) , f ( x0 ) =2 . h 2
186
S se calculeze f ( 2) i f ( 2) . Aproximnd funcia cu polinomul de interpolare al lui Lagrange, conform (3) rezult 3 f (x0 ) + 4 f (x1 ) f (x2 ) 3 3 + 4 11 27 f ( x0 ) , f (2) = =2 . 2h 22 De asemenea conform (8)
f ( x0 ) = f ( x2 ) 2 f ( x1 ) + f ( x0 ) h
2
f (2) =
27 2 11 + 3 =2. 4
187
Exerciii
Folosind metoda trapezelor s se calculeze valoarea aproximativ a urmtoarelor integrale:
1.
sin x x
12
R.
h=
12
, xi =
12
+i
12
, i = 1,4 , a =
12
, b=
, I=1.003 .
2.
cos x x
10
R. 3. R.
h=
3 0
10
, xi =
10
+i
10
, i = 1,3 , a =
10
, b=
, I=0.86398 .
x2 2 dx
3 = 0.75 , xi = 3 i , i = 1,3 , a = 0 , b = 3 , I = 2.24845 . 4 Pentru fiecare din cele trei exerciii de mai sus s se calculeze valoarea aproximativ a integralei dublnd valoarea lui n . h=
S se calculeze valoarea aproximativ a urmtoarelor integrale folosind metoda lui Simpson, considernd m , numrul de subintervale egale, specificat n fiecare caz n parte:
5.
cos x x
dx
(m = 8 )
10
R.
n=4, h=
20 I = 0.8452 .
, xi =
10
+i
20
, i = 1,7 , a =
10
, b=
188
6.
sin x x
dx
(m = 8 )
12
R.
n=4, h=
x2 2 dx
5 +i , i = 1,7 , a = , xi = , b= , 12 96 96 12 2 I = 1.00966 .
, (m = 8 )
7. R. 8.
3 0
1 i
4
f (0)
1 i
9
f (0)
interpolare al lui . R.
f (0) = 8 , f (0) = 12
189
11.
aproximativ a integralei R.
x2 2 dx
.
b
schimbarea de variabil
ba b+a t+ , pentru a avea limitele de integrare 2 2 1 i 1 i astfel se obine formula b ba n (2) Ai f ( xi ) . f ( x)dx = 2 i =1 a x=
Se ajunge la integrala
3 2 1
1 3t +3 1 e 2 2
2
dt
4. Polinomul Legendre de gradul 4 este GaussLegendre de ordinul 6 3 P4 ( x) = x 4 x 2 + , are rdcinile x1 =0.8611 , x2 = 0.34 , x3 = 0.34 , 7 35 x4 = 0.8611 . Coeficienii Ai formula GaussLegendre de ordinul 4 sunt: A1 = 0.34785 = A4 , A2 = 0.65215 = A3 . I = 1.25018 . 12. Folosind formula GaussLegendre de ordinul 5, s se calculeze valoarea aproximativ a integralei R.
2 0 2 cos x dx .
creia i se
poate aplica formula GaussLegendre de ordinul 5. Polinomul Legendre de gradul 10 15 x , are rdcinile 5 este P5 ( x) = x 5 x 3 + 9 63 x1 =0.90618 , x2 = 0.53847 , x3 = 0 , x4 = 0. 53847, x5 = 0.90618 . Coeficienii Ai formula GaussLegendre de ordinul 5 sunt: A1 = 0.23693 = A5 , A2 = 0.47863 = A4 , A3 = 0.56889 . I = 0.46123 . 13. S se determine valoarea aproximativ a integralei sin x 2 dx folosind
0 1
190
R.
poate aplica formula GaussLegendre de ordinul 3. innd seama de Exemplul din Capitolul 5 2 se obine I=0.31028 . S se calculeze valoarea aproximativ a urmtoarelor integrale duble: 14.
D x2 + y2
)dxdy
a) D = { (x,y)R2 | |x|0.5 , |y|1 } , b) D = { (x,y)R2 | x2+y24 , x0 , y0 } folosind formula trapezelor cu n = 4 subintervale egale pe axa Ox i m = 4 subintervale egale pe axa Oy. bd R. Pentru calculul integralei I = f ( x, y )dxdy = f ( x, y )dy dx unde D D a c = [a, b][c, d] se folosete formula trapezelor repetat hk { f (a, c) + f (a, d ) + f (b, c) + f (b, d ) + I= 4 m 1 n 1 n 1 m1 + 2 f ( a, y j ) + f (b, y j ) + f ( xi , c) + f ( xi , d ) + + j =1 i =1 i =1 j =1
+ 4 f ( xi , y j )
i =1 j =1
n 1m1
}
(1)
unde ba d c h= , k= , xi = a + ih , i = 1,n-1 , y j = c + jk , j = 1,m-1 n m a = 0.5 , b = 0.5 , c = 1 , d = 1 , h = 0.25 , k = 0.5 , I = 1.33754 a) Se trece la coordonate polare pentru a transforma sfertul de disc de raz b) 2 din cadranul nti ntrun dreptunghi x = cos 0, 2 , iar iacobianul este J = y = sin s [0, 2] i se aplic formula de mai sus integralei
191
2 2 2 2 2 I = e x + y dxdy = e d d D 00 i rezult I = 0.73332 . ln x 2 + y 2 15. dxdy , mulimea de integrare fiind precizat de 2 2 D x + y a) D = { (x,y)R2 | 1x2 , 0y2 } , b) D = { (x,y)R2 | 1x2+y24 , 0x , 0y } folosind formula trapezelor cu n = 2 subintervale egale pe axa Ox i m = 4 subintervale egale pe axa Oy. R. a) nlocuind n formula (1) ln x 2 + y 2 a = 1 , b = 2 , c = 0 , d = 2 , h = 0.5 = k i f ( x, y ) = x2 + y2 se obine I = 0.636 . b) Trecnd la coordonate polare se aplic formula (1) pentru 2 ln , f ( , ) = a=1, b=2, c=0, d= 2 i se obine I = 0.73976 .
191
192
Observaie. Dac
pe D. ntr-adevr, din Teorema lui Lagrange rezult f f ( x, y ) f ( x , z ) = ( x, c)( y z ), y pentru un anumit c ntre y i z, deci putem alege f ( x, y ) . L = max ( x, y )D y
(4)
n ce privete existena i unicitatea soluiei problemei (1)-(2), are loc urmtoarea teorem.
Teorema 1. Presupunem c sunt ndeplinite condiiile: (i) f este continu pe [a, b] n raport cu x ; (ii) f este lipschitzian pe D n raport cu y ; (iii) (x0, y0) este punct interior lui D. Atunci pentru un > 0 convenabil, exist o soluie unic pe I=[x0, x0+] problemei (1) - (2). Exemplul 1. Fie ecuaia y = 1 + sin( xy ) , D = [0,1] R . Deoarece
f = xcos xy , y
conform observaiei de mai sus, putem lua L = 1. Atunci pentru orice (x0, y0) cu 0 < x0 < 1 exist o soluie a problemei Cauchy pentru ecuaia dat pe un anumit interval [x0, x0+] [0, 1]. Dup cum se tie, soluia problemei (1)(2) se afl cu metoda aproximaiilor succesive. Fie y0(x) = y0,
y n ( x) = y 0 + f (t , y n1 (t ))dt , x I , n = 1, 2, ... .
x0
Atunci irul de funcii (yn)n este uniform convergent pe intervalul I i limita sa y = lim y n este soluie unic a problemei (1)-(2). Mai mult, are loc
n
y ( x) y n ( x) unde
MLn C n +1 LC e , (n + 1)!
(5)
M = sup f ( x, y 0 ) , C = max( a x 0 , b x 0 ) .
xI
193
Metoda aproximaiilor succesive (Picard) este o metod aproximativ de rezolvare a problemei Cauchy. Se aproximeaz soluia y(x) cu y n ( x) i se cunoate o evaluare a erorii.
Exemplul 2. Fie ecuaia y = y , y (0) = 1 , D = [ 1, 1] R . Atunci = 1. irul aproximaiilor succesive este:
M=1, L
y1 ( x) = 1 + 1 dt = 1 + x , y 2 ( x) = 1 + (1 + t )dt = 1 + x +
0 x
y 3 ( x) = 1 + (1 + t +
0
0 x
x2 , 2
t2 x x2 x3 )dt = 1 + + + 2 1! 2! 3! ,
Este clar c
Metoda aproximaiilor succesive are dezavantajul c presupune calculul unor integrale, lucru dificil de realizat. Din aceast cauz, aceast metod este mai puin folosit n practic, metoda avnd o importan deosebit, mai ales din punct de vedere teoretic. n ceea ce privete stabilitatea soluiei problemei (1)-(2), ne intereseaz comportamentul soluiei la modificri mici ale funciei f(x,y) i ale datei iniiale y0. Considerm, deci, problema perturbat y = f ( x, y ) + ( x ) , (6) y ( x0 ) = y 0 + , (7) cu aceleai ipoteze asupra funciei f ca n Teorema 1. Presupunem, n plus, c ( x) este continu pe [a, b]. Atunci problema (6)-(7) are soluie unic, notat y ( x; , ) .
Teorema 2. Presupunem satisfcute ipotezele Teoremei 1 i c funcia ( x) este continu pe [a, b]. Atunci problema (6)-(7) va avea soluie unic y ( x; , ) pe un interval [x0-, x0+] , > 0, uniform pentru toate perturbrile i ( x) ce satisfac: 0 , 0 ,
cu 0 suficient de mic. n plus, dac y(x) este soluia problemei neperturbate, atunci
194
x x0
max y ( x) y ( x; , ) k ( + ) ,
(8)
cu k = 1 /(1 L) . Utiliznd acest rezultat, se poate afirma c problema (1)-(2) este corect pus sau stabil. Deci dac se fac mici modificri n ecuaia diferenial sau n data iniial, atunci soluia nu se modific semnificativ. Soluia y depinde continuu de datele problemei, anume funcia f i data iniial y0. Din punct de vedere fizic, semnificaia Teoremei 2 const n faptul c pentru fenomene fizice descrise de ecuaii difereniale, mici abateri sau erori n condiiile iniiale sau n nsi legea de evoluie, nu deformeaz prea puternic procesul. Rezultatul este important cu att mai mult cu ct asemenea perturbaii sau erori sunt ntotdeauna inevitabile. Se poate ntmpla ca o problem s fie stabil, dar prost condiionat n raport cu calculul numeric, dei asemenea situaii nu apar prea des n practic. Pentru a nelege mai bine cnd aceasta se poate produce, vom estima perturbrile soluiei y(x), datorate perturbrilor n problem. Vom simplifica discuia considernd numai perturbrile n data iniial y0 ; perturbrile ( x) intervin n rspunsul final conform (8). Perturbm deci, valoarea iniial y0 ca n (7). Fie y(x;) soluia perturbat. Atunci y ( x; ) = f ( x, y ( x; )), x 0 x x 0 + , y ( x0 ; ) = y 0 + Dac y(x) este soluia problemei neperturbate (1)-(2) i z(x) = y(x;) y(x) este eroarea, atunci f ( x, y ( x)) z ( x; ) = f ( x, y ( x; )) f ( x, y ( x)) z ( x; ) , (9) y z ( x0 ; ) = . Aproximarea (9) este valabil cnd y(x; ) este suficient de aproape de y(x) , ceea ce se ntmpl pentru valori mici ale lui i intervale mici [x0-, x0+]. Ecuaia diferenial aproximativ (9) se poate integra uor. Se obine x f (t , y (t )) z ( x; ) exp dt . t x 0 Dac derivata parial satisface f (t , y (t )) 0, x 0 t , y
195
atunci z ( x; ) rmne mrginit de cnd x crete. n acest caz, se spune c problema Cauchy este bine condiionat. Ca exemplu de comportare opus, considerm problema y = y + g ( x) , y (0) = y 0 , (10) f = , putem calcula exact z ( x; ) = e x . cu > 0 . Cum y Atunci perturbarea lui y(x) se mrete cnd x crete.
Exemplul 3. Ecuaia diferenial y = 100 y 101e x , y (0) = 1,
(11)
are soluia y ( x; ) = e x + e100 x , care se deprteaz rapid de soluia exact. Spunem c problema (11) este prost condiionat. Revenim acum la problema (1)-(2). Din considerente practice, se presupune c x0 = a , adic se nlocuiete condiia (2) cu y(a) = y0 . (12) Aceast presupunere nu este restrictiv, pentru c dac am gsit un algoritm care rezolv problema (1)-(12), atunci cu acest algoritm putem rezolva i problema (1)-(2). ntr-adevr, fie I1 = [a, x 0 ] i I 2 = [x 0 , b] . Pe intervalul I1 facem schimbarea de variabil X = x 0 x . Atunci y ( x) = y ( x 0 X ) = Y ( X ) i ecuaia (1) devine (13) Y ( X ) = f ( X , Y ) , X [0, x 0 a ] , iar condiia iniial (12) devine Y(0) = y0 . (14) Metodele numerice pentru rezolvarea problemei (1)-(12) constau n alegerea unor noduri (de obicei, echidistante) x k = a + kh, kN i determinarea unor valori aproximative ale soluiei exacte y(x) n aceste noduri, valori pe care le notm cu yk. Aadar yk y(xk) . Se cunosc dou clase importante de metode numerice pentru rezolvarea problemei Cauchy. 1. Metode directe (uni-pas) n care y k este calculat, printr-o relaie de recuren, n funcie numai de valoarea y k 1 calculat anterior. n aceast categorie intr metoda Taylor i metodele Runge-Kutta. 2. Metode indirecte (cu mai muli pai) n care y k se calculeaz printr-o relaie de recuren n funcie de valorile precedente y k m ,..., y k 2 , y k 1 . n aceast categorie intr metodele Adams-Bashforth, Adams-Moulton i metoda predictor-corector.
196
x0 = a
y ( x) =
= Atunci: 2 f x 2
2f x 2
2 f 2 f 2f f f f y f + + y y + + = 2 x y y x y xy y
2
+2
2 f 2 f 2 f f f f + f + + f xy y x y 2 y
etc.
y ( x 0 ) = f ( x 0 , y ( x 0 )) = f ( x 0 , y 0 ) , f f ( x0 , y 0 ) f ( x0 , y 0 ) , y ( x 0 ) = ( x 0 , y 0 ) + x y
y ( x 0 ) =
2f x 2
+
( x0 , y 0 ) + 2
2f 2f ( x0 , y 0 ) f ( x0 , y 0 ) + ( x0 , y 0 ) f 2 ( x0 , y 0 ) + 2 xy y
2
f f f ( x0 , y 0 ) ( x0 , y 0 ) + y ( x0 , y 0 ) f ( x0 , y 0 ) y x Pentru p = 3 obinem y ( x1 ) = y 0 +
etc.
h h2 h3 y ( x 0 ) + y ( x 0 ) + y ( x 0 ) + R4 . 1! 2! 3!
197
y ( x1 ) y1 = R4 unde y
IV
1 M 4 h4 , 4!
unde M 4 = sup y IV ( x) ,
x[a , x1 ]
( x) se calculeaz ca mai sus. n continuare, considernd soluia problemei (1) ce satisface y(x1) = y1, deci pornind cu punctul (x1, y1) , se determin y2 care aproximeaz pe y(x2) , .a.m.d. n general, y(xn) se aproximeaz cu yn , dat de h h2 h3 y n = y n 1 + y ( x n1 ) + y ( x n 1 ) + y ( x n 1 ) . 1! 2! 3! Evident, erorile se acumuleaz.
Exemplul 4. Fie ecuaia y = 1
1 3 Atunci y (1) = f 1, = , y (1) = 2 , y (1) = 6 . 2 2 Deci x0 = 1 , x1 = 1.1 . Aproximm y(1.1) cu y1 dat de (0.1) 3 3 0.1 1 (0.1) 2 2 + + ( 6) . y1 = + 2 1! 2 2! 3! Obinem y1 = 1.459 . Pe de alt parte, soluia exact a problemei este y = deci y(1.1) = 1.459090 . Dezavantajul metodei Taylor const n faptul c presupune calculul derivatelor y(2), y(3), ... , y(k), ... , la fiecare pas, ceea ce este dificil de realizat. Aceast deficien este nlturat de metodele care urmeaz. Dac p = 1 se obine metoda lui Euler (1707-1783). n acest caz valorile aproximative yn ale lui y(xn) sunt date de y n = y n 1 + h f ( x n 1 , y n1 ) , n 1 , (15) unde, evident, y0 = y(x0) . x 1 + , 2 x
198
Metoda lui Euler are o interpretare geometric foarte simpl: dac s-a determinat valoarea yn-1, pentru a determina yn , se consider soluia ecuaiei (1) care trece prin (xn-1, yn-1) (deci care satisface y(xn-1)=yn-1 ) ; se duce apoi tangenta la graficul acestei soluii, n punctul (xn-1, yn-1) ; se intersecteaz aceast tangent cu dreapta x=xn , obinndu-se yn. Din acest motiv, metoda lui Euler se mai numete i metoda liniilor poligonale. Dup cum se observ din figura de mai jos, erorile se acumuleaz.
y y2 y (x 2) y1 y (x 1 ) y0
x0
x1 x 0
x2
Exemplul 5. Folosind metoda Euler s se determine soluia aproximativ a urmtoarei probleme Cauchy y 1 = y2 y x 4x 2 y (1) = 0.5 n punctul x=2 n doi pai. n acest caz x0=1 , y0=0.5 , n=2 , h = 0.5 , x1=1+0.5=1.5 , x2=2. Atunci: 2 0.5 1 y1 = y 0 + h f ( x0 , y 0 ) = 0.5 + 0.5 = 0.25 , 0.5 1 4 12 y 2 = y1 + h f ( x1 , y1 ) = 0.14236 . Metodele Runge-Kutta se deosebesc de metoda lui Taylor prin faptul c nlocuiesc calculul derivatelor funciei f, prin evaluri ale lui f n diverse puncte. Metoda a fost introdus de matematicianul german Carl David Runge n 1895 i dezvoltat de un alt matematician german, Wilhelm Kutta, n 1901. Vom analiza n detaliu
199
metoda Runge-Kutta de ordinul doi. Valorile aproximative yn ale lui y(xn) sunt date de y n = y n 1 + a1h f ( x n1 , y n 1 ) + a 2 h f ( x n1 + b1h, y n 1 + (16) + b2 h f ( x n1 , y n 1 )) , n 1 , iar y0 = y(x0) . Constantele a1, a2, b1, b2 urmeaz a fi determinate. Dac notm f f ( x n 1 , y n 1 ) , atunci, din f = f ( x n 1 , y n1 ) , f x = ( x n 1 , y n1 ) , f y = x y formula lui Taylor pentru funcii de dou variabile, obinem
y n = y n 1 + a1 h f + a 2 h f + b1 h f x + b2 h f y f + O(h 2 ) =
= y n 1 + (a1 + a 2 ) f h + a 2 b1 f x + a 2 b2 f f y h 2 + O(h 3 ) . Pe de alt parte, din metoda lui Taylor, avem h h2 y n = y n 1 + f + f x + f y f + O(h 3 ) . (18) 1! 2! Identificnd coeficienii lui h i h2 din (17) i (18), rezult a1 + a 2 = 1 1 (19) a 2 b1 = 2 1 a 2 b2 = . 2 Deoarece sistemul (19) are 3 ecuaii i 4 necunoscute, una din necunoscute poate fi aleas arbitrar. De exemplu, dac alegem b2 = , atunci b1 = , deci a1 + a 2 = 1 1 a 2 = 2 , b2 = astfel c formulele (16) se mai scriu
(17)
200
y n = y n 1 + h(a1 g1 + a 2 g 2 ) , n 1 g = f ( x , y ) n 1 n 1 1 (20) g 2 = f ( x n1 + h , y n 1 + h g1 ) a1 + a 2 = 1 1 a 2 = . 2 1 Pentru a1 = a 2 = , = 1 , se obine metoda Euler mbuntit 2 h y n = y n 1 + [ f (x n1 , y n 1 ) + f (x n1 + h, y n 1 + h f (x n1 , y n 1 ))] , n 1 . 2 (21) 1 Pentru a1 = 0, a2 = 1 , = , se obine metoda Euler modificat 2 h h (22) y n = y n 1 + h f x n 1 + , y n 1 + f ( x n 1 , y n 1 ) , n 1 . 2 2
Exemplul 6. Folosind metoda Euler mbuntit s se determine soluia aproximativ a urmtoarei probleme Cauchy y 1 = y2 y x 4x 2 y (1) = 0.5 n punctul x=2 n doi pai. n acest caz x0=1 , y0=0.5 , h = 0.5 , x1=1.5 , x2=2. h Cum y1 = y 0 + [ f (x 0 , y 0 ) + f (x 0 + h, y 0 + h f ( x 0 , y 0 ) )] , prin calcul 2 se obine y1 = 0.32118 . Similar h y 2 = y1 + [ f ( x1 , y1 ) + f (x1 + h, y1 + h f ( x1 , y1 ) )] = 2 = 0.32118 + 0.25 ( 0.22207 0.12341) = 0.23481. Exemplul 7. Folosind metoda Euler modificat s se determine soluia aproximativ a problemei Cauchy din Exemplul 6, n punctul x=2 n doi pai.
201
h h n acest caz y1 = y 0 + h f x 0 + , y 0 + f ( x 0 , y 0 ) , deci y1 = 0.34031 , iar 2 2 h h y 2 = y1 + h f ( x1 + , y1 + f ( x1 , y1 )) = 0.25868 . 2 2 n continuare prezentm metoda Runge-Kutta de ordinul patru n forma particular sub care este cel mai des utilizat ( W.Kutta - 1901). h y n = y n 1 + (g1 + 2 g 2 + 2 g 3 + g 4 ) , n 1 , (23) 6 unde g1 = f ( x n 1 , y n1 ), h h g 2 = f ( x n 1 + , y n 1 + g1 ), 2 2 h h g 3 = f ( x n 1 + , y n 1 + g 2 ), 2 2 g 4 = f (x n1 + h, y n 1 + hg 3 ), i y0 = y(x0).
Exemplul 8. Folosind metoda Runge-Kutta de ordinul 4 s se determine soluia aproximativ a problemei Cauchy din Exemplul 6, n punctul x=2 n doi pai. Folosind notaiile din Exemplul 6 se obine: g1 = f ( x 0 , y 0 ) = 0.5 , h h g 2 = f ( x 0 + , y 0 + g1 ) = f (1.25, 0.5 0.25 0.5) = 0.31937 , 2 2 h h g 3 = f ( x 0 + , y 0 + g 2 ) = f (1.25, 0.5 0.25 0.31937) = 0.31959 , 2 2 g 4 = f ( x 0 + h, y 0 + h g 3 ) = f (1.5, 0.5 0.5 0.31959) = 0.22218 , deci h y1 = y 0 + [g1 + 2 (g 2 + g 3 ) + g 4 ] = 0.33332 . 6 Pentru y 2 calculm mai nti g1 = f ( x1 , y1 ) = 0.22222 , h h g 2 = f ( x1 + , y1 + g1 ) = 0.1632 , 2 2 h h g 3 = f ( x1 + , y1 + g 2 ) = 0.16322 , 2 2 g 4 = f ( x1 + h, y1 + h g 3 ) = 0.125 . n consecin
202
y 2 = y1 +
h [g1 + 2 (g 2 + g 3 ) + g 4 ] = 0.24999 . 6
Aceast metod se poate aplica i pentru sisteme de ecuaii difereniale. Fie sistemul de ecuaii difereniale dy1 = f1 ( x, y1 , y 2 ) dx (24) dy 2 = f ( x, y , y ), 2 1 2 dx cu condiia iniial y1 ( x 0 ) = y10 . (25) y 2 ( x 0 ) = y 20 Formulele (23) se scriu n acest caz astfel y1n y1,n 1 h g11 h g 21 h g 31 h g 41 + , n 1, + + y = + 2n y 2,n 1 6 g12 3 g 22 3 g 32 6 g 42
unde: g11 = f1 ( x n1 , y1,n 1 , y 2,n 1 ) g12 = f 2 ( x n 1 , y1,n 1 , y 2,n 1 ) h h h g 21 = f1 x n 1 + , y1,n1 + g11 , y 2,n 1 + g12 2 2 2 h h h g 22 = f 2 x n 1 + , y1,n 1 + g11 , y 2,n 1 + g12 2 2 2 h h h g 31 = f1 x n 1 + , y1,n1 + g 21 , y 2,n 1 + g 22 2 2 2 h h h g 32 = f 2 x n1 + , y1,n 1 + g 21 , y 2,n1 + g 22 2 2 2 g 41 = f1 x n 1 + h, y1,n 1 + hg 31 , y 2,n 1 + hg 32 (27)
203
Orice metod direct pentru rezolvarea probelemei Cauchy poate fi scris sub forma general y n = y n 1 + h ( x n 1 , y n 1 , h) , n 1, (28) y0 = y(x0) , unde funcia ( x, y, h) se numete funcie de cretere. Pentru h 0, relaia (28) se scrie sub forma y n y n 1 = ( x n 1 , y n 1 , h) . (29) h
Definiie. Dac y(x) este soluia exact a problemei Cauchy (1)-(2), se numete eroare de trunchiere a metodei, funcia y ( x + h) y ( x ) t ( x, h ) = ( x, y ( x), h), (30) h unde x [x 0 , b ) i h > 0 astfel ca x+h b . Definiie. Se spune c formula (28) d o aproximare consistent a problemei (1), (2), dac t(x,h) 0 cnd h 0 , uniform n raport cu x [x 0 , b ) .
x0 xb
Propoziia 1. Metoda lui Taylor de ordin p este consistent de ordin p. Metodele Runge-Kutta de ordinul p dat sunt metode consistente de ordinul p. Demonstraie. Pentru metoda dat de formula lui Taylor de ordinul p, avem hp t ( x, h ) = y ( p +1) ( ) , unde x < < x + h . ( p + 1)! 1 y ( p +1) ( x) , rezult consistena de ordinul p. Alegnd N = sup + ( p 1 )! x0 xb
Spre exemplu, metoda lui Euler este consistent de ordinul 1. Pentru metodele Runge-Kutta este dificil s obinem o form explicit a lui N. Pn acum am considerat erorile de trunchiere, adic erorile ce apar prin discretizarea ecuaiei difereniale. Ne intereseaz ns, n ce msur soluia ecuaiei
204
cu diferene, adic a ecuaiei obinut prin discretizare (deci irul (yn)n), aproximeaz soluia y(x) a ecuaiei difereniale. Aadar, vom aborda problema convergenei soluiei ecuaiei cu diferene la soluia ecuaiei difereniale. Aceast convergen trebuie definit cu atenie. De exemplu, dac analizm comportarea irului (yn)n, cnd h 0 , pentru n fixat, nu vom obine un concept util, deoarece, n acest caz x n = x 0 + nh x 0 , iar pe noi ne intereseaz ce se ntmpl pentru x x 0 . Deci trebuie s considerm comportarea irului (yn)n cnd h 0, cu x = xn = x0+nh fixat. Pentru a obine o soluie pentru valoarea x x 0 fixat, trebuie s mrim numrul de pai cerui pentru a ajunge la x din x0, dac pasul h descrete.
Definiie. Metoda numeric direct se numete convergent dac pentru orice x[x0, b] , avem lim y n = y ( x) (31)
h 0
x=xn=x0+nh . Aceast definiie se datoreaz lui G. Dahlquist. n studiul convergenei metodelor directe, este util urmtoarea lem.
Lema 1. Au loc inegalitile: 1 + x e x , () x R ,
m mx
(32)
0 (1 + x ) e , () x 1 , m N . (33) Demonstraie. Cum (33) este consecin imediat a lui (32), este suficient s justificm (32). Dar (32) este consecin imediat a formulei lui Taylor, deoarece x2 ex =1+ x + e , 2 unde este ntre 0 i x. n continuare, vom analiza convergena metodelor directe. Fie e n = y ( x n ) y n , n 0 . Deci en reprezint eroarea global dintre soluia exact i soluia aproximativ n nodurile xn . Din (30), obinem y ( x n ) = y ( x n 1 ) + h ( x n 1 , y ( x n 1 ), h) + ht ( x n 1 , h) . Scznd (28) din aceast egalitate, avem e n = e n 1 + h[ ( x n1 , y ( x n 1 ), h) ( x n 1 , y n 1 , h] + ht ( x n 1 , h) (33) Evident e0 = 0 . Din nefericire, faptul c t(xn-1,h) este mic, nu este suficient pentru a asigura c en este mic. Ar trebui s artm c max e n C max t ( x n , h) ,
n n
205
unde constanta C este independent de h ; este ceea ce numim stabilitatea metodei de aproximare. n cele ce urmeaz, presupunem c funcia de cretere satisface condiia lui Lipschitz ( x, y , h ) ( x, z, h ) K y z , x [x0 , b] , y , z R , h > 0 . (34) i c metoda este consistent de ordin p cu constanta N. Considerm mai nti cazul K > 0. Atunci din (33) rezult c exist h0 > 0 astfel ca pentru h(0,h0] s avem e n e n 1 (1 + hK ) + Nh p +1 .
Aplicnd aceast inegalitate recursiv rezult e n (1 + hK )n e0 + Nh p +1[1 + (1 + hK ) + ... + (1 + hK ) n 1 ] Deoarece e0 = 0, din Lema 1, rezult c
e n Nh p
Aceast teorem s-a obinut pornind de la principiu important al analizei numerice, care se poate enuna astfel: CONSISTEN + STABILITATE CONVERGEN
Definiie. O metod numeric direct se numete convergent de ordinul p N
dac exist C > 0 astfel nct y ( x n ) y n Ch p , oricare ar fi xn = x[x0, b]. Teorema 3 spune c o metod numeric consistent de ordinul p N i pentru care funcia de cretere satisface condiia Lipschitz (34) este convergent de ordinul p . Numrul p introdus de Teorema 3 nu este unic determinat (dac
206
exist): dac h < 1 i p este ordin de convergen, atunci i p cu 0< p < p este un ordin de convergen pentru aceast metod. Se poate pune problema determinrii unui ordin de convergen maximal pentru o metod dat. n practic este suficient s se determine un ordin de convergen convenabil. Metodele prezentate mai sus au ordine de convergen diferite. Spre exemplu se poate arta c metoda lui Euler mbuntit are ordin de convergen 2, dac exist L > 0 astfel nct f ( x, y ) L , ( )( x, y ) [a, b] J . y n funcie de L, se poate determina K din (34). innd seama de (21) pentru aceast metod avem 1 ( x, y , h) = [ f ( x, y ) + f ( x + h, y + h f ( x, y ))] . 2 Atunci 1 ( x , y , h ) ( x , z , h ) f ( x, y ) f ( x, z ) + 2 1 + f ( x + h, y + h f ( x, y )) f ( x + h, z + h f ( x, z )) 2
L2 h0 1 1 L y z + L[ y z + h f ( x , y ) f ( x , z ) ] ( L + ) y z , h h0 , 2 2 2 L2 h0 . 2 n acest caz, din formula Taylor rezult
deci K = L +
t ( x, h) = h 2 ( R3 ( x) + Q3 ( x, h)), unde R3(x) este eroarea de la formula Taylor, iar Q3(x,h) eroarea care se face oprind termenii de ordinul doi din formula Runge-Kutta. Dac derivatele lui y i ale lui f sunt mrginite, atunci metoda Euler mbuntit are ordinul de consisten 2. n ncheiere, menionm c metoda folosit n studiul stabilitii soluiei problemei Cauchy se poate aplica i n cazul metodei Euler. Considerm metoda numeric (analoag problemei Cauchy): z n = z n1 + h[ f ( x n 1 , z n 1 ) + ( x n 1 )] , n 1 (36) z0 = y0 + . Comparm cele dou soluii numerice ( z n ) n , ( y n ) n , cnd h 0. Fie en = zn-yn , n 0. Atunci z0 = . Scznd (15) din (36), obinem e n = e n 1 + h[ f ( x n 1 , z n1 ) f ( x n 1 , y n1 )] + h ( x n 1 ), care are aceeai form ca (23). Utiliznd acelai procedeu ca ndemonstraia Teoremei 3, rezult
207
Aceast inegalitate este analoag inegalitii (8) din cazul problemei Cauchy iniiale. Aadar metoda Euler este stabil numeric. De altfel, toate metodele numerice pentru problema Cauchy au aceast form de stabilitate, imitnd stabilitatea problemei iniiale. Analiza se poate simplifica, lund (x) = 0 i considernd numai efectul perturbrii iniiale y0 . Nu vom analiza aici problema erorilor de rotunjire.
y ( x n+1 ) y ( x n ) = f ( x, y ( x))dx.
xn
xn +1
(38)
Pentru a calcula integrala, folosim o metod numeric, de exemplu o metod Newton-Ctes pentru nodurile echidistante xn-m, ..., xi, ..., xn, m n, xi = xn+(i-n)h, i = n m, n . Dac x[xn, xn+1], atunci exist t[0,1] astfel nct x = xn + th. (39) Fie Pm polinomul de interpolare Lagrange corespunztor tabelului x xn-m ... xi ... xn y fn-m ... fi ... fn
unde fi = f(xi,yi), i = n m, n . Vom aproxima valoarea exact y(xn+1) prin y n +1 = y n + Pm ( x)dx.
xn n x n+1
(40)
i=nm
Li ( x) f ( xi , yi ), unde
208
Li ( x) =
j = n m xi j i
x xj xj
=
j i
(t j + n)h = j = n m (i j ) h (1) n i (t + k )
m
(t + m)...(t + n i + 1)(t + n i 1)...t k =0 . = (i n + m)...1(1)...[ (n i )] (i n + m)!(n i )!(t + n i ) Fcnd schimbarea de variabil (39) n (40), obinem: y n +1 = y n + (
1
(1) n i (t + k )
k =0
0 i = n m (i n + m)!( n i )!(t + n i )
h f i )dt
(t + k )
(41)
Ai f i ,
(42)
cunoscut sub numele de formula Adams-Bashforth. n continuare vom explicita formula (42) pentru valori particulare ale lui m. Astfel pentru m = 1, deci cnd se folosesc nodurile xn i xn-1, formula (42) devine y n +1 = y n + An 1 f n 1 + An f n , unde conform (41) (1) 1 h 1 t (t + 1) t2 An 1 = dt = h 0!1! 0 t + 1 2
1
=
0 1
h , 2
t2 (1) 0 h 1 t (t + 1) 3 An = dt = h + t = h . 2 t 1! 0! 0 0 2 n consecin pentru m = 1, formula lui Adams-Bashforth se scrie h y n +1 = y n + (3 f n f n 1 ) . (43) 2 Similar, pentru m = 2 se obine h y n +1 = y n + (23 f n 16 f n 1 + 5 f n 2 ) , (44) 12 iar pentru m = 3 h (55 f n 59 f n 1 + 37 f n 2 9 f n 3 ) . y n +1 = y n + (45) 24
209
n ceea ce privete evaluarea erorii, scznd (40) din (38) obinem y ( x n+1 ) y n +1 = y ( x n ) y n + [ f ( x, y ( x)) Pm ( x)]dx ,
xn xn +1
Deci eroarea din metoda lui Adams-Bashforth este mai mic dect suma dintre eroarea din metoda Runge-Kutta folosit n calculul lui yn i eroarea de la integrarea numeric. n cazul m = 1, se obine folosind schimbarea de variabil (39) :
x n+1 xn
f ( x, y ( x)) Pm ( x) dx
= unde
5 3 h M2, 12
M 2 = sup f ( x, y ( x)) .
x[a , b ]
Deci eroarea de integrare n acest caz este de ordinul h3. S menionm acum c integrnd (1) pe [xn-1, xn+1], n locul lui (38) se poate considera y ( xn +1 ) = y ( x n 1 ) + f (x, y ( x) )dx .
x n1 x n+1
(46)
Se poate proceda apoi ca mai sus. Aceast metod este atribuit lui E. J. Nystrm (1925). Pentru m = 1, de exemplu, se obine (47) yn+1 = yn-1 + 2hf(xn, yn). Metodele Adams-Bashforth i Nystrm sunt cunoscute ca metode explicite, deoarece relaia de recuren (42) sau cea corespunztoare pentru metoda Nystrm nu conin f(xn+1, yn+1); ele exprim explicit yn+1 n funcie de yn, yn-1, ... , yn-m.
Exemplul 1. Folosind metoda Adams-Bashforth de ordin trei s se determine soluia aproximativ a urmtoarei probleme Cauchy 1 y = y2 y x 4x2 y (1) = 0.5 n punctul x=2.25, determinnd soluia n x=2 cu metoda Runge-Kutta de ordinul patru n patru pai.
210
Pentru a aplica metoda Runge-Kutta de ordin patru lum: x0=1 , y0=0.5, x x0 = 0.25 , x1=x0+h=1+0.25=1.25, x2=1.5 , x3=1.75 , x4=2 x=2 , n=4 , h = n i obinem y1=0.4 , y2=0.33333 , y3=0.28571 , y4=0.25 . Pentru a determina valoarea aproximativ a soluiei n x=2.25 folosim metoda Adams-Bashforth de ordin trei
y5 = y 4 +
h (55 f 4 59 f 3 + 37 f 2 9 f1 ) , 12
unde f 2 = f ( x2 , y 2 ) = 0.22222, f 3 = f ( x3 , y3 ) = 0.16327 , f 4 = f ( x 4 , y 4 ) = 0.125, obinndu-se y(2.25)y5=0.22307 ( soluia exact fiind y(2.25)=0.22222).
Metoda Adams-Moulton. Presupunem c printr-o metod direct am determinat valorile aproximative y1, ..., yn n nodurile xk = x0+kh, k = 1, n i c xn+1 < b. Fie Pm+1 polinomul de interpolare Lagrange corespunztor tabelului xn+1 x xn-m ... xn f fn-m ... fn fn+1
(48)
Bi f i , i=nm
n +1
(49)
cunoscut sub numele de formula Adams-Moulton. Vom particulariza acum aceast formul. Pentru m = 0 se obine h y n +1 = y n + ( f n +1 + f n ), (51) 2 pentru m = 1 h y n +1 = y n + (5 f n +1 + 8 f n f n 1 ), (52) 12 pentru m = 2 h y n +1 = y n + (9 f n +1 + 19 f n 5 f n 1 + f n 2 ) . (53) 24
211
Deoarece fn+1 = f(xn+1, yn+1), necunoscuta yn+1 apare i n membrul drept, deci, n general nu se poate explicita.De aceea metoda Adams-Moulton este o metod implicit. De obicei (49) trebuie rezolvat ca o ecuaie algebric printr-o metod iterativ. Se alege
( 0) yn +1 ,
apoi se calculeaz
(1) ( 0) ( 2) (1) yn +1 = F ( y n +1 ) , y n +1 = F ( y n +1 ) etc., unde F apare din scrierea convenabil a lui (49) sub forma yn+1 = F(yn+1).
Pentru a calcula o aproximaie bun y n +1 , explicit, de exemplu, Adams-Bashforth. Se poate demonstra urmtoarea teorem.
Teorema 4. Fie irul recurent
( k +1) yn +1 = y n + i =nm (k ) Bi f i + Bn +1 f ( xn +1, yn +1 ) , n
( 0)
k N .
(54)
y n +1 = y n +
Bi f i i=nm
212
Presupunem c printr-o metod direct am determinat valorile aproximative y1, ..., yn n nodurile x1, ..., xn. Fie m1, m2 n i xn+1 = xn+h b. n prima etap (etapa predictor) se determin valoarea aproximativ yn+1 cu metoda Adams-Bashforth, pentru m = m1. Valoarea astfel determinat se noteaz cu
( 0) yn +1 ,
i este folosit n
continuare n etapa a doua (etapa corector) pentru determinarea valorii yn+1 cu metoda Adams-Moulton cu m = m2. Cele mai utilizate metode predictor-corector sunt: h ( 0) (m1 = 1) y n +1 = y n + (3 f n f n 1 ) 2 1) y ( k +1) = y + h f x , y ( k ) + f (m2 = 0) n n +1 n +1 n 2 n +1 h ( 0) (m1 = 2) y n +1 = y n + (23 f n 16 f n 1 + 5 f n 2 ) 12 2) y ( k +1) = y + h 5 f x , y ( k ) + 8 f f (m2 = 1) n n +1 n +1 n n 1 12 n +1 h ( 0) (55 f n 59 f n1 + 37 f n2 9 f n3 ) (m1 = 3) y = yn + n +1 24 3) y ( k +1) = y + h 9 f x , y ( k ) + 19 f 5 f (m2 = 2) . n n +1 n +1 n n 1 + f n 2 24 n +1
[(
) ]
( (
( (
Exemplul 3. Folosind metoda Adams-Bashforth-Moulton de ordin (3,2) s se determine soluia aproximativ a urmtoarei probleme Cauchy y 1 = y2 y x 4x2 , y (1) = 0.5 n punctul x=2.25, considernd soluia y(0)(2.25) obinut n exemplul 1. Ca i n exemplul 1 avem: x0=1 , y0=0.5 , x=2 , n=4, h = 0.25 , x1=x0+h=1+0.25=1.25, x2=1.5 , x3=1.75 , x4=2 i obinem y1=0.4 , y2=0.33333 , y3=0.28571 , y4=0.25 . Pentru a determina valoarea aproximativ a soluiei n x=2.25 folosim metoda Adams-Bashforth de ordin trei
y5 = y 4 +
h (55 f 4 59 f 3 + 37 f 2 9 f1 ) , 12
213
si obinem
n continuare vom aborda un anumit tip de stabilitate pentru a ilustra anumite idei, care nu pot fi prezentate n cazul metodei Euler. Am artat la metoda Euler, c metodele numerice pentru problema Cauchy au o anumit form de stabilitate, imitnd stabilitatea problemei Cauchy. n particular acest tip de stabilitate caracterizeaz i metoda (47) dat de y n +1 = y n 1 + 2h f ( x n , y n ) , n 1 . Din pcate, aceast stabilitate nu este satisfctoare pentru scopuri practice. Vom arta aceast metod nu este convenabil n raport cu un anumit sens de stabilitate pe care o vom defini. Deoarece relaia de recuren depinde de f(x,y) este greu s dm rezultate generale privind stabilitatea numeric a unei astfel de metode. Este instructiv s cutm, cu metoda de mai sus, soluia numeric a problemei y = y , y (0) = 1 , R , (55) a crei soluie este y ( x) = e x . Aceast problem o vom utiliza ca problem model. Dac o metod numeric se comport ru cu o problem att de simpl ca (55), este puin probabil ca aceasta s fie bun pentru ecuaii difereniale mai complicate. n acest caz (47) devine y n +1 = y n 1 + 2hy n , n 1 . (56) Vom calcula soluia exact a acestei ecuaii i o vom compara cu soluia
exact a ecuaiei (55), y ( x) = e x . Ecuaia (56) este un exemplu de ecuaie liniar cu diferene de ordin 2. Exist o teorie general pentru ecuaii liniare cu diferene de ordin p. Multe metode pentru rezolvarea ecuaiilor difereniale au un analog n rezolvarea ecuaiilor cu diferene, fiind un ghid n a rezolva (56). Vom ncepe cutnd soluii liniar independente pentru ecuaii cu diferene. Acestea sunt combinate sub forma soluiei generale. Similar cu soluiile exponeniale ale ecuaiilor difereniale liniare, cutm soluii pentru (56) de forma
yn = r n , n 0 , (57) pentru un anumit r necunoscut. nlocuind n (56), pentru a gsi condiii necesare pentru r , obinem r n +1 = r n 1 + 2hr n . mprind cu r , rezult r 2 = 1 + 2hr . (58) Este valabil i reciproca. Dac r satisface (58), atunci yn dat de (57) satisface (56). Ecuaia (58) se numete ecuaie caracteristic pentru metoda (47). Rdcinile sale sunt
n 1
214
(59)
n y n = 0 r0 + 1r1n , n 0 . (60) Coeficienii 0 i 1 din (60) se determin din condiiile ca y0 i y1 s coincid cu ce se obine din (60) pentru n = 0 i n = 1. 0 + 1 = y 0 0 r0 + 1r1 = y1 . Soluia acestui sistem este y ry y r y 0 = 1 1 0 , 1 = 0 0 1 . r0 r1 r0 r1 h Dar y0 = 1, y1 = e (acestea sunt valorile soluiei exacte). Atunci, folosind formula lui Taylor, obinem e h r1 0 = = 1 + O ( h 2 2 ) 2 2 2 1+ h
1 =
r0 e h
2 2
= O(h 33 ) .
1 0 ,
cnd
h 0 . n
1r1n
1 + O(h ) . ntr-adevr
1 2 2 h + O(h 4 ), 2 1 e h = 1 + h + 2 h 2 + O (h 3 ) . 2 r0 = h + 1 + Atunci r0 = e h + O( h 3 ) = e h 1 + O (h 3 ) ,
e xn .
De fapt
n r0 = e xn [1 + nO (h 3 )] = e xn (1 + O (h 2 )) .
Pentru a vedea dificultatea utilizrii formulei (60) n rezolvarea numeric a ecuaiei (55), s examinm cu atenie, valorile relative ale lui r0 i r1. Pentru 0 < < are loc r0 > r1 > 0, ()h .
215
n i termenul corect Atunci termenul r1n va crete mai puin rapid dect r0 n va domina. Totui pentru < 0 , vom avea 0 < r0 < 1 , r1 < -1 , n (60), 0 r0 n cnd n crete pentru h fixat, h > 0. n consecin, 1r1n va domina 0 r0 n 0 cnd n , pe necontnd ct de mic este h ales iniial. Termenul 0 r0
cnd termenul 1r1n crete n magnitudine, alternnd ca semn cnd n crete. Termenul 1r1n se numete soluie parazit a metodei numerice (56), deoarece nu corespunde unei soluii a ecuaiei difereniale originale y = y . Ecuaia original are o familie de soluii cu un parametru, depinznd de valoarea iniial y0, dar aproximaia (56) are familia de soluii (60), cu doi parametri, care depinde de y0 i y1. Noua soluie 1r1n este o creaie a metodei numerice; pentru problema (55) cu < 0 ea face ca soluia numeric s se deprteze de soluia corect cnd xn +. Din cauza acestei comportri, spunem c metoda (47) este slab stabil.
Exemplul 4. Fie problema model y = y cu y(0) = 1 i h = 0.25 . Se aplic metoda (47) cu y0 = 1 i y1 determinat cu metoda Euler. Pentru xn = 2.25 soluia yn devine negativ i alterneaz ca semn la fiecare pas. f Se constat c dac are semn negativ, atunci instabilitatea slab apare y uzual n rezolvarea problemei Cauchy prin metoda (47). xk yk y(xk) xk yk y(xk) 0 1 1 1.75 0.89844 0.173774 0.25 0.75 0.77880 2 0.244141 0.135353 0.5 0.625 0.606531 2.25 -0.32227 0.105399 0.75 0.4375 0.472367 2.5 0.260254 0.082085 1 0.40625 0.367879 2.75 -0.162354 0.063928 1.25 0.234375 0.286505 3 0.341431 0.049787 1.5 0.289063 0.223130 Exemplul 5. Fie problema
y = x y 2 ,
y(0) = 0.
difereniale este strict cresctoare pentru x 0. Dar f ( x, y ) = x y 2 , deci f = 2 y < 0 pentru y > 0. Ne ateptm la o anumit instabilitate. Lund h = y 0.25 se constat c de la xn=2.25 soluia numeric ncepe s descreasc, ajungnd n xn = 3.25 s fie negativ.
xk
yk
xk
yk
216
Integrarea numeric a ecuaiilor difereniale de ordinul nti n MATLAB n MATLAB funciile ode23(fxy,x0,x,y0) i ode45(fxy,x0,x,y0) sau ode23(fxy,x0,x,y0,err,urma) i ode45(fxy,x0,x,y0,err,urma) rezolv ecuaii difereniale de ordinul nti y = f(x,y), y(x0) = y0, prin metoda Runge-Kutta de ordinul doi, respectiv patru, parametrii avnd
urmtoarele semnificaii: fxy este numele fiierului de tip m care conine funcia f(x,y) , (x0,y0) sunt coordonatele punctului iniial, iar x este punctul n care se cere valoarea aproximativ a soluiei y , err este precizia soluiei, implicit 10-3, respectiv 10-6 , urma atunci cnd are valoare diferit de zero se tipresc rezultatele intermediare.
Exemplu. S se determine valoarea aproximativ a soluiei urmtoarei probleme Cauchy y = xy2+x3+1, y(0) = 1 , n punctul x = 2 , pasul fiind stabilit n mod automat de funcia ode23 (ode45) . Se creeaz fiierul de tip m numit fxy care conine f(x,y) cu secvena % Fisierul cu functia f(x,y) este de tip m function f=fxy(x,y) f=x*y^2+x^3+1; dup care se apeleaz funcia ode45 astfel [x,y]=ode45(fxy,0,2,1,0.0001,1) ; disp(Solutia aproximativa intre x0 si x); disp(x); disp(y);
217
Exerciii
Folosind metoda Taylor de ordinul 3 s se gseasc soluia aproximativ a urmtoarelor probleme Cauchy n punctele menionate. y = xy n 4 pai. 1. y (0) = 1 n x = 1 R. h = 0.25 x x0=1 x1=1.25 x2=1.5 x3=1.75 x4=2 y' 0 0.25781 0.56772 1.00432 y' ' 1 1.16106 1.70316 2.84558 y' ' ' 0 1.3374 3.26439 6.7164 y 1 1.03125 1.13544 1.3391 1.69659 4x y = n 4 pai. 2. y y (1) = 2 n x = 2 R. h = 0.25 x x0=1 x1=1.25 x2=1.5 x3=1.75 x4=2 y' 2 2.05128 2.07279 1.00432 y' ' -2 -1.81149 -1.5867 2.84558 y' ' ' 0 0.335864 0.3667 6.7164 y 2 2.4375 2.89465 3.36421 3.84191 S se determine soluia aproximativ a ecuaiilor difereniale urmtoare folosind metoda Euler i Euler mbuntit. 2x y = y 3. y = y ( 0 ) 1 n x = 1 cu pasul h = 0.2 . R. Cu metoda Euler pentru xi = x0+ih , yi+1 = yi+hf(xi,yi) , i=0, 1, ... n , n=5 , obinem: i xi yi f(xi,yi) 0 0 1 1 1 0.2 1.2 0.8667 2 0.4 1.3733 0.7805 3 0.6 1.5294 0.7458 4 0.8 1.6786 0.7254 5 1 1.8237 Cu metoda Euler mbuntit h y i +1 = y i + [ f ( xi 1 , y i 1 ) + f ( xi 1 + h , y i 1 h f ( xi 1 , y i 1 ))] 2
218
obinem: xi 0 yi 1
0.2 1.1867
0.4 1.3484
0.6 1.4938
0.8 1.6272
1 1.7542
2 y = y 2 x 4. 2 y (1.5) = n x = 2.5 cu pasul h = 0.2 . 3 R. Cu metoda Euler pentru xi = x0+ih , yi+1 = yi+hf(xi,y) , i=0, 1, ... n , n=5 , obinem: xi 1.5 1.7 1.9 2.1 2.3 yi 0.66667 0.75556 0.77979 0.76898 0.74142 Cu metoda Euler mbuntit h y i = y i 1 + [ f ( xi 1 , y i 1 ) + f ( xi 1 + h, y i 1hf ( xi 1 , y i 1 ))] 2 obinem: xi 1.5 1.7 1.9 2.1 2.3 yi 0.66667 0.72323 0.73822 0.72971 0.70865
2.5 0.70709
2.5 0.68148
Folosind metoda Runge-Kutta de ordinul patru s se determine soluia aproximativ a urmtoarelor ecuaii difereniale de ordinul nti n condiiile precizate n fiecare caz n parte. y 8 2 y = + y 2 5. n 5 pai. x x y (1) = 2 n x = 2 R. x g1 g2 g3 g4 y 6. R. h = 0.2 x1=1.2 x0=1 -2 -1.39534 -1.73521 -1.23279 -1.61511 -1.17043 -1.34582 -1.01161 2 1.66512 2 y = 0.25 y + x 2 y (0) = 1 n x = 1 h = 0.25 x2=1.4 -1.03432 -0.92905 -0.89411 -0.7942 1.42467 n 4 pai. x3=1.6 -0.80563 -0.73552 -0.71505 -0.65032 1.24218 x4=1.8 -0.65645 -0.60971 -0.59759 -0.55593 1.09694 x5=2
0.97604
219
x g1 g2 g3 g4 y
x4=1
-0.49547
7. Folosind metoda Adams-Bashforth de ordin 3 s se determine soluia aproximativ a urmtoarei probleme Cauchy : y2 y 3 y' = x x2 3 y (3) = 1 n punctul x=3.5, lund h=0.1 i determinnd cu metoda Runge-Kutta de ordin 4 valaorea lui y(3.4). R. Folosind metoda Runge-Kutta de ordin 4 se determin y(3.4)=0.88235, i aplicnd formula Adams Bashforth pentru m=3 gsim y(3.5)=0.85714 8. Folosind metoda Adams-Bashforth de ordin 3 s se determine soluia aproximativ a urmtoarei probleme Cauchy : y y' = x y (2) = 0.5 n punctul x=2.5, lund h=0.1 i determinnd cu metoda Runge-Kutta de ordin 4 valoarea lui y(2.4). R. Folosind metoda Runge-Kutta de ordin 4 se determin y(2.4)=0.41666, i aplicnd formula Adams Bashforth pentru m=3 gsim y(2.5)=0.40000 . 9. Folosind metoda Adams-Moulton de ordin 2 s se determine soluia problemei 2y 2 2 y' = y Cauchy x x2 y (1) = 2 n punctul x=2.25, lund h=0.25 i determinnd cu metoda Runge-Kutta de ordin 4 valoarea lui y(2.25). R. Cu metoda Runge-Kutta de ordin 4 se determin valoarea aproximativ y(2.25)=0.88717, iar dup 3 iteraii cu metoda Adams-Moulton se obine rezultatul y(2.25)=0.88704.
220
10. Folosind metoda Adams-Moulton de ordin 2 s se determine soluia problemei Cauchy y2 y 3 y' = 3 x x2 y (3) = 1 n punctul x=3.5, lund h=0.1 i determinnd cu metoda Euler mbuntit valoarea lui y(3.4). 11. Folosind metoda Adams-Bashforth-Moulton pentru m1=3 i m2=2 s se determine soluia aproximativ dup 3 iteraii a problemei Cauchy de la exerciiul 9.
221
7. Rezolvarea numeric a problemelor la limit pentru ecuaii cu derivate pariale de tip eliptic
Fie G R2 o mulime deschis, conex i mrginit, a crei frontier C este neted pe poriuni. Aadar C poate fi o juxtapunere de mai multe curbe. n continuare vom presupune c C este juxtapunerea a dou curbe C1 i C2 i este orientat n sens trigonometric.
y C1 C2
O
Considerm ecuaia cu derivate pariale de ordinul al doilea u + p( x, y ) u = f ( x, y ) , ( x, y ) G ,
(1)
unde
u=
2u x
2
2u y
2
p C ( 2) (G ) ,
i f este continu pe poriuni pe G. Considerm de asemenea urmtoarele condiii la limit: u C1 = , unde C (0) (C1 ) este cunoscut, (2)
u + u C2 = , n
(3)
222
exterioar la C2 . Problema la limit pentru ecuaia (1) const n determinarea unei funcii u C(2)(G) C(1)( G ), care verific ecuaia (1) i condiiile la limit (2) i (3) . Dac p = f = 0 i C = C1, obinem problema Dirichlet pentru ecuaia Laplace u = 0, (4) u C = . Dac p = f = 0 , C = C2 i = 0, obinem problema Neumann pentru ecuaia Laplace u = 0, (5) u C = . n Dac p = 0 i f 0 obinem ecuaia Poisson u = f . (6) Evident i pentru ecuaia Poisson putem considera problema Dirichlet sau problema Neumann u = f u = f . , respectiv u C = u C = n Dac f=0 i p0 se obine ecuaia vibraiilor u + p(x,y) u=0 . Aadar, problema la limit (1)+(2)+(3), dei nu reprezint cazul cel mai general, este suficient de general pentru a acoperi cazurile uzuale de probleme la limit pentru ecuaii cu derivate pariale de tip eliptic n plan. n continuare, notm cu D = u C 2 (G ) C 1 (G ) ; u C = (7) 1 i cu 1 1 J (u) = (grad u)2 p(x, y) u 2 + f (x, y) u dxdy + 2 G 2 (8) 1 + (s) u 2 (s)u ds C2 2
i ne punem urmtoarea problem variaional: s se minimizeze funcionala J pe mulimea D . Pentru ca aceast problem s aib soluie trebuie mai nti ca mulimea D s fie nevid. Vom presupune aadar, c exist cel puin o funcie u D . Atunci D = u + D0 , unde
223
D0 = h C 2 (G ) C 1 (G ) ; h C = 0 1
(t ) = J (u 0 + t h) . Cum
1 + p ( x, y )(u 0 + t h )2 + f ( x, y )(u 0 + t h ) dx dy + G 2
S 1 + ( s )(u 0 + t h )2 ( s )(u 0 + t h ) ds , 02 unde S este lungimea curbei C2 , iar x = x( s ) , s [0, S ] y = y(s) este reprezentarea sa normal. Un calcul direct ne conduce la u 0 h u 0 h (0) = p ( x, y )u 0 h + f ( x, y ) h dx dy + x x + y y G
+ [ ( s )u 0 ( s )]h ds .
0
(9)
224
u u 0 u 0 h u 0 h + dxdy = h 0 + h dxdy y y G x x G x x y y
u u 0 h u 0 h u + dxdy = h 0 dx + 0 dy y y x G x x C2 y
(10)
hu 0 dxdy .
G
r Dac notm cu versorul tangentei la curba C2, atunci r r r dx r dy r = i+ j = cos i + cos j . ds ds Pe de alt parte, versorul normalei exterioare la curba C2 este r r r n = cos i + cos( + ) j . innd seama de aceste observaii, mai departe avem
C2
r n
C2 S
S u 0 u u 0 dx u 0 dy dx + h 0 dy = h ds = y ds + x ds y x 0 S
u 0 u 0 u 0 u 0 = h x cos + y cos( + ) ds = h n ds = h n ds. 0 0 C2 Cum (0) = 0, din (9), (10) i (11) rezult
0 = (0) = [ u 0 p( x, y )u 0 + f ( x, y )] hdxdy +
G
(11)
u + 0 + ( s )u 0 ( s ) hds. n C2
(12)
Egalitatea (12) are loc pentru orice h C (1) (G ) cu proprietatea h C = 0 ; 1 n particular i pentru o funcie h C (1) (G ) , nul pe C. Atunci obinem (13) [ u 0 p( x, y )u 0 + f ( x, y )] hdxdy = 0 ,
G
225
pentru orice h C (1) (G ) , h C = 0 . Dintr-o cunoscut lem de calcul variaional 1 rezult u 0 p ( x, y )u 0 + f ( x, y ) = 0 , adic ecuaia (1). nlocuind acum n (12), rezult u0 + u 0 hds = 0 , C n
2
pentru orice h C
(G ) , h C = 0 . 1 Printr-un raionament asemntor cu cel precedent deducem u0 + u0 = , C2 n adic (3) . n continuare demonstrm afirmaia reciproc. Fie u0 o soluie a problemei la limit (1)+(2)+(3), v D i h = v-u0. Evident h D0. innd seama de definiia funcionalei J dat de (8) rezult J (v) J (u 0 ) = J (u 0 + h) J (u 0 ) =
(1)
u0 h + h 2
h ds.
Cum f = u0 + pu0 (deoarece u0 satisface (1)), mai departe avem 1 1 J (v) J (u 0 ) == grad u 0 grad h + (grad h) 2 ph 2 + hu 0 dx dy + 2 2 G
+
C2
u0 h + h 2
h ds.
(14)
(15)
226
J (v) J (u 0 )
1 2 (grad h) dx dy 0 . 2G
G
Observm c dac h = v u0 0 atunci (grad h) 2 dx dy > 0 . ntr-adevr, n caz contrar, ar rezulta grad h = 0 i deci c h este constant pe G . Cum h C = 0 , rezult h = 0, ceea ce contrazice ipoteza fcut. Aadar J(v) > J(u0)
1
dac v u0. Rmne s demonstrm unicitatea elementului u0. Fie u1D, u1u0, astfel nct J (u1 ) = min{ J (u ) ; u D } . Conform celor demonstrate mai nainte rezult J(u1) > J(u0) . Analog avem J(u0) > J(u1). Rezult astfel o contradicie i cu aceasta teorema este demonstrat.
Observaia 1. Funcionala (8) are sens i pentru funcii u dintr-o clas mai larg i anume funcii de clas C1.
atunci u0 satisface ecuaia ce deriv din (0) = 0 i anume [grad u 0 grad h pu 0 h + fh]dxdy + (u 0 h h )ds = 0 ,
G C2
(16)
pentru orice h C (1) (G ) C (0) (G ) cu proprietatea h C = 0 . 1 Evident u0 nu mai este soluie (clasic) a problemei la limit (1)+(2)+(3). ~ O funcie din D care verific (16) poart numele de soluie slab a problemei la limit (1) + (2) + (3). Pentru rezolvarea numeric a problemei la limit (1)+(2)+(3), se consider o reea ptratic de drepte paralele cu axele de coordonate: x = xi = a + ih , i = 1, m , y = y j = b + jh , j = 1, n , care acoper ntreg domeniul G . Punctele Mij(xi , yj) se numesc nodurile reelei, iar h, pasul reelei. O prim metod de rezolvare numeric a problemei la limit (1)+(2)+(3) const n discretizarea ecuaiei (1) i a condiiilor la limit (2)+(3) n nodurile reelei, obinndu-se un sistem de ecuaii liniare. Soluia acestui sistem aproximeaz, n nodurile reelei, soluia problemei la limit (1)+(2)+(3). n continuare vom numi aceast metod, metoda reelelor. O a doua metod const n discretizarea integralei (8) din problema variaional, rezultnd o
227
funcie ptratic, care apoi se minimizeaz. Vom numi aceast metod, metoda energiei. Prezentm cele dou metode pe urmtorul exemplu.
Exemplul 1. Fie G dreptunghiul ABCD de laturi AB = 5 i AD = 4.
Se cere s se determine o funcie u C ( 2) (G ) C (1) (G ) care este soluie pentru ecuaia Poisson u = f(x,y), (x,y)G , (17) unde 4 dac ( x, y ) G1 f ( x, y ) = y 0 dac ( x, y ) G1 C D 4 7 10 13 16 1 5 8 11 14 17 2 6 G1 9 12 G2 15 18 3
A i care verific condiiile la limit u AB = u DC = 0 ,
Figura 1
u AD = 0 , x u + u BC = 0 . x
Interpretarea fizic este urmtoarea: o membran elastic are marginile AB i CD fixe, marginea AD liber, iar marginea BC este rezemat elastic. Funcia cutat u = u(x,y) reprezint deplasarea membranei sub aciunea unei ncrcri continue f = f(x,y), care este aplicat perpendicular pe membran.
228
sunt notate n figur. Valorile funciei u = u(x,y) i ale funciei f n aceste noduri le vom nota cu u1, u2, ..., u18, respectiv f1, f2, ..., f18. Pentru discretizarea ecuaiei (17) va trebui s aproximm derivatele i
2u x2
2u y2
2u x2
2u y2
numerice n acest nod. Conform (19), 5.4 , rezult 2u 2u = u8 2u11 + u14 = u10 2u11 + u12 . i 2 2 x2 h h2 11 y 11 nlocuind n ecuaia Poisson (17), obinem u8 2u11 + u14 u10 2u11 + u12 = f11 + h2 h2 i mai departe
4u11 u8 u14 u10 u12 + h 2 f11 = 0 . n fiecare din cele 12 noduri interioare vom obine cte o ecuaie liniar de tipul (21). Modul de alctuire al ecuaiei de tip (21) este pus simbolic n eviden de figura 2. Dac nodul este interior, dar este de tipul 4, atunci va trebui s inem seama c u CD = 0 . Ecuaia corespunztoare nodului 4 va fi
(21) 1
4u+h f
1 Figura 2 (21) 4u 4 u 5 u 7 u1 + h 2 f 4 = 0 . Aadar, celor 12 noduri interioare le corespund 12 ecuaii liniare cu 18 necunoscute u1, u2, ..., u18. Cele 6 ecuaii liniare care lipsesc se obin din condiiile la limit (19) i (20). u n nodurile de pe laturile AD i BC aproximm derivata cu derivata x numeric dat de (17), 5.4 . 3u1 + 4u 4 u 7 u . De exemplu n nodul 1 avem = 2h x 1
229
Cum
u x
AC
3u1 + 4u 4 u 7 = 0 . (22) Ecuaii asemntoare se obin datorit nodurilor 2 i 3. u +u = 0 , n nodul 16 Deoarece pe latura BC avem condiia la limit BC x obinem 3u16 + 4u13 u10 + u16 = 0 2h i mai departe 3u16 + 4u13 u10 + 2hu16 = 0 . (23) Ecuaii asemntoare se obin datorit nodurilor 17 i 18. n final se obine un sistem de 18 ecuaii liniare cu 18 necunoscute u1, u2, ..., u18. Rezolvnd acest sistem se obin valorile aproximative ale funciei u n nodurile reelei.
Funcionala J asociat acestei probleme la limit, va fi un caz particular al funcionalei (8) i anume 1 1 (24) J (u ) = ( grad u ) 2 + f ( x, y )u dx dy + u 2 dy . 2 BC G 2 Conform Teoremei 1, problema la limit (17)+(18)+(19)+(20) este echivalent cu urmtoarea problem variaional: s se gseasc o funcie u C 2 (G ) C 1 (G ) care satisface condiia u AB = u DC = 0 (25) i care minimizeaz funcionala (24) . Introducem notaiile: 2 2 u 1 u 1 J 1 (u ) = ( grad u ) 2 dx dy = + y dx dy , (26) 2 x 2 G G J 2 (u ) = f ( x, y )u ( x, y ) dx dy , (27)
G
230
J 3 (u ) =
1 2 u dy 2 BC
(28)
i considerm reeaua ptratic de pas h = 1 din figura 1. Metoda energiei const n aproximarea integralei J = J1 + J2 + J3 n nodurile reelei, aproximare n urma creia se obine o funcie ptratic F = F(u1, u2, ..., u18) . Problema minimizrii funcionalei J cu condiia la limit (25), se va nlocui cu problema minimizrii funciei ptratice F cu aceeai condiie la limit. Condiia necesar de minim pentru F i anume, gradF = 0, ne conduce la un sistem de 18 ecuaii liniare n necunoscutele u1, u2, ..., u18.
Observaia 1. Exist dou avantaje majore ale metodei energiei n raport cu metoda reelelor. Primul const n faptul c n metoda energiei nu este necesar discretizarea condiiilor la limit (19) i (20) i nici a derivatelor pariale de ordinul doi. Al doilea const n aceea c, termenii ptratici din expresia lui F, constituie o form ptratic pozitiv definit. Drept urmare, sistemul de ecuaii liniare, care rezult din minimizarea funciei ptratice F, este simetric i pozitiv definit i astfel avem acces la metodele de relaxare pentru rezolvarea sa.
u x
segmentul orizontal determinat de nodurile 11 i 14 avem u u14 u11 , x h iar pe segmentul orizontal determinat de nodurile 12 i 15 avem u u15 u12 . x h Media aritmetic a ptratelor acestor expresii constituie o aproximare bun u pentru derivata x
2
2
1 u 2 2 2 (u14 u11 ) + (u15 u12 ) . x 2h u Un rezultat asemntor obinem pentru y u 1 2 2 y 2 (u14 u15 ) + (u11 u12 ) . h 2
2 2
[ [
] ]
231
innd seama c aria ptratului G2 este h2, din teorema de medie pentru integrala dubl rezult 1 J 1 (u14 u11 )2 + (u15 u12 )2 + (u14 u15 )2 + (u11 u12 )2 . (31) 4 Pentru aproximarea integralei J2 folosim metoda trapezelor pentru integrala dubl (5.3 , (1) ). Avem
h2 [ f11u11 + f14 u14 + f15 u15 + f12 u12 ] . (32) 4 Pentru aproximarea integralei J3 se folosete metoda dreptunghiurilor i se obine h 2 2 2 J 3 u16 + u17 + u18 . (33) 2 Aadar, integrala J = J1 + J2 + J3 se va aproxima cu o funcie ptratic F = F(u1, u2, ..., u18) , care provine din adunarea expresiilor (31)+(32)+(33). Funcia ptratic F se compune dintr-o form ptratic pozitiv definit provenind din discretizarea integralelor J1 i J3 i o form liniar provenind din discretizarea integralei J2. Pentru ca F s fie minim trebuie ca gradF = 0. F Contribuia celulei G2 n va fi u11 J2
2 2 1 [(u11 u12 ) (u14 u11 )] + h f11 = 1 ( u14 + 2u11 u12 ) + h f11 .(34) 2 4 2 4 Datorit celorlalte trei celule vecine, care au n comun cu G2 , nodul 11, F n vor apare i expresiile u11
2 2 1 ( u8 + 2u11 u12 ) + h f11 , 1 ( u10 + 2u11 u14 ) + h f11 , 2 4 2 4 2 1 ( u8 + 2u11 u10 ) + h f11 . 2 4 Deoarece variabila u11 intervine n expresia lui F, numai datorit F celulelor care au comun nodul 11, rezult c se compune din suma celor u11 patru expresii de mai sus. Rezult c F = 4u11 u14 u10 u8 u12 + h 2 f11 = 0 . (35) 1 u11
Contribuia nodului 11 n gradF = 0 este pus n eviden de schema (n cruce) 1 din Figura 3. Deoarece u CD = 0 , un nod interior de tipul nodului 4 ne conduce la ecuaia 1
4u+h2f
Figura 3
232
F = 4u 4 u 5 u 7 u1 + h 2 f 4 = 0 . u 4
(35)
S analizm acum contribuia n gradF = 0 a unui nod de pe AD, de exemplu a nodului 2. n acest caz sunt numai dou celule vecine care au n comun nodul 2. Expresia cu care intervine u2 n F va fi
2 2 1 1 2 2 h (u 5 u 2 )2 + (u1 u 2 )2 + h f 2 u 2 + ( ) ( ) u u u u + f 2u 2 . + 2 2 3 4 5 4 4 4 Contribuia nodului 2 n gradF = 0 revine la
2 1 [ (u5 u 2 ) (u1 u 2 ) (u5 u 2 ) + (u 2 u3 )] + h f 2 = 0 . 2 2 Se obine astfel ecuaia
h2 1 1 u1 u 3 + f2 = 0 . 2 2 2 Modul de alctuire a ecuaiei (36) este pus n eviden de schema din Figura 4. n cazul nodului 1 vom avea 2u 2 u 5 h2 1 u2 + f1 = 0 , 2 2 deoarece u CD = 0 . n mod analog, nodului 3 i 2u1 u 4 corespunde ecuaia 2u 3 u 6
2
(36) 1 2
h 1 f 2u + u2 + f3 = 0 . 2 2 2 1 n sfrit, rmne s analizm nodurile de Figura 4 2 pe latura BC, de exemplu nodul 17. i n acest caz avem numai dou celule vecine. Contribuia nodului 17 n gradF datorit discretizrii integralelor J1 i J2 va fi 1 1 h2 2u17 u14 u16 u18 + f17 = 0. 2 2 2 h 2u17 = hu17 care 2 provine din discretizarea integralei J3. Aadar, nodului 17 i corespunde ecuaia La aceast expresie trebuie s adugm i termenul 2 2 Modul de alctuire al ecuaiei (37) este pus n eviden de schema din Figura 5.
f17 = 0 .
(37) 1 2
1
( 2 + h)u +
h2 f 2
Figura 5
1 2
233
Deoarece u CD = 0 , nodului 16 i corespunde ecuaia f16 = 0 . 2 2 O ecuaie analoag obinem pentru nodul 18. n cazul concret considerat, cnd funcia f este dat de 4 dac ( x, y ) G1 f ( x, y ) = , 0 dac ( x, y ) G1 rezult f5 =f6 =f8 =f9 = 4 i fi = 0 n rest. Precizm de asemenea c h=1. n final se obine urmtorul sistem de ecuaii liniare AU+b = 0, n care A este matricea coeficienilor necunoscutelor u1, u2, ..., u18, U = ( u1, u2, ..., u18)T , iar b = ( b1, b2, ..., b18)T. Componentele vectorului b sunt toate nule cu excepia componentelor b5, b6, b8 i b9 care sunt egale cu 4. Matricea A arat astfel 1 0 1 0 0 2 2 1 2 1 0 1 0 2 2 1 2 0 0 1 0 2 0 4 1 0 1 0 0 1 0 0 1 0 1 4 1 0 1 0 0 0 1 0 1 4 0 0 1 1 0 0 4 1 0 1 0 0 0 1 0 1 4 1 0 1 0 0 0 1 0 1 4 0 0 1 1 0 0 4 1 0 1 0 0 0 1 0 1 4 0 0 1 0 0 0 1 0 1 4 0 0 1 0 1 0 0 4 1 0 1 0 0 1 0 1 4 1 0 1 0 0 0 1 0 1 4 0 0 1 1 0 1 0 0 3 2 1 1 0 1 0 3 2 2 1 0 0 1 0 3 2 (38)
234
Observm c matricea sistemului este simetric, ireductibil i slab diagonal dominant. Conform Teoremei 2 din 1.2 , rezult c aceast matrice este pozitiv definit. Numrul ecuaiilor sistemului liniar, este egal cu numrul nodurilor. Pentru o reea cu un numr mic de noduri, sistemul se poate rezolva cu metoda Cholesky. De asemenea se poate folosi metode relaxrii simple sau metoda Gauss - Seidel. Dac reeaua se alege mai fin, numrul ecuaiilor crete rapid. Cea mai indicat metod de rezolvare n acest caz este metoda suprarelaxrii. Noi tim s determinm parametrul optim de relaxare pentru o matrice simetric, pozitiv definit, diagonal bloc tridiagonal (1.11 , Teorema 2). n cazul de fa, matricea sistemului este simetric, pozitiv definit i bloc tridiagonal, dar nu este diagonal bloc tridiagonal. S observm ns c structura matricei coeficienilor este legat de numerotarea nodurilor. Pentru acelai numr de noduri, dac se schimb numerotarea, se schimb i matricea sistemului. S considerm din nou o reea format din 18 noduri pe care le mprim n dou pri. O jumtate din noduri au culoarea neagr, iar cealalt jumtate au culoarea alb. Numerotarea o facem astfel nct orice segment paralel cu axele unete 1 11 4 14 7 17 noduri de culori diferite (vezi Figura 6). Pentru nodul 6, schema n cruce din Figura 10 3 13 6 16 9 3 ne conduce la ecuaia 2 12 5 15 8 18 4u 6 u13 u14 u15 u16 + h 2 f 6 = 0 . Pentru nodul 10, schema din Figura 4 ne conduce la ecuaia h2 1 1 f10 = 0 etc. 2u10 u1 u 2 u 3 + 2 2 2 Se obine urmtorul sistem u1 2 2 4 4 4 4 4 4 3 u2 u3 u4 u5 u6 u7 u8 u9 u10
1 2 1 2
Figura 6
u18
b 0 0 1 0 1 0 0 0
-1
-1 -1 -1 -1 0 -1 -1 -1 0 -1 -1 -1 0 -1 -1 -1 0 -1 -1 -1 -1 0 -1
1 2
-1
1 2
235
-1 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 0
1 2 1 2
2 4 4 4 4 4 4 3 3
0 0 1 1 0 0 0 0 0
-1
0 -1
-1
(39) Matricea acestui sistem este simetric, pozitiv definit i diagonal bloc tridiagonal. Definiie. Fie M={1,2,3, ... ,n}. O matrice ptratic AMn(R) se numete de tip (A) , dac exist dou submulimi S i T ale lui M, nevide, cu proprietile: (i) ST=M (ii) ST= (iii) Dac aij0, atunci sau i=j sau iS i jT. S observm c matricea (38) de tipul (A). ntr-adevr, submulimile S = {1,3,5,7,9,11,13,15,17} i T = {2,4,6,8,10,12,14,16,18} satisfac proprietile (i)-(iii). Se poate arta c o matrice este de tipul (A), dac prin permutri simultane de linii i coloane, poate fi adus la forma diagonal bloc tridiagonal. O matrice de tipul (A) poate avea mai multe reprezentri diagonal bloc tridiagonale. Matricea (39) este una dintre aceste reprezentri ale matricei (38).
1 3 6 2 5 9 4 7 8 11 12 15 Figura 7 10 14 17 13 16 18
Numerotarea din Figura 6 este tipic pentru aducerea unei matrice de tip (A) la forma diagonal bloc tridiagonal. O numerotare a nodurilor pe diagonal, ca n Figura 7, conduce de asemenea la o matrice diagonal bloc tridiagonal. Lsm n seama cititorului deducerea matricei sistemului de ecuaii liniare ce corespunde acestei numerotri.
Definiie. Pentru o matrice de tip (A), un sistem de numerotare a nodurilor, cruia i corespunde o matrice diagonal bloc tridiagonal, se numete consistent.
Reamintim c pentru o matrice simetric, pozitiv definit, diagonal bloc tridiagonal, parametrul optim de relaxare este
236
opt =
2 1+
2 1 1
unde 1 este cea mai mare valoare proprie a matricei -D-1(E+F) (Teorema 2, 1.11). Se poate demonstra c, pentru o matrice de tipul (A), parametrul optim de relaxare este independent de sistemul particular consistent de numerotare a nodurilor. n cazul exemplului nostru, pentru reeaua cu 18 noduri avem: 1 = 0.837319 i opt = 1.29306 . Pentru a obine o soluie cu 6 zecimale exacte, sunt necesare 50 de iteraii cu metoda Gauss-Seidel i numai 16 cu metoda suprarelaxrii. Pentru o reea cu 77 de noduri, 1 = 0.957686 i opt = 1.5530 . Pentru a obine o soluie cu 6 zecimale exacte sunt necesare 200 de iteraii cu metoda Gauss-Seidel i numai 35 cu metoda suprarelaxrii. n ncheierea acestui capitol vom analiza pe scurt cazul cnd frontiera domeniului G este o curb C (Figura 8). R2 h R1 Considerm o reea ptratic, de pas h, R3 care acoper domeniul G i notm cu G C 1 2 3 domeniul haurat (format din celulele coninute n interiorul domeniului G). 4 5 6 7 S presupunem c se cunosc valorile 8 9 10 11 funciei u pe curba C. Notm cu a distana de la nodul 1 la punctul R1. Dreapta determinat de punctele Figura 8 (0,u5) i (a+h,u(R1)) are ecuaia u ( R1 ) u 5 x. y u5 = a+h Punnd condiia ca pentru x = h , s rezulte y = u1, obinem au + hu ( R1 ) u1 = 5 . (40) a+h Pe parcursul discretizrii, variabila u1 se va nlocui cu expresia din membrul drept al relaiei (40), astfel nct variabila u1 va dispare din sistemul final. Nodul 1 se numete nod eliminat, iar nodul 5 se numete nod auxiliar. Nu acelai lucru se ntmpl cu nodul u2. Acesta este nod eliminat din punct de vedere al punctului R2 de pe frontier, dar, n acelai timp este nod auxiliar pentru punctul R3. Rezult c variabila u2 nu va dispare din sistemul final.
Exerciii
237
Determinm valorile la limit ale funciei u i obinem: 1 1 3 u (0, ) = 7.5 , u (0, ) = 15 (1), u (0, ) = 22.5 , u (0,1) = 30 4 2 4 1 1 3 u ( ,1) = 28.125 , u ( ,1) = 22.5 , u ( ,1) = 13.125 . 4 2 4 Vom numerota nodurile reelei ca in figura de mai jos: 30 28.125 22.5 13.125 0 0 0 0 0
22.5 15 7.5 0
Vom nlocui derivatele pariale de ordin 2 n ecuaia lui Laplace, pentru nodurile interioare reelei. Obinem astfel ecuaiile:
u 21 + u 01 + u12 + u10 4u11 = 0 u 22 + u 02 + u13 + u11 4u12 = 0 u 23 + u 03 + u14 + u12 4u13 = 0 u 31 + u11 + u 22 + u 20 4u 21 = 0 u 32 + u12 + u 23 + u 21 4u 22 = 0 u 33 + u13 + u 24 + u 22 4u 23 = 0 u 41 + u 21 + u 32 + u 30 4u 31 = 0
238
u 42 + u 22 + u 33 + u 31 4u 32 = 0 u 43 + u 23 + u 34 + u 32 4u 33 = 0
nlocuind n ecuaiile de mai sus valorile la limita specificate, obinem sistemul de ecuaii: u 21 + u12 4u11 = 7.5 u + u + u 4u = 15 13 11 12 22 u 23 + u12 4u13 = 22.5 28.125 u 31 + u11 + u 22 4u 21 = 0 u 32 + u12 + u 23 + u 21 4u 22 = 0 u + u + u 4u = 22.5 13 22 23 33 u 21 + u 32 4u 31 = 0 u 22 + u 33 + u 31 4u 32 = 0 u 23 + u 32 4u 33 = 13.125 Rezolvnd acest sistem se obin valorile: u11 = 6.077 , u12 = 12.422 , u13 = 19.47 , u 21 = 4.386 , u 22 = 9.141 , u 23 = 14.833 , u 31 = 2.327 , u 32 = 4.922 , u 33 = 8.22 . 1 s se determine soluia ecuaiei lui 4 Laplace cu condiiile la limit specificate n figura de mai jos, daca vrful din stnga jos al plcii are coordonatele (0,0). 2. Aplicnd metoda reelei pentru h = k = 5000 10000 10000 0 0 0 10000 5000 0 0 0
0 0 1 R. Din cauza simetriei condi0 iilor la0 limit 0 fa de axa x = , vom avea: 2 u11 = u 31 , u12 = u 32 , u13 = u 33 (1)
239
Aceste relaii reduc numrul valorilor necunoscute ale funciei u, n punctele interioare reelei, la 6. Vom nlocui derivatele pariale de ordin 2 n ecuaia lui Laplace, pentru nodurile (1,1), (1,2), (1,3), (2,1), (2,2), (2,3). Obinem astfel ecuaiile:
u 21 + u 01 + u12 + u10 4u11 = 0 u 22 + u 02 + u13 + u11 4u12 = 0 u 23 + u 03 + u14 + u12 4u13 = 0 u 31 + u11 + u 22 + u 20 4u 21 = 0 u 32 + u12 + u 23 + u 21 4u 22 = 0 u 33 + u13 + u 24 + u 22 4u 23 = 0
innd cont c u i 0 = 0, i = 1, 3 , u 0 j = 0, j = 1, 3 , u14 = u 24 = u 34 = 10000 , i nlocuind n ecuaiile de mai sus valorile la limita specificate, obinem sistemul de ecuaii: u 21 + u12 4u11 = 0 u + u + u 4u = 0 13 11 12 22 u 23 + u12 4u13 = 10000 2u11 + u 22 4u 21 = 0 2u12 + u 23 + u 21 4u 22 = 0 2u13 + u 22 4u 23 = 10000
Rezolvnd acest sistem se obin valorile: u11 = 714 , u12 = 1875 , u13 = 4286 , u 21 = 982 , u 22 = 2500 , u 23 = 5268 , dup cum se observ i in figura de mai jos. 5000 10000 10000 10000 5000 0 0 0 0
0 0 0 0
982
714
240
3. Problema deformrii elastice a unei plci ptrate sub aciunea unei fore = 1 , cu valori la limit egale x 2 y 2 cu 0. S se determine soluia ecuaiei, folosind metoda reelelor, dac latura plcii 1 ptrate se ia egal cu 1, iar distana h = . 4 constante se reduce la rezolvarea ecuaiei + R. u11 = u13 = u 33 = u 31 = 0.0429 , u12 = u 32 = u 21 = u 23 = 0.0547 , u 22 = 0.0703 . 4. Fie G domeniul plan ABCDE din fig.1, AB = 1.5, BC = 0.5, DE = 1, AE = 1. Formulai problema la limit corespunztoare problemei de minim pentru funcionala 1 J (u ) = (grad u )2 dxdy u ds , 2G CD definit pe mulimea funciilor u C ( 2) (G ) C (1) (G ) , care satisfac: u = 0 pe BC, u = 1 pe DE i EA. R. Procednd ca n demonstraia teoremei 1, se obine problema la limit u = 0 n G E D u 0 pe = AB 20 19 18 17 16 (1) n u 11 12 13 14 15 = 1 pe CD n 10 9 8 7 6 u = 0 pe BC , u = 1 pe DE i EA.
A 1 2 3 4 5
2u
2u
Fig. 1. 5. Fie G trapezul ABCD, AB = 1.5, DA = 1, DC = 0.5 (fig.2). S se determine funcionala asociat problemei la limit: D C u + 2 = 0 n G (2) u = 0 pe AB, CD i DA u = 0 pe BC n R. J (u ) = 1 (grad u )2 dxdy 2 u dxdy. 2
G G
A B
Fig. 2.
6. Fie G trapezul ABCD, AB = 1.5, DA = 1, DC = 0.5 (fig.2). S se determine funcionala asociat problemei la limit:
241
u = 1 n G u = 1 pe AB u (3) n = 0 pe BC . u = 0 pe CD u 2u + = 1 pe DA n 1 R. J (u ) = (grad u )2 dxdy + u dxdy + (u 2 u ) ds . 2G G DA 7. S se discretizeze problema la limit (1), folosind metoda energiei pentru funcionala asociat acestei probleme, alegnd reeaua i numerotarea nodurilor ca n fig.1. R. Folosim notaiile i tehnica prezentat la metoda energiei. Fie 1 J 1 (u ) = ( grad u )2 dxdy , J 2 (u ) = u ds . 2G CD
Integrala J 1 + J 2 se va aproxima cu o funcie ptratic F = F (u1 , u 2 , ... , u19 , u 20 ) . Condiia gradF = 0 , conduce n cazul unui nod interior, de exemplu nodul 7, la ecuaia (vezi (35)): F = 4u 7 u 4 u 6 u8 u14 = 0 . u 7 n cazul nodurilor de pe AB, cum este cazul nodului 2, innd seama c nodul 2 este comun la 2 celule, rezult: F 1 1 = 2u 2 u 9 u1 u 3 = 0 . u 2 2 2 innd seama c u = 1 pe AE i u = 0 pe BC, obinem: F 1 1 = 2u1 u10 u 2 = 0 , u1 2 2
F 1 = 2u5 u6 u4 = 0. u5 2
n cazul nodului 17, se procedeaz ca n cazul nodului 7, innd seama c u = 1 pe DE. n consecin: F = 4u17 u18 u16 u14 1 = 0 . u17 S analizm acum cazul nodului 16. Pentru a aproxima J 1 pe celula D, 16, 17, inem seama c:
242
u16 u17 u 1 u17 u , . h x y h Deci, pe aceast celul, 1 J 1 (u ) (u16 u17 )2 + (1 u17 )2 . 2 Similar, pe celula C,15,16 1 2 J 1 (u ) u15 + (u16 u15 )2 . 2 Pentru a aproxima J 2 , cum ecuaia dreptei CD este y = x + 8h ,
conform formulei trapezelor. innd seama i de aceasta i aportul celulelor vecine, rezult: F 3 3 = 3u16 u15 u17 + 2 2hu16 = 0 , u16 2 2 F 3 = 5u15 u16 u14 u 6 = 0 . u15 2 Similar obinem: 3 5u17 u16 u14 u18 1 = 0 , 2 4u18 u17 u13 u19 1 = 0 4u 20 u11 u19 2 = 0 . n final se obine urmtorul sistem de ecuaii liniare: AU + b = 0, unde A este matricea coeficienilor necunoscutelor u1 , u 2 , ..., u18 , U = (u1 , u 2 , ..., u18 )T , iar b = (b1 , b2 , ..., b18 )T , Matricea A arat astfel:
243
0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 4 1 0 1 4 1 0 1 4
2 1 2 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
4 1 0 0 0 0 0 0 0 1 4 1 0 0 0 0 0 1 0 1 4 1 0 0 0 1 0 0 0 1 4 1 0 1 0 0 0 0 0 1 4 1 0 0 0 0 0 0 0 1 4 1 0 0 0 0 0 1 0 1 4 1 0 0 0 1 0 0 0 1 4 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 4 1 0 1 0 0 0
0 0 0 0 3 2
0 0 0 1 0 3 2
(3 + 2 2 )h
3 2 0 0 0
5 1 0 0
0 0 1 0 1 0 1 0 0
1 b = ,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,1,2 . 2 8. S se discretizeze problema la limit (2), folosind metoda energiei pentru funcionala asociat acestei probleme, alegnd reeaua i numerotarea nodurilor ca n fig.2. 9. S se discretizeze problema la limit (3), folosind metoda energiei pentru funcionala asociat acestei probleme, alegnd reeaua i numerotarea nodurilor ca n fig.2.
245
246
(ii) (iii)
x + y, z = x, z + y, z , ( ) x, y, z H, , R.
x, x 0, x, x = 0 x = H
Din definiia produsului scalar rezult imediat: x, y + z = x, y + x, z , () x, y, z H, , R. a) x, H = H , x = 0 . b) Ca i n cazul spaiilor euclidiene se poate demonstra c) x, y x, x y, y , () x, y H (inegalitatea CauchyBuniakowski-Schwarz) ntr-un spaiu prehilbertian H se definete x = x, x , x H . Din (iii) i (1) se obine: x 0, () x H ; d) x = 0 x =H
(1)
x = x , () x H , R . e) Totodat din c) rezult x + y x + y , () x, y H (inegalitatea triunghiului). f) n concluzie, (1) definete o norm pe H, deci (H, ) este un spaiu normat.
Definiia 2. Un ir (xn)n din H converge la elementul x din H i vom nota xn x, dac irul numeric ( x n x )n converge la 0, deci dac pentru orice >0, exist nN* astfel nct x n x < , () n n . Un ir (xn)n din H
247
>0
exist
nN*
Evident, orice ir convergent este ir Cauchy, afirmaia reciproc nefiind, n general, adevrat. Un spaiu normat n care orice ir Cauchy este convergent se Definiia 3. numete complet (Banach). Un spaiu prehilbertian complet se numete spaiu Hilbert (de la numele matematicianului german D. Hilbert). Se poate arta uor c orice ir convergent este mrginit. Propoziia urmtoare semnaleaz proprieti simple specifice spaiilor prehilbertiene.
Propoziia 1. Fie H un spaiu prehilbertian
2 2 2 2
(i)
x+ y
+ x y
= 2( x + y ) (identitatea paralelogramului)
xn, ynx,y
(continuitatea
(ii) Dac xnx i yny, atunci produsului scalar) Demonstraie. (i) Din definiia normei se obine x+ y
2
= x + y, x + y = x
+ 2 x, y + y
x y = x y , x y = x 2 x, y + y . Aducnd cele dou egaliti obinem (i). De remarcat c aceast identitate este generalizarea urmtoarei proprieti din geometria elementar: suma ptratelor diagonalelor unui paralelogram este egal cu suma ptratelor laturilor sale. (ii) Folosind inegalitatea lui Cauchy-Buniakowski-Schwarz obinem x, y x n , y n x, y y n + x x n , y n x y y n + x x n y n . Cum irul (yn)n este mrginit, rezult c membrul drept al inegalitii converge la 0, deci x n , y n x, y . Un interes fundamental l reprezint spaiile Hilbert. Acestea reprezint generalizarea imediat a spaiilor euclidiene deoarece geometria lor este mai apropiat de geometria euclidian dect geometria oricror alte spaii Banach. Spaiile Hilbert au numeroase proprieti specifice spaiilor euclidiene care nu sunt generice spaiilor Banach (de exemplu, identitatea paralelogramului). n continuare, vom da un exemplu de spaiu Hilbert, important n teoria ecuaiilor difereniale i cu derivate pariale.
248
cu L2 (G ) = { u : G R ; u
msurabil i
Vom identifica n L2(G), orice dou funcii care coincid aproape peste tot (a.p.t) pe G. Este clar c dac R i u L2(G), atunci u L2(G). Fie acum u,v L2(G). Din inegalitatea [u ( x) + v( x)]2 2 u 2 ( x) + v 2 ( x) , () x G , obinem c 2 2 2 [u ( x) + v( x)] dx 2 u ( x)dx + v ( x)dx < . G G G 2 2 n consecin, u+v L (G), deci L (G) este un spaiu vectorial real. Totodat pentru orice u,vL2(G), avem
2 u ( x)dx < } .
( u( x) v( x) )2 0 , () x G,
2
de unde
, () x G ,
u , v = u ( x)v( x)dx .
G
def
(2)
Se verific uor c L2(G) este un spaiu prehilbertian. Conform (1), pentru orice uL2(G) se poate defini norma
2 u 2 = u ( x ) dx G Se poate demonstra
1/ 2
(3)
Teorema 1. L2(G) este un spaiu Hilbert. Definiia 4. Fie H un spaiu Hilbert. O mulime D H se numete dens n H, dac pentru orice xH exist un ir (xn)n n D astfel ca xn x.
Exemplul 2. Dac G Rn i u : G R, definim suportul lui u ca suppu = {x G; u ( x) 0 } . Considerm mulimea C 0 (G ) , a funciilor reale
, cu suport compact n G (adic anulndu-se n afara unei mulimi compacte din G, ce depinde de funcia considerat), indefinit derivabile. Aceste funcii vor fi numite funcii test. Evident c n raport cu adunarea funciilor test i nmulirea
249
cu numere reale a funciilor test, C 0 (G ) este un spaiu vectorial. Exist foarte multe funcii test. De exemplu, se poate arta c, pentru orice funcie continu f, cu suport compact, exist totdeauna o funcie test ce o aproximeaz orict de bine, adic pentru orice > 0 exist astfel ca, pentru orice x, f ( x) ( x) < .
Observaia 1. Dac D este dens n H i x, y = 0, pentru orice y din D, atunci x = H. ntr-adevr, dac zH, atunci exist (yn)n din D astfel ca yn z. innd seama de continuitatea produsului scalar, rezult x, z = 0 . Alegnd z=x,
se obine c x = H.
Definiia 5. Fie H un spaiu Hilbert. Elementele x, y, H se numesc ortogonale i se noteaz x y, dac x, y = 0 . Elementul x H este
ortogonal pe mulimea E H i se noteaz x E, dac x este ortogonal pe fiecare element din E. Mulimea tuturor elementelor ortogonale pe o mulime dat E formeaz un subspaiu vectorial nchis al lui H, numit complementul ortogonal al mulimii E i se noteaz E. Teorema urmtoare este fundamental n teoria spaiilor Hilbert i n rezolvarea aproximativ a unor probleme la limit pentru ecuaii difereniale i cu derivate pariale.
Teorema 2. Fie H0 un subspaiu nchis al spaiului Hilbert H i H0 complementul ortogonal al lui H0. Orice element x H se poate reprezenta n mod unic sub forma (4) x = x + x , x H 0 , x H 0 Mai mult, n x se atinge distana dintre x i H0, adic x x = min x y . (5)
yH 0
ca
x xn
<d2 +
(6)
(7)
250
Dar ( x xm ) + ( x xn ) Deoarece
2
= 4 x ( xm + xn ) / 2
xm + xn H 0 , rezult 2
2
( x x m ) + ( x x n ) 4d 2 . (8) innd seama de (6) i (8), din (7) obinem 2 1 1 2 2 2 2 2 x n x m 2 d + 2 + d + 2 4d = 2 + 2 . n m n m este ir Cauchy i cum H este complet, exist Deci irul (xn)n x = lim x n . Deoarece H0 este nchis, rezult x H 0 . Trecnd la limit n
n
(6), gsim
x x = d
x H 0 .
x = x x
este ortogonal pe
H0
i deci
= x ( x + y )
d2,
2
d2.
0 .
n particular, pentru
x , y y
2
se deduce
x , y
0,
deci
x , y = 0 , adic x y. Astfel reprezentarea (4) i relaia (5) sunt stabilite. Rmne s artm unicitatea reprezentrii (4). Fie = x1 x . + x1 , x1 H 0 , x1 H 0 . Din (4) se obine x x1 x = x1 Cum
H 0 , iar x1 x H 0 , rezult x x1
x ), ) (x1 (x x1
deci
, x1 = x . Teorema este demonstrat. , x x1 = 0. n consecin x = x1 x x1 Definiia 6. Elementele x i x unic definite de elementul x se numesc
. proieciile elementului x pe subspaiul H0, respectiv H 0 Dup cum este cunoscut nu orice ir Cauchy de numere raionale are limit n Q , ci n R. De fapt n R noiunile de ir convergent i ir Cauchy sunt echivalente (altfel spus, R este complet). n mod similar orice spaiu prehilbertian
251
poate fi inclus ntr-un spaiu Hilbert (deci complet). Se numete completatul unui spaiu prehilbertian H, cel mai mic spaiu Hilbert care l conine pe H ca subspaiu. Un rezultat cunoscut de analiz funcional precizeaz c orice spaiu prehilbertian admite un completat. n spaiul completat, vom face distincie ntre elementele vechi din H i elementele noi sau ideale obinute prin completare. Din teoreme cunoscute ale analizei funcionale rezult c dac u este un element ideal din completat, atunci exist un ir de elemente (un)n H, ce converge la u, deci H este dens n completat.
Au, v = u , Av , pentru
n cele ce urmeaz vom presupune c operatorul A este simetric i strict pozitiv. Fie f H. Funcionala ptratic F (u ) = Au , u 2 f , u , u D , (10) se numete funcionala energetic a operatorului A. Are loc
Teorema 3. Pentru ca u0 D s realizeze minimul funcionalei energetice este necesar i suficient ca acesta s satisfac Au0 = f . (11) Dac un astfel de element exist, el este unic. Demonstraie. Necesitatea. Presupunem c u0 D realizeaz minimul funcionalei (10). Fie h un element arbitrar din D i t un numr real arbitrar. Atunci . (12) F (u0 + th) F (u0) Rezult c funcia real (t ) = F (u 0 + th ) i atinge minimul pentru t=0, deci dac este derivabil n 0, atunci (0) = 0 . Cum A este simetric, un calcul direct conduce la
t 1 [ (t ) (0)] = 2 Au 0 f , h + t Ah, h , () h D .
Trecnd la limit cu t 0, obinem Au 0 f , h = 0 , () h D i cum D este dens n H, rezult Au0 = f (Observaia 1).
252
Suficiena . S presupunem acum c u0 satisface ecuaia (11). Dac uD, uu0, atunci u = u0 + v, v H . Atunci, cum A este simetric, prin calcul obinem F(u) = F(u0) + 2 Au 0 f , v + Av, v . Dar u0 satisface ecuaia (11), deci F(u) = F(u0) + Av, v . Av, v > 0 i n Operatorul A fiind strict pozitiv i v H , rezult c consecin F(u) > F(u0). Aceasta nseamn c n punctul u0 funcionala (10) i atinge minimul. Pentru unicitate, s presupunem c exist nc un element u1 n care F i atinge minimul. Conform celor de mai sus F(u1) > F(u0). n acelai mod ca mai sus, se poate arta c F(u0) > F(u1). Din contradicia obinut rezult c funcionala (10) i poate atinge minimul ntr-un singur punct i teorema este demonstrat.
Observaia 2. Teorema stabilete echivalena ntre problema rezolvrii ecuaiei Au = f i aceea a aflrii minimului funcionalei energetice (10); dac una din aceste probleme este rezolvabil, atunci i cealalt este rezolvabil i soluia uneia dintre ele este i soluia celeilalte. Teorema nu stabilete dac aceste probleme au soluie. Mai mult, este posibil s nu avem soluie pentru problema formulat. Exemplul 3. S considerm urmtoarea ecuaie diferenial foarte simpl
= f ( x) , x (0,1) , u (0) = u (1) = 0 . (13) dx 2 Fie 2 H = L ((0, 1)), Au = u , D = { u C 2 ((0,1)) C1 ([ 0, 1 ]) ; u (0) = u (1) = 0 } .
((0,1) ) D , rezult c D este subspaiu dens n H. S Cum C 0 artm c operatorul A este simetric. Fie u, vD. Atunci, integrnd prin pri, obinem
d 2u
Totodat
Au, u = u 2 ( x) dx > 0 ,
0
este
constant i din condiiile la limit, rezult c u = 0. Conform Teoremei 3, pentru ca u0D s fie o soluie a problemei (13), este necesar i suficient ca u0 s realizeze pe D minimul urmtoarei funcionale
F (u ) = u 2 ( x) 2 f ( x)u ( x) dx .
0
(14)
253
pentru x(t) 0 (vezi Exemplul 3). Aadar A este strict pozitiv. Aplicnd Teorema 3, rezult c, pentru ca x0D s fie o soluie a problemei (15), (16), este necesar i suficient ca x0 s realizeze pe D minimul funcionalei
(17)
u =
2u
2u
= f L2 (G )
(18)
(19)
C
= 0}
Cum D conine C 0 (G ) , rezult c D este dens n H. De asemenea, pentru u, vD, conform formulei Green-Riemann, rezult 2u 2u u v u v v dx dy = u vds + u , v = + + dx dy , 2 n x x y y y2 G x C G
254
u v u v u , v = + dx dy = u,v , G x x y y adic operatorul A este simetric. n plus u u u , u = [( ) 2 + ( ) 2 ] dx dy > 0 , () u 0 , y G x deci A este strict pozitiv. Conform Teoremei 3, u0D este o soluie a problemei (18), (19) dac i numai dac u0 realizeaz pe D minimul funcionalei u u (20) F (u ) = [( ) 2 + ( ) 2 ] dxdy 2 f ( x, y )u ( x, y )dxdy . y G x G
Observaia 3. Problema clasic nu are sens dect pentru funcii u care sunt de clas C 2 (G ) C1 (G ) . Funcionala corespunztoare are sens pentru funcii de
clas C1 (G ) C 0 (G ) . Deci prin trecerea de la problema clasic la funcionala energetic, condiiile de regularitate pot fi slbite. Altfel spus, problema de minim pentru funcionala energetic se poate pune pe o clas mai larg de funcii. Spre u u , , f L2 (G ) , deci nu mai este exemplu, funcionala (20) are sens dac x y necesar ca u s admit derivate pariale de ordinul al doilea, iar derivatele pariale de ordinul nti nu trebuie s fie neaprat continue. Totodat, existena i unicitatea soluiei clasice, (adic a problemei (18), (19)) nu se poate garanta dac funcia f nu este regulat. Se poate arta c orice soluie a problemei de minim care este de clas C2(G), este soluie clasic a problemei considerate. Altfel spus, problema de minim pentru funcionala energetic se poate pune pe o clas mai larg de funcii.
Funcia u0 care minimizeaz funcionala se aproximeaz cu o funcie u dintr-un subspaiu n-dimensional oarecare Kn H. Evident F(u) d, pentru orice uKn. Aadar, dac funciile i ( x ) , i = 1, n , formeaz o baz a subspaiului Kn, atunci vom cuta soluia aproximativ sub forma
255
u ( x) = ci i ( x) ,
i =1
(22)
numerele reale c1, c2, ... ,cn , urmnd a fi determinate. nlocuind u dat de (22) n funcionala F, rezult F(u) = (c1, c2, ..., cn) i deci problema minimizrii funcionalei F este nlocuit cu problema determinrii extremelor funciei : Rn R. De remarcat c cele dou probleme nu sunt echivalente, deoarece s-a trecut de la funcionala F la funcia , prin intermediul funciilor 1, 2, ..., n , iar alegerea acestora este la dispoziia noastr; eficiena acestei metode, care se mai numete i metoda Rayleigh-Ritz, depinde n mare msur de alegerea funciilor 1, 2, ... , n. Valorile parametrilor c1, c2, ... ,cn se determin, dup cum se cunoate, din sistemul de ecuaii = 0 , i = 1, n , (23) ci adic n F c j j = 0 , i = 1, n . ci j =1 n seciunile urmtoare, vom arta pe exemple concrete, cum se aleg funciile 1, ... , n. n continuare, vom prezenta metoda Rayleigh-Ritz ca metod de cea mai bun aproximare n energie. Fie D un subspaiu dens al unui spaiu Hilbert H, iar A : D H un operator liniar, simetric i pozitiv definit. Presupunem c pentru un fH dat, ecuaia Au = f admite o soluie unic u0D. Fiind dat un subspaiu n-dimensional KnD, vrem s aproximm soluia prin unKn, K n = Sp ( {1 ,..., n }) . Deci cutm un = c11 + ... + cnn astfel ca u 0 u n s fie mic. n ipotezele formulate asupra operatorului A , vom defini un produs scalar, numit produs energie n D, astfel u, v A = Au, v , iar u A = Au , u .
A . Spaiul HA se numete spaiul energetic al operatorului A. Conform Teoremei 2, exist i este unic un element unKn , element de cea mai bun aproximaie, adic u 0 u n A = min u 0 v A . (24)
Vom nota cu HA completatul lui D n raport cu norma
vK n
Definiia 8. Vectorul unic un cu proprietatea (24) se numete aproximanta Rayleigh-Ritz a soluiei u0 dup subspaiul finit dimensional Kn. Dac K n = Sp ( { 1 ,..., n }) , atunci aproximanta Rayleigh-Ritz a soluiei u0 a ecuaiei Au = f este dat de un = c11 + ... + cnn . Fie funcia
256
g(c1, c2 , ... ,cn )= u n u 0 A . Determinm (c1, ..., cn) punctul de minim al funciei g. Deoarece
g (c1 ,..., c n ) = A(u n u 0 ), u n u 0 = [ ci c j A i , j 2ci f , i ] +
i =1 j =1 n n
+ Au 0 , u 0 ,
din condiiile
g = 0 , i = 1, n , ci
c A j = f , i , i = 1, n ,
(25)
i , j
sistem care s-ar putea obine direct din (23), innd seama de formula (10), care d funcionala energetic a operatorului A.
unde coeficienii i , i = 1, n , nu mai sunt scalari, ci funcii de una din variabilele independente, de exemplu x1, iar funciile i sunt funcii de variabilele rmase, x2, ... ,xm , adic u ( x1 ,..., x m ) = i ( x1 ) i ( x 2 ,..., x m ) .
i =1 n
Aceast metod se leag de numele matematicianului rus L. V. Kantorovici i st la baza metodei elementului finit de rezolvare a problemelor nestaionare (dependente de timp).
Exemplul 6. Fie G = {(x, y ) ;
< x, y <
(26)
257
(27) u , y = 0 , y . 2 2 Se alege ca subspaiu aproximant Kn , subspaiul funciilor de un singur argument y, care conform (27) satisfac i = i = 0 , i = 1, n . 2 2 Soluia aproximativ se caut de forma u ( x, y ) = i ( x) i ( y ),
i =1 n
u x, = 0 , x , 2 2
(28)
unde funciile i , i = 1, n , se determin astfel ca u s minimizeze funcionala F corespunztoare problemei date. n acest caz u 2 u 2 dx dy . + F (u ) = + 4 y x G innd seama de (28), avem
unde
d i d j d i d j 2 ( 1 , 2 ,..., n ) = { i j dy + i j dy } + dx dx d y d y i =1 j =1
n n 2 2 2
+ i 4 i dy .
i =1
(29)
Deoarece funciile i , i = 1, n , sunt cunoscute, integralele n (29) se pot calcula exact. Se pune deci problema determinrii extremalelor funcionalei J ( 1 , 2 ,..., n ) . Conform unui rezultat clasic de calcul variaional, coeficienii
d = 0 , i = 1, n . i dx i
258
n consecin funciile necunoscute i , i = 1, n , care apar n soluia aproximativ (28), se obin din sistemul de ecuaii difereniale
j =1
( j cij j d ij ) = bi ,
n
i = 1, n ,
(30)
unde
d i d j cij = dy , dy dy
2 2
d ij = i j dy , bi = 2 i dy
cu condiiile
2 2 n general, metoda semidiscret se poate aplica cu condiia ca problema unidimensional s poat fi rezolvat nemijlocit i exact.
i = i = 0 , i = 1, n .
a soluiei
ci
adic
F (u ) = 0 , i = 1, n ,
i = 1, n ,
Au , i f , i = 0 ,
(34)
259
numai cnd avem un operator A de forma cerut (de remarcat, c, sistemul (34) nu este altceva dect o rescriere a sistemului (25) ). Ideea metodei lui Galerkin este de a considera soluii aproximative pentru ecuaia (31), de forma de mai sus, unde coeficienii ei se determin din sistemul (35) Au f , i = 0 , i = 1, n , chiar dac A nu satisface condiiile din 8.3. Astfel de soluii aproximative au fost considerate de matematicianul rus B. G. Galerkin (1878-1945). Aadar sistemul (35) se poate utiliza chiar dac operatorul A este neliniar. n consecin, metoda elementului finit se poate utiliza pentru rezolvarea unei clase largi de probleme, mult mai interesante dect clasa problemelor care provin din probleme variaionale. Totui, este de dorit ca (35) s poat fi integrat prin pri, pentru a slbi regularitatea cerut funciilor i. Deci metoda lui Galerkin este absolut general. Ea se poate aplica cu succes la ecuaii de tipuri diferite: eliptice, hiperbolice, parabolice, chiar dac ele nu sunt legate de probleme variaionale, ceea ce reprezint un avantaj fa de metoda lui Ritz. Totui, pentru probleme legate de probleme variaionale, ea se gsete ntr-o interdependen strns cu metoda lui Ritz, iar n multe cazuri este echivalent cu aceasta din urm, n sensul c ambele conduc la aceeai soluie aproximativ.
Exemplul 7. Vom prezenta acum o problem de tip Neumann-Dirichlet pentru operatorul lui Laplace n dimensiune 2. Fie G o mulime deschis i conex din R2, cu frontiera C neted pe poriuni. De asemenea, fie C1, C2 o partiie a lui C, lungimea lui C1 fiind strict r pozitiv i n versorul normalei exterioare la C. S considerm acum problema clasic urmtoare: s se gseasc funcia u C 2 (G ) C 1 (G ) astfel ca u = f n G, (36) (37) u = 0 pe C1, u = g pe C2, (38) n f fiind o funcie real definit i continu pe G, iar g o funcie real definit i continu pe C2. De remarcat c este vorba de ecuaia lui Poisson, cu membrul secund f (semnul se introduce din motive tehnice). Condiia Dirichlet pe C1 este omogen, ceea ce nu este restrictiv. ntr-adevr, dac u satisface u=f n u = g pe C2 i dac tim s gsim o funcie u0 suficient G, u = h pe C1 i n ~ = u u verific (36), de regulat, care ia valorile h pe C1, atunci funcia u 0
260
u 0 . A trece de la h pe n
C1 la u0 pe G nseamn c se face o prelungire, u0 fiind o prelungire a lui h (exist o infinitate). ~=u u , Datorit prelungirii h u 0 i apoi a translaiei u u 0 rezult c ipoteza condiiei Dirichlet omogene pe C1 nu este o restricie. n continuare, vom multiplica ecuaia cu derivate pariale cu o funcie test, apoi vom integra pe G, utiliznd formula lui Green i innd seama de condiiile la limit (37), (38). Fie acum spaiile vectoriale reale W i V, definite astfel: W = v : G R ; v C 2 (G ) C1 (G ) , v = 0 pe C1 ,
V = v : G R ; v C (G ) C (G ) , v = 0 pe C 1 , grad v marginit pe G } . Problema clasic (36)-(38) se poate formula astfel: gsii uW care verific (36) i (38). De remarcat c integrnd prin pri, dac uW i vV, are loc prima formul Green: u u vdxdy = grad(u ) grad(v)dxdy vds . (39) n G G C
1 0
2
Din aceast identitate, innd seama de (36) i (38), rezult c (40) a (u , v) = f v dxdy + g v ds , () v V ,
G C2
unde
Aadar, a(,) este o form biliniar i simetric. Muli autori prezint ca problem variaional asociat problemei (36)-(38) urmtoarea problem: gsii uV astfel nct s aib loc (40). Problema clasic nu are sens dect pentru funcii avnd regularitatea lui W. Pentru problema variaional, este suficient regularitatea lui V. Aadar trecnd de la problema clasic la problema variaional, condiiile de regularitate au fost slbite. Se poate arta c orice soluie u a problemei variaionale care este n W, este soluie a problemei clasice. Totodat uV este soluie a problemei variaionale dac i numai dac minimizeaz pe V funcionala 1 F (v) = a (v, v) fv dxdy + gvds 2 C2 G (comparai cu (33) ). Formularea variaional permite introducerea, explicarea i justificarea metodelor numerice. Pentru a discretiza problema clasic n elemente finite, este nevoie s punem n prealabil problema sub forma variaional. Nu este
261
deloc necesar funcionala F. Ea este introdus din simplul motiv c n numeroase probleme similare, dar de interes fizic sau mecanic, funcionala F(v) are o interpretare mecanic interesant, legea fizic corespunztoare scriindu-se adesea sub forma unei probleme de minim. n concluzie sistemul (35) se scrie, dup integrarea prin pri, astfel: a(u , i ) = f i dxdy + g i ds , i = 1, n . (41)
G C2
262
Se obin astfel n subintervale [ xi , xi +1 ] , i = 0, n 1 . Mai nti vom aborda problema aproximrii prin polinoame liniare pe poriuni. Funcia de interpolare liniar pe poriuni depinde de valorile funciei f n nodurile xi . Aceste valori le notm cu fi = f(xi ) , i = 0, n . Pe fiecare subinterval [xi, xi+1], funcia de interpolare este un polinom de forma i ( x ) = a i x + bi , unde ai i bi se determin n mod unic din condiiile i ( x j ) = ij , 0 i, j n (ij simbolul lui Kronecker). Astfel din 0(x0) = 1, 0(xi) = 0, i = 1, n , obinem x1 x , x [ x0 , x1 ] (42) 0 ( x ) = x1 x0 0 , x [ x1 , x n ]. Totodat, pentru i fixat, 1 i n 1, din i ( xi ) = 1 , i ( x j ) = 0 , j i, rezult x xi 1 x x i 1 i xi +1 x i ( x ) = xi +1 x i 0 , x [ xi 1 , xi ] , x [ xi , xi +1 ] , n rest. (43)
n sfrit din n(xn) = 1, n(xi) = 0, i = 1, n 1 , avem 0 , x [ x0 , x n 1 ] xx n ( x) = . (44) n 1 , x [ x n1 , x n ] x x n 1 n Funciile i , i = 0, n , reprezint cel mai simplu tip de funcii de form i se reprezint astfel y 1
x0
x1
xi-1
xi
xn-1
xn
(45)
263
Se arat uor c funciile i , i = 0, n sunt liniar independente, adic din 0 0 + 11 + ... + n n = 0 , rezult 0 = 1 = ... = n = 0 (este suficient s scriem relaia dat n nodurile xi , i = 0, n ). Vom nota cu L(), spaiul vectorial real de dimensiune n+1, generat de funciile i , i = 0, n , deci al funciilor continue de forma g ( x) = ci i ( x) , ci R , i = 0, n .
i =0 n
(46)
S remarcm, n particular c funciile de form i ( x) , i = 1, n 1, sunt nule n afara intervalului [xi-1, xi+1], deci au suport compact. Funcia p1 este local n sensul c dac x[xi, xi+1] , i = 0, n 1 , depinde numai de fi i fi+1 . Se poate arta c dac funcia f pe care vrem s-o aproximm este suficient de neted (de exemplu, admite derivat de ordinul al doilea), atunci interpolarea prin polinoame liniare pe poriuni, ne d o aproximaie de ordinul al doilea att n norma spaiului L2[a, b], dat de (3), ct i n norma Cebev. Aadar avem (47) f p1 2 k h 2 f 2 , (k > 0), respectiv f p1 = sup f ( x) p1 ( x) k1h 2 f , (k1 > 0) .
x[a ,b ]
(48)
n continuare menionm c pentru aproximarea soluiilor problemelor bilocale pentru ecuaii difereniale se pot folosi funciile B-spline (4.4). Vom avea ns nevoie ca funciile generatoare s se anuleze n extremitile intervalului pe care cutm soluia ecuaiei difereniale considerate. De remarcat c funciile B2, ... , Bn-2 se anuleaz n x0, ..., xn , iar funciile B-1, B0, B1, Bn-1, Bn, Bn+1 nu se anuleaz. De aceea vom proceda dup cum urmeaz. Vom determina constantele a, b, c, d i , , , astfel ca funciile: ~ ~ B0 ( x) = aB1 ( x) + bB0 ( x) , B1 ( x) = cB0 ( x) + dB1 ( x) , ~ ~ Bn 1 ( x) = Bn1 ( x) + Bn ( x) , Bn ( x) = Bn ( x) + Bn +1 ( x), s satisfac condiiile: ~ ~ ~ ~ B0 ( x 0 ) = 0 ; B0 ( x1 ) = 1 ; B1 ( x 0 ) = 0 ; B1 ( x 1 ) = 1 ; ~ ~ ~ ~ Bn 1 ( x n +1 ) = 1 ; Bn1 ( x n ) = 0 ; Bn ( x n 1 ) = 1 ; Bn ( x n ) = 0 . De aici rezult ~ ~ B0 ( x) = B0 ( x) 4 B1 ( x) ; B1 ( x) = B0 ( x) 4 B1 ( x) ; ~ ~ Bn 1 ( x) = Bn ( x) 4 Bn 1 ( x) ; Bn ( x) = Bn ( x) 4 Bn+1 ( x) . ~ Deci funciile generatoare B - spline le vom considera ~ ~ ~ ~ ~ ~ B0 , B1 , B2 , ..., Bn 1 , Bn , unde Bi ( x) = Bi ( x) , i = 2, n 2 .
264
(49)
(50)
265
S fiind aria triunghiului A p Aq Ar . Deci, dac nici un triunghi nu este aplatizat, determinantul este nenul. Aadar o funcie u ca mai sus, este definit n mod unic, pe fiecare triunghi, prin valorile sale n cele trei vrfuri. S considerm acum urma funciei u(x,y) pe una din laturile triunghiului A p Aq Ar , s zicem ApAq. Este o funcie de gradul nti de abscis (oblic) de-a lungul lui ApAq (se scrie sub forma D + E ); aceast funcie este deci unic determinat de valorile sale n cele dou vrfuri. Presupunnd c funcia de interpolare, definit pe ntreg G, ia aceeai valoare n fiecare nod, comun mai multor triunghiuri, rezult c este continu de la un triunghi la triunghiul vecin, de-a lungul laturii comune. Deci, n condiiile impuse, funcia de interpolare este continu (aceasta justific cerina ca un vrf al unui triunghi s nu fie interior unei laturi a altui triunghi). Aadar fiind dat o funcie u continu pe G, vom numi funcie de interpolare pe poriuni a lui u, funcia continu pe G , lund aceleai valori ca i u n toate nodurile (vrfurile) de triangularizare i polinomial de gradul unu n fiecare triunghi. Vom ncepe cu construirea unei baze canonice ntr-un triunghi. Pentru comoditate, s notm triunghiul A p Aq Ar cu A1A2A3 i s-l studiem deocamdat independent de alte triunghiuri. Considerm funciile 1 ( x, y ) , 2 ( x, y ) , 3 ( x, y ) afine, care satisfac i ( A j ) = ij (simbolul lui Kronecker), i, j = 1, 2, 3 . Conform celor de mai sus fiecare funcie exist i este unic i 1 1 ( x, y ) = [( y 2 y 3 )x + (x3 x 2 ) y + x 2 y 3 x3 y 2 ] , 1 2 ( x, y ) = [( y 3 y1 )x + ( x1 x3 ) y x1 y 3 + x3 y1 ] , (51) 1 3 ( x, y ) = [( y1 y 2 )x + ( x 2 x1 ) y + x1 y 2 x 2 y1 ] , = (x 2 x1 )( y 3 y1 ) ( x3 x1 )( y 2 y1 ) . Aceste funcii sunt liniar independente, deoarece 11 ( x, y ) + 2 2 ( x, y ) + 3 3 ( x, y ) = 0 1 = 2 = 3 = 0, dup cum se vede uor, scriind relaia n punctele A1, A2, A3 . n consecin funciile 1 ( x, y ) , 2 ( x, y ) , 3 ( x, y ) formeaz o baz, numit baza canonic, n spaiul vectorial al polinoamelor de gradul nti, relativ la triunghiul A1A2A3. n plus, dac se caut funcia polinomial de gradul nti, care ia n A1 , A2 , A3 valorile impuse u1, u2, u3, rspunsul este simplu (52) u ( x, y ) = u11 ( x, y ) + u 2 2 ( x, y ) + u 3 3 ( x, y ), ceea ce justific adjectivul canonic.
266
Fie acum P spaiul vectorial real al funciilor continue i afine pe poriuni, pe G . Este clar c dimensiunea lui P coincide cu numrul vrfurilor, dim P = s ( P depinde evident de triangularizarea domeniului aleas). Baza canonic a lui P este dat de funciile i ( x, y ) , i = 1, s, unde
i ( A j ) = ij , i, j = 1, s .
Atunci pentru orice uP are loc u ( x, y ) = u i i ( x, y ) , u i = u ( Ai ) , i = 1, s .
i =1 s
Pentru aceasta este necesar definirea unei corespondene biunivoce ntre numrul global al nodului i numrul triunghiului din care acesta face parte i numrul local al nodului n triunghi. Ce putem spune despre o funcie i ( x, y ) ? Suportul lui i este format numai din triunghiurile care l au pe Ai ca vrf ; el este deci mic, cu att mai mic cu ct triangularizarea este mai fin, aceasta fiind una dintre caracteristicile metodei elementului finit. Dac punctul Ai este interior lui G, este nul pe C, dar dac AiC, i este nenul n i segmentele de frontier care ajung n Ai. Dac se reprezint pe axa Oz valorile lui i se obine graficul lui i . Este o suprafa poliedral (adic format din fee plane). Aceast suprafa este o piramid a crei nlime este verticala din Ai, adic 1 i a crei baz se ntinde pn la punctele imediat vecine A j , Ak ,..., piramid prelungit de planul orizontal. Ai interior lui G Ai pe frontiera lui C a lui G
Ap Ap Ai Aj Ak
Graficul lui i
1 Ai Ak
Al
n continuare, ne vom ocupa de interpolarea prin elemente finite dreptunghiulare. Domeniile de tip dreptunghiular, adic domeniile cu laturile paralele cu axele de coordonate apar n multe probleme ale fizicii i tehnicii. Prin urmare elementul dreptunghiular are mare importan. Ne propunem s aproximm o funcie u definit pe domeniul dreptunghiular G = [a,b] [c, d]. Fie x : a = x0<x1< ... <xn = b o diviziune a
267
p( x, y ) = u i , j i ( x) j ( y ) ,
i =0 j =0
n m
(53)
unde
u i, j = u ( xi , y j ) , i = 0, n , j = 0, m .
Pe elementul dreptunghiular [xi, xi+1][yj, yj+1] , funcia de interpolare are forma p i , j ( x, y ) = u i , j i ( x) j ( y ) + u i +1, j i +1 ( x) j ( y ) + (54) + u i , j +1 i ( x) j +1 ( y ) + u i +1, j +1 i +1 ( x) j +1 ( y ) . Baza canonic n spaiul funciilor de forma
p( x, y ) = ci, j i ( x) j ( y ) , ci, j R , i = 0, n , j = 0, m ,
i =0 j =0
n m
(55)
F (u ) = u 2 ( x) dx 2 f ( x) u ( x) dx
0 0
u , v A = u (x ) v ( x) dx .
0
268
Vrem s aproximm soluia problemei bilocale (56) folosind polinoamele liniare pe poriuni (8.6.1). Aceste funcii sunt continue, dar nu sunt derivabile, deci nu aparin lui W . n consecin, W nu este spaiul bun pentru rezolvarea aproximativ a acestei probleme, folosind polinoamele liniare pe poriuni. Pentru a stabili spaiul convenabil vom proceda dup cum urmeaz. Introducem o noiune nou. Funcia g se numete derivata n sensul distribuiilor a funciei w i se noteaz g = w dac i numai dac satisface
1 0 1 w dx = g dx , () C , (0) = (1) = 0 . 0 1
(57)
Dac funcia w are derivat continu w , atunci aceasta coincide cu derivata n sensul distribuiilor a lui w. Bineneles c, derivata n sensul distribuiilor poate exista fr ca derivata n sens clasic s existe. De exemplu, o funcie w continu, care are derivat mrginit cu excepia unui numr finit de puncte, are derivat n sensul distribuiilor. n punctele n care derivata n sens clasic exist, cele dou derivate coincid. Astfel pe intervalul [-1, 1] , funcia w(x) = x nu este derivabil n x = 0 , dar admite derivat n sensul distribuiilor funcia g(x) = sign(x) . Fie 1 ( (0, 1) ) = { u L2 (( 0,1 )) ; u ( x) L2 (( 0,1 )) ; u (0) = u (1) = 0 } H0 (este vorba de derivata n sensul distribuiilor). 1 1 Spaiul W este dens n H 0 (( 0, 1 )) . De fapt, H 0 (( 0, 1 )) este chiar spaiul energetic al operatorului Ax (t ) = x (t ) . Aadar, pentru construirea aproximantelor Ritz, vom folosi polinoamele liniare pe poriuni, construite n 8.6.1 . Fie : 0 = x 0 < x1 < x 2 <...< x n < x n +1 = 1, o diviziune cu noduri 1 i i , i = 1, n , funciile echidistante a intervalului [0, 1], xi = ih, h = n +1 x xi 1 , xi 1 x xi h x x i ( x) = i +1 , xi x xi +1 , i = 1, n. (58) h , n rest 0
1 ((0,1)) , i = 1, n . Cutm soluia sub forma Funciile i H 0
i , j
= i ( x) j ( x)dx, iar
0
f , i A = f ( x) i ( x)dx
0
269
(derivatele sunt n sensul distribuiilor). Este un sistem de n ecuaii, numite nodale, de forma Bx = d, unde elementele matricei B sunt
d i = f ( x) i ( x)dx , i = 1, n .
0
Matricea B se numete matrice de rigiditate i este simetric i pozitiv definit. n consecin, sistemul Bx = d admite soluie unic. Prin calcul obinem 2 daca i = j h , 1 bij = , daca i-j = 1 h n rest . 0 , De asemenea
di =
~ Aproximnd aceste integrale cu formula trapezului, obinem d i = h f ( xi ) , ~ deci n locul sistemului Bx = d, avem de rezolvat sistemul Bx = d , cu membrul drept obinut prin aplicarea unei formule de integrare numeric. Matricea de rigiditate B s-a calculat exact, avnd polinoame pe poriuni i integrarea fcndu-se uor. n alte cazuri matricea B se obine tot prin calculul aproximativ al unor integrale. Se pune problema alegerii acestor formule, n sensul c trebuie artat c formulele de cuadratur aplicate ne dau o convergen bun , deci o compatibilitate n rezolvarea problemelor puse de metodele variaionale. Practic, n cele mai multe cazuri, alegnd ca funcii de baz polinoamele pe poriuni, matricea B se calculeaz exact, integrarea fcndu-se exact. Cum ns funcia f nu este, de obicei, un polinom, problema este de a calcula aproximativ di. n cazul de mai sus, avem
1 xi 1 xi +1 f ( x )( x x ) dx + f ( x)( xi +1 x)dx . i 1 hx h x
i 1 i
270
0 2 1 0 ... 0 f ( x1 ) f ( x2 ) 1 2 1 ... 0 0 1 B= ... ... ... ... ... , d = ... 2 ... h f ( x n 1 ) 0 0 0 ... 2 1 f ( xn ) 0 0 ... 1 2 0 Aplicnd ecuaiei u ( x ) = f ( x ) , metoda standard cu diferene finite, se obine exact acelai sistem de ecuaii. n cazul metodei elementului finit, soluia aproximativ gsit, aproximeaz soluia exact n orice punct al intervalului [0, 1]. S considerm acum problema mai general x (t ) + (t ) x(t ) = f (t ) , 0 t 1 , (59) x(0) = x(1) = 0 , (t ) > 0 i continu pe [0,1] . Problema este abordat variaional n Exemplul 4. Considerm deci operatorul Ax (t ) = x (t ) + (t ) x (t ) . Dac funcia f este continu pe [0,1] , atunci exist soluie unic a problemei (59) i x C 2 ( [0,1] ) . Pentru determinarea aproximaiei element finit ~ x (t ) a soluiei x(t) vom folosi, pentru nceput, polinoamele spline cubice. Fie : 0 = t 0 < t1 <...< t n = 1 , o diviziune cu noduri echidistante i ~ ~ ~ ~ funciile B0 , B1 , ..., Bn , din 8.6.2. n acest caz i (t ) = Bi (t ) , i = 0, n . Aceste funcii aparin domeniului de definiie al operatorului A. ~ x (t ) a soluiei exacte x(t), va fi Aproximaia element finit ~ ~ x (t ) = ci Bi (t ), unde c = (c 0 , c1 , ..., c n ) T este soluia sistemului algebric liniar
i =0 n
j =0
ABi , B j c j = f , Bi , i = 0, n .
~ ~
iar
1 ~ d i = f (t ) Bi (t )dt , i = 0, n . 0
271
Matricea de rigiditate sau matricea energie va fi o matrice band de tip 7. Matricea energie i termenul liber se pot calcula folosind, de exemplu, metoda lui Gauss cu dou noduri. n ceea ce privete eroarea, se poate demonstra
Teorema 4. n ipotezele de mai sus i dac f C 2 [0,1] , atunci exist o constant K, independent de n, astfel nct x~ x = sup x(t ) ~ x (t ) Kh 3
x[0,1]
(unde h este pasul reelei) . S analizm acum situaia n care funciile de form nu aparin domeniului operatorului A, cum este cazul cnd acestea sunt polinoamele liniare pe poriuni date de (58). Vom proceda ca n exemplul de la nceputul seciunii. Deci ~ x (t ) = ci i (t ), cu i date de (58). Acum
i =1 n
b ij = i j + i j dt , i, j = 1, n
0
(derivatele sunt luate n sensul distribuiilor). Matricea de rigiditate va fi o matrice band de tip 3. Se poate demonstra
Teorema 5. n ipotezele de mai sus i dac f C[0, 1] , exist o constant K independent de n, astfel ca x~ x Kh . Se observ c dac n aproximare folosim funcii de baz mai netede, obinem o aproximare mai bun. Se ajunge ns la un sistem liniar algebric cu mai multe elemente nenule. n cazul polinoamelor cubice spline se obine o matrice band de tip 7, n timp ce n cazul polinoamelor pe poriuni de grad nti, se obine o matrice band de tip 3.
8.8. Metoda elementului finit pentru probleme la limit pentru ecuaia lui Laplace n plan
G = , , R 2 2 2 2 2 gseasc soluia ecuaiei
Fie i C frontiera sa. Se cere s se
272
(60) = 2, x2 y2 cu condiiile la limit u x , = 0 , x 2 2 (61) u , y = 0 , y . 2 2 Problema este abordat variaional n Exemplul 5, rezolvarea sa fiind echivalent cu cea a minimizrii funcionalei u u F (u ) = [( ) 2 + ( ) 2 ] dx dy + 2 u ( x, y ) dx dy y G x G pe mulimea W = { u C 2 (G ) C1 (G ) ; u = 0 pe C} . Pentru orice u,vW, are loc (u, v ) = ( u v + u v ) dx dy . G x x y y Pentru gsirea soluiei aproximative a problemei (60)-(61), vom folosi elementele finite dreptunghiulare construite n seciunea 6.2, care nu aparin lui W. n consecin W nu este spaiul bun pentru rezolvarea acestei probleme cu elemente finite dreptunghiulare. Pentru a depi aceast dificultate, s constatm, mai nti, c noiunea de derivat n sensul distribuiilor, introdus n seciunea anterioar pentru funcii de o variabil, se extinde, n mod corespunztor la funcii de mai multe variabile. u De exemplu, funcia g(x,y) este , n sensul distribuiilor, dac x satisface dx dy , ( ) C 1 , = 0 pe C . g dx dy = u x G G Fie u u 1 H0 L2 (G ) , u = 0 pe C} , (G ) = {u L2 (G ) ; u , x y (derivatele pariale sunt luate n sensul distribuiilor) . 1 (G ) , H 1 Spaiul W este dens n H 0 0 (G ) fiind spaiul energetic al
1 operatorului -. Spaiul H 0 (G ) este spaiu Hilbert n raport cu produsul scalar u v u v u , v = (uv + + ) dx dy . x x y y G
2u
2u
273
Pentru gsirea soluiei aproximative, partiionm domeniul G n (n+1)2 ptrate, folosind 2n paralele (echidistante) cu axele de coordonate. Funciile de baz utilizate sunt ij , i, j = 1, n , date de (55) i satisfac condiiile la limit (61). Cutm soluia aproximativ de forma
~ ( x, y ) = u cij ij ( x, y ),
i =1 j =1
n n
(62)
constantele cij , i, j = 1, n , urmnd a fi determinate din urmtorul sistem obinut din (25)
k =1l =1
c kl [
G
n n
kl ij kl ij + ] dx dy + 2 ij dx dy = 0 , x x y y G
i, j = 1, n
(63)
sau nc
k =1 l =1
a ij kl c kl + 2 ij dxdy = 0 , i, j = 1, n
G
unde
aij kl = [
G
j k ( x) i ( x) l ( y ) j ( y ) + l ( y ) ( x) k ( y ) i ( y )] dx dy, y x x y
j +1
2 aij kl c kl + 2h = 0 , i, j = 1, n .
i 1 (t ) i (t )dt =
h , 6
2 i (t )dt =
2h 1 , i1 (t ) i (t )dt = , 3 h
2 i (t )dt =
2 . h
n consecin
1 aij kl = , k = i 1, i + 1 , l = j - 1, j + 1 , 3
cu excepia
274
3cij
1 i +1 j +1 2 c kl + 2h = 0 , i, j = 1, n . 3 k =i 1 l = j 1
2
(65)
8 ( 1)k +1 ch(2k 1) y u ( x, y ) = + x 2 + cos(2k 1)x . k =1(2k 1)3 ch((2k 1) / 2) 2 Valorile soluiei aproximative n nodurile din figura :
0, 2
10 8 5
9 6
7 4 3 2
, 2 2
(0,0)
sunt date n urmtorul tabel : n=3 n=7 Nodul 1 - 1,534 - 1,473 2 - 1,321 3 - 0,950 - 0,907 4 - 0,370 5 - 1,394 6 -1,089 7 - 0,566 8 - 1,278 - 1,146 9 - 0,666 10 - 0,698
1 N = 15 - 1,459 - 1,308 - 0,897 - 0,362 - 1,381 - 1,078 - 0,559 - 1,135 - 0,660 - 0,692
Soluia exact - 1,454 - 1,304 - 0,894 - 0,359 - 1,376 - 1,075 - 0,556 - 1,132 - 0,658 - 0,690
n continuare, relum problema Dirichlet-Neumann din Exemplul 7, pe care o vom concretiza. Considerm ptratul G = (0,1) (0,1) R 2 , din figur, cu frontiera C1 C 2 , unde C1 = OC CB BA i C2=OA. Problema (36)-(38) se scrie - u=f n G, u = 0 pe OC, CB i BA, (66) (67)
275
u u = = g pe OA x y
Vom considera o reea de tip 1 diferene finite, cu pasul h = k = pe n OC , respectiv OA. Decupm apoi fiecare ptrat astfel obinut n dou triunghiuri i obinem o triangularizare de ~ ( x, y ) soluia tip elemente finite. Fie u
(68)
y
C
C1
C1
C1
aproximativ definit pe G i nu numai n puncte izolate, cum se ntmpl n x cazul diferenelor finite. Vom utiliza pentru triangularizarea de mai sus, spaiul C2 O A P al funciilor continue pe G i afine pe poriuni construite n seciunea 6.2. Aceste funcii nu aparin ns spaiului V = C1 (G ) C 0 (G ) din exemplul 7. n consecin, V nu este spaiul bun, alegerea bun fiind spaiul u u H 1 (G ) = {u L2 (G ) ; u , L2 (G )} , x y (derivatele sunt considerate n sensul distribuiilor), pentru care P este subspaiu. ~ de forma Cutm soluia u ~ ( x, y ) = c ( x, y ), u i i
i =1 s
(69)
i , i = 1, s
corespunztoare triangularizrii, iar coeficienii ci , i = 1, s , urmeaz a fi determinai. Pentru simplitatea expunerii, vom presupune c vrfurile de pe C1 ocup ultimele poziii, n+1, n+2, ..., s. Aadar vom avea ci = 0 , i = n + 1, s , necunoscutele propriu-zise fiind ci , i = 1, n . n definitiv ~ ( x, y ) = c ( x, y ), u i i
i =1 n
(70)
a( j , i )c j = f i dxdy + g i dx , i = 1, n ,
G C2
(71)
unde
276
(72)
aij c j = bi , i = 1, n .
(73)
Aadar se pune problema rezolvrii unui sistem de n ecuaii liniare, numite nodale. Dac x este vectorul coloan al necunoscutelor cj i b vectorul coloan termen liber din (73), atunci sistemul (73) se scrie sub forma Ax = b, (74) unde matricea A = (aij ) , i, j=1,n , se numete matrice de rigiditate i este
B B
evident simetric. Mai mult, matricea A este i pozitiv definit. ntr-adevr n n n n ~ )2 dx dy 0 . x T Ax = a( j , i )ci c j = a c j j , ci i = (grad u i =1 j =1 i =1 G j =1 T ~ ~ Totodat x Ax=0, implic grad u = 0 n mulimea conex G, deci u ~ ~ este constant pe G. Dar u se anuleaz pe C1, deci u =0 n G i n consecin x=0, adic A este pozitiv definit. Prin urmare matricea A este nesingular, deci sistemul (73) admite soluie unic. Matricea A nu este numai simetric ci i rar (are multe zerouri). ntradevr supp i este constituit din mulimea triunghiurilor care l au pe Ai ca vrf. Deci elementul aij are anse s fie nenul, dac i numai dac Ai i Aj sunt vrfuri ale cel puin unui acelai triunghi. Elementul aij este integrala pe supp i supp j , adic pe o reuniune
P P B B B B B B B B B B
de triunghiuri. Integrala fiind funcie aditiv de mulime, se va calcula pe fiecare triunghi i adunnd rezultatele obinute. Spre exemplu, n figura alturat aij este integrala din grad i grad j pe cele dou triunghiuri marcate, integrandul (constant) avnd o expresie diferit pe fiecare din cele dou triunghiuri n chestiune. n practic se procedeaz astfel: se iniializeaz coeficienii aij cu zero. Se trece n revist fiecare triunghi, adunnd valorile care reprezint contribuia acestui triunghi la coeficienii aij corespunztori (pn n acest moment acetia reprezint contribuiile aduse de triunghiurile precedente). Vectorul coloan b se poate calcula n acelai timp cu matricea A.
Aj
B
Ai
B
277
De remarcat c aii > 0 , ( ) i = 1, n . Matricea A nu este totdeauna diagonal dominant. A fiind simetric i pozitiv definit pentru rezolvarea sistemului (74) se poate aplica o factorizare de tip Cholesky. Bineneles c se pot aplica i metode iterative. Pentru calculul termenului liber n (73), vom utiliza o formul de cuadratur numeric i anume: h( A p ) + h( Aq ) + h( Ar ) , (75) h( x, y ) dx dy S (T ) 3 T dac T este triunghiul Ap, Aq, Ar, respectiv b v(a) + v(b) . v( x) dx (b a) 2 a
B B B B B B P P
(76)
Formula (76) nu este altceva dect formula trapezului; are o precizie de ordinul 2: dac f este regulat (local de clas C2 ) i b-a = h 0 , atunci integrala pe (a,b), care este de ordin h, este aproximat de ordinul O(h3). n ceea ce privete (75), este formula echivalent formulei (76) n dimensiune 2; are o precizie de ordinul 2. Avnd n vedere simplitatea 3 i repetitivitatea reelei, este 2 suficient s scriem (71) ntr-un nod interior lui G i ntr-un nod pe OA 4 ~=0 (extremitile se exclud dac u n O i A). S analizm mai nti 1 0 cazul unui nod interior lui G , ca n figura alturat. Vom utiliza o numerotare local, nodul fiind notat 5 6 cu indicele 0, iar celelalte cu 1, 2, 3, 4, 5, 6. Funcia 0, reprezentat pe axa Oz este o piramid de nlime 1 pe verticala din nodul 0 i a crei baz se ntinde pn la nodurile imediat vecine, 1, 2, 3, 4, 5, 6 , prelungit n planul orizontal. Aadar supp 0 este hexagonul 123456. Din (73) se obine
P P B B
i =0
B B
a 0i ci = b0 ,
B B
(77)
B B B B
cu a0i i b0 date de (72). Prin translaie i simetrie se constat c a01 = a04 , a02 = a05 , a03 = a06 . Pe fiecare triunghi din supp0, grad0 este un vector constant, deoarece n fiecare triunghi 0 are forma r r 0(x,y) = Ax + By + C, deci grad 0 = Ai + Bj . De exemplu, dac nodul 0 are coordonatele (ih, jh), h fiind pasul reelei, atunci pe triunghiul 012, impunnd condiiile 0(ih, jh) = 1 , 0((i+1)h, jh) = 0 , 0(ih, (j+1)h) = 0 ,
B B B B B B B B B B B B B B B B B B B B B B
278
se obine
1 1 1 1 , B = , deci grad 0 = , . h h h h De remarcat c grad0 nu depinde de i i j. n mod asemntor se poate calcula grad0 i pe celelalte triunghiuri care compun supp0 i de asemenea grad0 , i = 1,6 . n consecin, integrala pe fiecare triunghi este egal cu produsul dintre h2 aria triunghiului cu un produs scalar obinuit. 2 S calculm acum a 0i , i = 1,6 . Supp0 este hexagonul 123456. Avem: 1 1 1 1 pe 012 , grad 0 = , ; pe 045 , grad 0 = , ; h h h h 1 1 pe 023 , grad 0 = 0, ; pe 056 , grad 0 = 0, ; h h 1 1 pe 034 , grad 0 = , 0 ; pe 061 , grad 0 = , 0 ; h h supp 0 supp 1 = 012 061 : A=
B B B B B B B B B B
1 1 1 pe 012 , grad 1 = , 0 ; pe 061 , grad 1 = , . h h h supp 0 supp 2 = 012 023; 1 1 1 pe 012 , grad 2 = 0, ; pe 023 , grad 2 = , . h h h supp 0 supp 3 = 023 034 : 1 1 pe 023 , grad 3 = , 0 ; pe 034 , grad 3 = 0, ; h h n consecin: a00 = (grad 0 )2 dxdy , S = 012 023 034 045 056 061,
S
deci
a 00 =
h2 2
a 01 = a 04 = 1
279
h2 1 1 1 1 1 1 2 f 0 1 + f 0 1 + f 0 1 + f 0 1 + f 0 1 + f 0 1 = h f 0 , 3 3 3 3 3 2 3 conform formulei (75) i innd seama c 0 se anuleaz n nodurile 1, 2, 3, 4, 5, 6 i ia valoarea 1 n nodul 0. S-a notat cu f0 valoarea funciei f n nodul 0. Aadar ecuaia nodal (77) se scrie 4c0 c1 c4 c2 c5 = h2f0, sau c 2c0 + c 4 c 2 2c0 + c5 = f0 . 1 (78) h2 h2 Se regsete discretizarea ecuaiei u = f, cu diferene finite, dup binecunoscuta schem n cruce. S analizm acum cazul unui 2 nod pe OA, numerotarea local fiind 3 cea din figur. Aceste noduri sunt similare cazului nodului interior fiind evident de dou ori mai puine. n consecin a00 = 2 , a02 = 1, 4 0 1 a03 = 0 (ultimele dou valori fiind ca 1 (deoarece se acolo), iar a01 = a04 = 2 b0
B B B B B B B B B B B B B B P P B B B B B B B B B B B B
h2 f0 2
B
, f0 sunt valorile lui g respectiv f n nodul 0. S-au utilizat iari (75) i (76) i faptul c 0 este 1 n nodul 0 i se anuleaz n celelalte.
B B B B B
b0 =
280
2 1 (c4 + c1 ) = hg 0 h f 0 . (79) 2 2 n ceea ce privete convergena metodei, dac h este mrimea elementelor finite (de exemplu diametrul), atunci lema lui Bramble i Hilbert precizeaz c ~ = O(h), u u unde
c 2 2c0 +
2 2 u u 2 , + + u = u 2 L (G ) x 2 y L (G ) L2 (G ) deci aproximarea este de ordinul 1. Pentru obinerea unei aproximri de ordin mai mare, se impune utilizarea unor polinoame de grad mai mare (nu de gradul unu), deci introducerea unor elemente finite noi care comport mai multe noduri.
1/ 2
Exerciii
S se determine funcionalele asociate problemelor la limit: d du p ( x) + q( x)u ( x) = f ( x) , 1. Se caut u C 2 [ a , b] care satisface: dx dx
u(a)=u(b)=0, q( x) 0 .
b
f L2 (a, b),
p ( x ) p 0 > 0,
2. Fie G R 2 un domeniu mrginit de curba C. Se caut u C 2 (G ) care satisface: 2u 2u u = = f , f L2 (G ) , n G, 2 2 x y u + ( P)u |C = 0, C 0 (C ), unde ( P) 0 > 0 . n R. F (u ) = ( grad u ) 2 dxdy + ( P)u 2 ds f ( x)u ( x)dxdy .
G C G
u C 4 (G ) care
281
(u ) = f , f L2 (G ) n G . u | = | = 0 u C C n
R. F (u ) = [(
2u 2 2u 2 2u 2u ) +( ) +2 ] 2 f ( x)u ( x)dxdy . 2 y 2 x 2 y 2 G x G
B B B B B B B B B B B B B B B B B B
4. Fie triunghiul A1A2A3 , unde Ai(xi, yi) , i=1, 2, 3. Dac Pj = Aj, j=1, 2, 3, iar P4, P5, P6 sunt mijloacele laturilor A1A2, A2A3, A3A1 respectiv, s se arate c funcia polinomial de gradul al doilea care ia n punctele Pj valorile uj, j = 1, 6 este
B B B B B B B B B B B B B B B B B B B B
u ( x, y ) = u j j ( x, y ) , unde
j =1
j = j (2 j 1) , j = 1, 2, 3 , 4 = 41 2 ,
lui G, G = {( x, y ) R 2 x 1, y 1} .