cms metoda cholesky
DESCRIPTION
statisticaTRANSCRIPT
-
Sisteme de ecuaii liniare 13
1. Sisteme de ecuaii liniare Reamintim c un sistem de n ecuaii algebrice liniare cu n necunoscute este de forma:
(1)
=+++
=+++=+++
nnnnnn
nn
nn
bxaxaxa
bxaxaxabxaxaxa
K
KK
2211
22222121
11212111
. . . . . . . . . . . . . . . . . . . .
Dac notm cu A matricea coeficienilor, cu x vectorul coloan format cu necunoscutele sistemului i cu b coloana termenilor liberi, sistemul (1) se scrie sub form matriceal : Ax=b, (2) unde:
, ,
=
nnnn
n
n
aaa
aaaaaa
A
KMMM
LK
21
22221
11211
=
nx
xx
x M2
1
=
nb
bb
b M2
1
Metodele numerice de rezolvare a sistemelor algebrice de ecuaii liniare sunt de dou tipuri: metode directe i metode indirecte (sau iterative). Metodele directe constau n transformarea sistemului (1) ntrun sistem triunghiular echivalent, care se rezolv uor. Cele mai cunoscute metode directe sunt: metoda Gauss, metoda Cholesky (utilizat pentru sistemele n care matricea A este simetric i pozitiv definit) i metoda Householder. Metodele directe permit determinarea soluiei exacte a sistemului n cazul ideal, cnd nu avem erori de rotunjire. Numrul operaiilor aritmetice efectuate este de ordinul n3. Pentru sisteme cu un numr de ecuaii mai mare de 100, metodele directe devin inutilizabile datorit acumulrii erorilor de rotunjire care altereaz soluia. Metodele indirecte (sau iterative) constau n construcia unui ir {x(k)} de vectori ndimensionali, care converge la soluia exact a sistemului. Se alege ca
-
Bazele Analizei Numerice 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.
1.1. Metoda Gauss. Factorizarea LU Fie
=+
rn
rrr
m
mm
,
,1
0
0
M
M
i
=
0
01
0
M
M
re
(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:
= +
100
010010
0001
,1
LLM
LLL
OL
nr
rrr
m
mM
De exemplu, dac n = 4 i r = 2 , avem:
( ) =
=
=
00000000000000
1000010000100001
001000
1000010000100001
42
32
42
322
mm
mm
M
=
10001000100001
42
32mm
-
Sisteme de ecuaii liniare 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:
(*) pentru orice 0det
1
111
rrr
r
aa
aa
KMM
K1,1 = nr .
Atunci exist o matrice inferior triunghiular MM n(R) astfel nct matricea U = MA este superior triunghiular. Demonstraie. Deoarece a110 , putem considera matricea Frobenius
=
10
001
001
11
1
11
21
1
KMM
KK
aa
aa
M
n
.
Dac notm A1 = A i A2 =M1A1 , atunci avem
=
)2()2(2
)2(2
)2(22
)2(1
)2(12
)2(11
2
0
0
nnn
n
n
aa
aaaaa
A
KMMM
KK
,
unde, notnd cu = a)1(ija ij, pentru nji ,1, = , avem: pentru )1(1)2(1 jj aa =
nj ,1= ; )1(11
)1(1
)1(1)1()2(
a
aaaa jiijij = , pentru orice nji ,2, = .
Observm c
012221
1211
1122
11
1221)2(22 == aa
aaaa
aaaa .
Dac notm
-
Bazele Analizei Numerice 16
=
100
010
00100001
)2(22
)2(2
)2(22
)2(32
2
K
MMMM
K
KK
a
a
a
a
M
n
,
atunci
==
)3(
)3(3
)3(33
)3(2
)3(23
)3(22
)3(1
)3(13
)3(12
)3(11
223
000
000
nn
n
n
n
a
aaaaaaaaa
AMA
KMMMM
KKK
,
unde pentru i=1, 2, )2()3( ijij aa = nj ,1= i )2(22
)2(2
)2(2)2()3(
a
aaaa jijiji = , nji ,3, = .
Un calcul simplu ne arat c
01
333231
232221
131211
)2(22
)1(11
)3(33 =
aaaaaaaaa
aaa .
n general, i se poate considera matricea Frobenius: 0)( rrra
= +
100
010
010
0001
)(
)(
)(
)(,1
LL
M
LL
LO
L
rrr
rnr
rrr
rrr
r
aa
a
aM .
Dac notm cu Ar+1=MrAr , atunci
-
Sisteme de ecuaii liniare 17
=
+++
++
+++
++
+++++++
+
)1()1(1,
)1(,1
)1(1,1
)1()1(
)1(2
)1(2
)1(22
)1(1
)1(1
)1(12
)1(11
1
000.
000
00
0
rnn
rrn
rnr
rrr
rnr
rrr
rn
rr
r
rn
rr
rr
r
aa
aa
aa
aaaaaaa
A
KKMMMMM
KKKK
MMMMKKKK
,
unde , pentru )()1( rjirji aa =+ ,ri=1 , nj ,1= , )(
)()()1( )(
rrr
rjr
rrir
a
aaaa rjiji =+ ,
nrji ,1, += . n final se obine matricea superior triunghiular
===
)(
)(2
)(22
)(1
)(12
)(11
121
00.
0...
nnn
nn
n
nn
nn
nn
a
aaaaa
AMMMAU
KMMM
KK
.
Notm cu M=Mn1 Mn2 ... M2 M1 i demonstraia teoremei este complet. Exemplu.
==
124265125
1 AA ,
=
1054
011001
1M ,
=
59
5180
180125
2A ,
=
12090
010001
2M ,
==
4900180125
3AU ,
==
1209
207
011001
12MMM .
Considerm sistemul
=++=+
=++
3241265
1225
321
321
321
xxxxxxxxx
,
-
Bazele Analizei Numerice 18
a crui soluie este x1=1, x2=2, x3=3. Sub form matriceal sistemul se scrie:
Ax=b , unde . Acest sistem este echivalent cu urmtorul sistem:
(M
=
31
12b
2M1A)x=(M2M1)b . Efectund calculele obinem
==+
=++
427
49
138 1225
3
32
321
x
xxxxx
.
Numrul operaiilor pentru determinarea matricei U i a vectorului Mb
Pentru o linie fixat i se calculeaz )(
)(
rrr
rir
a
a , apoi se fac nmulirile cu
, i se adun . La fel i cu . Sunt
2(nr)+3 operaii elementare pentru fiecare linie i,
njra rrj +1 ,)( njra rij +1 ,)( )1( +ribnir +1 , i pentru fiecare
etap r vor fi ( ) ( )[ ]32 + rnrn operaii. n total vor fi ( )[ ]
=+=+
n
rnnnrnrn
1
23267
21
32)(32 operaii elementare. Dac adugm i
cele n2 operaii pentru rezolvarea sistemului triunghiular, rezult c numrul de
operaii pentru rezolvarea sistemului Ax=b este nnn67
23
32 23 + .
n continuare notm cu . Din Propoziia 1 rezult c L1= rr ML r este de
forma:
= +
100
00
010
001
)(
)(
)(
)(,1
KK
MMM
L
KMMOM
KK
rrr
rnr
rrr
rrr
r
aa
a
aL .
Dac notm cu L=L1L2...Ln1, atunci L este o matrice inferior triunghiular de tipul urmtor
-
Sisteme de ecuaii liniare 19
.
=
1
00.10001
321
21
KlllMMMM
KlK
nnn
L
Deoarece , rezult c: UMMMA n11
12
11 ...
= 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
rr
rjirijij u
uuuu =: ;
sfrit pentru j ;
rr
irir u
u=:l ; 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: [ ] )(, AluUL = { se afieaz cele dou matrice }
n exemplul precedent avem:
-
Bazele Analizei Numerice 20
=
1054
011001
1L ,
=
12090
010001
2L ,
=
==
124265125
4900180125
1209
54
011001
LUA
Observaia 1. Dac pivotul este foarte mic , adic 1)(
-
Sisteme de ecuaii liniare 21
Pentru i:=n1,1,1 execut s:=0 ; Pentru j:=i+1,n execut s:=s+aijxj ; sfrit pentru j ; ( )
ii
ii a
sbx =: ; sfrit pentru i .
1.2. Matrice simetrice pozitiv definite Reamintim c o matrice simetric se numete pozitiv definit, dac forma ptratic asociat este pozitiv definit. Mai precis, dac A este o matrice simetric, atunci A se numete pozitiv definit dac
(x)=xTAx > 0 , pentru orice x0 , unde . ( )Tnxxxx ,...,, 21=Din Algebra Liniar, se tie c o matrice simetric A, este pozitiv definit dac i numai dac r >0 pentru orice nr ,1= , unde
=
rrr
r
raa
aa
KMM
K
1
111det .
n practic aceste condiii sunt greu de verificat pentru matrice de dimensiuni mari. De aceea, n continuare vom prezenta unele condiii necesare, respectiv i suficiente, pentru ca o matrice simetric s fie pozitiv definit. Propoziia 1. Dac A este o matrice simetric pozitiv definit, atunci:
(a) aii > 0 pentru orice ni ,1= , (b) aiiajj>aij2 pentru orice nji ,1, = .
Demonstraie.
( ) ( ) ( )( ) ( nnnnnnnn
nn
nnnn
nn
nT
xxaxaxaxxaxaxa
xxaxaxaxaxa
xaxaxxAxxx
+++++++++
++++=
++
++==
.........
......
...,...,
221122222121
11212111
11
1111
1 M
)
innd seama c aij = aji , n continuare avem
-
Bazele Analizei Numerice 22
( )
2
222222
1121122111
1 1
2....
2...2
nnn
nn
nnn
i
n
jjiij
xa
xxaxa
xxaxxaxaxxax
+
++++
++++== = =
M
n particular, pentru avem (e
==
0
1
0
M
Miex i) = aii . Cum este pozitiv definit i
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 entru orice R, trebuie ca p( ) 04 2
-
Sisteme de ecuaii liniare 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 ni ,1= .
Atunci A este pozitiv definit. Demonstraie. Din condiia (i) rezult c dac x0 , atunci:
( )
( )
= =
= = == == =
=
=>+=
n
i
n
ijj
jiiij
n
i
n
i
n
ijj
jiijn
i
n
ijj
iijn
i
n
ijj
jiijiii
xxxa
xxaxaxxaxax
1 1
1 11 1
2
1 1
2
1
Deoarece aij=aji avem i inegalitatea:
( ) ( ) = =
>n
i
n
ijj
ijjij xxxax1 1
.
Adunnd cele dou inegaliti rezult
( ) ( ) 0 2 21 1
> = =
n
i
n
ijj
jiij xxax .
Aadar, (x) > 0 pentru orice x0 , deci este pozitiv definit. Definiia 2. Fie M={1,2,...,n}. O matrice A se numete reductibil dac exist dou submulimi S, T M cu proprietile:
(i) S , T (ii) ST= (iii) ST=M (iv) aij = 0 pentru orice iS i jT .
Matricea A se numete ireductibil dac oricare ar fi submulimile S i T ale lui M cu proprietile (i)(iii), exist i0S i j0T astfel nct 000 jia . 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 ni ,1= .
-
Bazele Analizei Numerice 24
Atunci A este pozitiv definit. Demonstraie. Procednd ca n demonstraia Teoremei 1, rezult:
( ) 0 21)(
2
1 1
= =
n
i
n
ijj
jiij xxax .
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) 0== ji xx pentru orice i i j. ( ) 0)(
1
2
11 1 1
2 += = == = =n
i
n
ijj
ijiin
i
n
i
n
ijj
jiijii aaxxaax .
Cum exist cel puin un indice i0 astfel nct 00
0
01
iin
ijj
ji aa=
< , rezult
(x) > 0 pentru x0. 3) aij=0 pentru orice pereche de indici (i,j) pentru care ji xx i
aij0 dac 0= ji xx . Fie M={1,2, ... , n} i { } 0 ; , == ji xxMjiS . Dac S=M, atunci suntem n cazul 2). Dac S= , atunci ji xx 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
=2100121001210012
A .
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.
-
Sisteme de ecuaii liniare 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.
1.3. Metoda Cholesky Fie A o matrice simetric, pozitiv definit i
( ) = =
==n
i
n
jjiij
T xxaAxxx1 1
forma ptratic asociat. Deoarece a11 > 0 avem:
( )
njia
aaaaxxa
xa
axaxxaxxaxxaxax
jiijij
n
i
n
jjiij
n
i
n
j
n
jj
jjiijnn
,2, , unde ,
2...2
11
11)1(
2 2
)1(
2
2 2 2 11
1111112112
2111
==+
+
+=++++=
= =
= = =
Dac notm cu
, ( ) = =
=n
i
n
jjiij xxax
2 2
)1(1
atunci 1 este la rndul su o form ptratic pozitiv definit.
ntradevr, s presupunem prin absurd c exist astfel nct 02
=
nz
zz M
1(z) 0.
Fie = n2=j 11
11 j
j zaa
z i
=
nz
zz
z.2
1
.
n continuare avem
( ) ( ) 00)( 112
2 11
1111 +=+
+= =
zzza
azaz
n
jj
j , ceea ce contrazice faptul c este pozitiv definit. Aadar, am demonstrat c 1 este pozitiv definit. n particular, rezult c
. Mai departe procedm cu 0)1(22 >a 1 aa cum am procedat cu i obinem
-
Bazele Analizei Numerice 26
( ) ( ) 22
3 122
12
21
221 xxa
axax
n
jj)(
)(j)( +
+=
= ,
unde
( ) = =
=n
i
n
jjiij xxax
3 3
)2(2
este pozitiv definit. n final (x) se reprezint ca o sum de ptrate. Mai precis (x) admite urmtoarea scriere:
( )2
1 1 )1(
)1()1(
= +=
+=
n
i
n
ijji
ii
iij
ii
ii xa
axax ,
unde
ijij aa =)0( i 1,1 , )1()1()1(
)1()( ==
npa
aaaa p
pp
ppj
ppip
ijp
ij .
Introducem notaiile:
.,1, ,1,1 ,
,0
,
,1 ,
)1()(
)1(
)1(
npjinprraa
ijr
jir
ar
niar
pjpip
ijp
ij
ij
ii
iij
ij
iiiii
+===
-
Sisteme de ecuaii liniare 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)+2i2 operaii elementare i o extragere de rdcin ptrat. Pentru toate liniile sunt necesare
[ ]6
523
22)12)((23
1
nnniiinn
i+=+
=
operaii elementare plus n extrageri de rdcin ptrat. Exemplu. S se determine descompunerea Cholesky a matricei
=
322232223
A
57 ,
57
, 35 ,
152 ,
32
, 35 ,
35 ,
32 ,
32 , 3
33223
)1(33
)2(33
21333
)1(33
22
)1(23
23131223)1(
23
222
1222)1(
22131211
===
======
======
rraa
raara
rrraa
rraarrr
=
5700
152
350
32
323
R .
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
=
=yRxbyRT
Algoritmul Cholesky pentru rezolvarea sistemelor de ecuaii liniare Pentru p:=1,n1 execut
-
Bazele Analizei Numerice 28
pppp a:r = ; Pentru k:=p+1,n1 execut
pp
pkpk r
ar =: ;
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 }
11
11 r
by = ; Pentru i:=2,n execut s:=0 ; Pentru j:=1,i execut s:=s+rijyj ; sfrit pentru j ;
ii
ii r
sby =: ; sfrit pentru i ; { Rezolvarea sistemului Rx=y }
nn
nn r
yx = ; Pentru i:=n1,1 execut s:=0 ; Pentru j:=i+1,n execut s:=s+rijxj ; sfrit pentru j ;
ii
ii r
syx =: ; 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 }
-
Sisteme de ecuaii liniare 29
1.4. Metoda Householder. Factorizarea QR O matrice Householder este o matrice de forma H = In 2hhT, unde
hT=(0,..., 0, hi, ..., hn) i 1... 222 =++= ni hhh . Se observ imediat c o matrice Householder este simetric i are urmtoarea structur:
=
+
+
21
12
2122
222101
01
ninin
niiii
hhhhh
hhhhhH
KMMM
K
O
Mai mult, constatm c H este ortogonal. ntradevr, H2 = (In 2hhT)(In 2hhT) = In 2hhT 2hhT + 4h(hTh)hT.
Cum hTh = 1, rezult H2 = In. Aadar, avem H1 = H = HT. Un calcul simplu ne arat c (hhT)x = (hTx)h , pentru orice ( )Tnxxxx ,...,, 21= . n continuare ne punem urmtoarea problem: dat fiind un vector coloan x 0, se poate determina o matrice Householder H , astfel nct Hx s fie colinear cu e1 ? ( unde e1T = (1,0,...,0) ). Cu alte cuvinte, se poate determina un vector coloan h, cu 12 =h i un numr 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 12 =h rezult
21
1exexh
= . (1)
Pe de alt parte, H fiind ortogonal avem === 122 eHxx .
Alegem = sgn(x1) 2x i facem convenia sgn(x1) = 1 dac x1 = 0. n continuare avem
-
Bazele Analizei Numerice 30
( )
+=
+=
nn x
xxxx
x
xxxx
ex MM2
121
2211
1
)sgn()sgn(
i
( )1222122221 222 xxxxxxex +=+= . nlocuind n (1) obinem
( )( )
+
+=
nx
xxxx
xxxh M
2
121
122
sgn
21 . (2)
Se obine astfel urmtorul algoritm pentru determinarea lui h i deci a matricei H: H = In u uT
( )( )
( )( )Tnxxxxxuxxx
..., , ),sgn( 2121
1122
+=+=
(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.
Fie , prima coloan a matricei A. Din cele artate mai nainte rezult
c exist o matrice Householder H
=
1
21
11
1
na
aa
a M
1 astfel nct H1a1=e1. Matricea H1 se determin astfel:
( )( ) ( )( ) , ..., , ),sgn( , , 12111111112/1
1
21
Tn
n
jj aaasauassas +=+=
= =
. , 0 daca 1)sgn( 11111
Tn uuIHaa === (4)
Dac notm cu A1 = H1A, atunci A1 are urmtoarea form:
=
)1()1(2
)1(2
)1(22
)1(1
)1(1211
1
0
0)sgn(
nnn
n
n
aa
aaaasa
A
KMMM
KK
-
Sisteme de ecuaii liniare 31
n continuare considerm vectorul i determinm o matrice
ortogonal
=
)1(2
)1(22
)1(2
na
aa M
2~H Mn1(R) astfel nct
1)1(
22~~ eaH = ,
unde )0 , ... , 0 , 1(~1 =Te Rn1. Notm cu M
=
22 ~0
01H
H n(R) i cu A2 = H2A1. Matricea A2 va arta astfel
njaa
aa
aaaaaaaaa
A jj
nnn
n
n
n
,1 , unde ,
00
000
)1(1
)2(1
)2()2(3
)2(3
)2(33
)2(2
)2(23
)2(22
)2(1
)2(13
)2(12
)2(11
2 ==
=
KMMMM
KKK
.
n continuare se determin o matrice Householder 3~H Mn2(R) cu
proprietatea c 1)2(
32~~~ eaH = , unde M)0 ..., ,0 ,1(~~1 =Te n2(R). Vom nota cu
M
=
3
23 ~0
0H
IH n(R) i cu A3=H3A2. Matricea A3 va avea toate elementele de
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
=
=n
ijijcs
2: ;
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 ;
-
Bazele Analizei Numerice 32
Hi: = In uuT ; C: = HiC ; sfrit pentru i ; Exemplu. Fie sistemul
=++=+
=++
3241265
1225
321
321
321
xxxxxxxxx
Soluia exact este x1 = 1, x2 = 2, x1 = 3. Aplicm metoda Householder.
=
124265125
A ; , ;
=31
12b
=31241265
12125C
Iteraia I
; 124038405.866 ; 5 ; 455
111 ===
= sca
; 4
5124038405.13
; 1069.37908646 124038405.13124038405.8
1 3-
=== u
=
70.8499346190.1875817240.4923659690.1875817280.7655228350.6154574540.4923659650.6154574550.61545745
1H
; 1.717464031.5591107801.103169955.4488884801.354006403.446561748.12403840
11
== AHA
; 78.27061368
97.5882671025.29293411
1 1
== bHb [ ]111 bACHC == Iteraia a IIa
; 559110785.1448888481.5)1(
2
=a 667557862.5232222 =+= ccs ;
c22=5.448888481 ; ; =0.015872234 ; ; 559110785.1116446343.11
0
=u
-
Sisteme de ecuaii liniare 33
; 40.9614173530.27509393030.2750939340.961417350
001 2
=H
==21.954675090070.5881427925.66755786011.3540064073.4465617458.12403840-
122 AHA ;
==
75.8640252739.5706873325.29293411
122 bHb ; [ ]222 bACHC == ;
==60.8687444880.390935010.3040605770.0534675260.6843843470.7271583640.4923659650.6154574550.61545745
12 HHH ;
==21.954675090070.5881427925.66755786011.3540064073.4465617458.12403840
AHR ;
Soluia sistemului iniial este x=R1Hb , unde:
=
50.511593970010.0530899490.17644283070.0627426580.0748545310.12309149
1R .
Se obine soluia x1=1 ; x2= 2 ; x3= 3.000000001 .
1.5. Norme de matrice Cele mai utilizate norme vectoriale pe Rn sunt: 1) }{ ,...,, max 21 nxxxx = 2)
-
Bazele Analizei Numerice 34
(i) MA = 0 dac i numai dac A = 0 ,
(ii) MM AA = , ; R, AM n(R) , (iii) MMM BABA ++ , (iv) MMM BAAB , A, BM n(R). Un exemplu de norm de matrice este norma euclidian de matrice, care se definete astfel
2/1
1 1
2
= = =
n
i
n
jijE aA . (1)
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
=
===
n
kkj
n
kik
n
kkjikij babac
1
2
1
22
1
2
n continuare avem
22
1 1
2
1 1
2
1 1
22EE
n
j
n
kkj
n
i
n
kik
n
i
n
jijE BAbacAB =
=
= == == =,
de unde rezult EEE BAAB . Definiia 2. O norm de matrice M se numete compatibil cu norma vectorial p dac pMp xAAx pentru orice x. Observaia 1. 22 xAAx E , () x.
ntradevr, ( ) 2221 1
2
1
2
1
211
22 ... xAxaxaxaAx E
n
i
n
jj
n
jij
n
inini =
++= = ===
.
Observaia 2. Dac este o valoare proprie a matricei A, atunci MA 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
vAAvvv M== ,
-
Sisteme de ecuaii liniare 35
deci MA . 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: ( ){ } 1 ; supo == TT xxUU (2) unde cu am notat o norm oarecare pe Rn. Se tie de asemenea c: ( ){ } )( , c ; 0 info nTTT xxxUcU R>= (3) Definiia 3. Se numete norma matricei A subordonat normei vectoriale urmtorul numr:
{ }x
AxxAxA
x 0sup 1 ; sup
=== (4)
Ca i n cazul normei operatoriale, avem { )( , c ; 0 inf xxAxcA >= } . (5) Din relaia (5) rezult n particular c nxxAAx R , , deci norma matriceal definit de (4) este compatibil cu norma vectorial creia i este subordonat. Este evident c aplicaia AA definit de (4) satisface proprietile (i)(iii) din definiia 1. De asemenea avem
xBABxAABx , de unde rezult BABA . 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)= i
ni
1max i (A) se numete raza spectral a matricei A (n aceast
definiie i pot fi reale sau complexe) Teorema 1. Pentru AM n(R) avem:
(1) =
=n
jij
niaA
11max ,
-
Bazele Analizei Numerice 36
(2) =
=n
iij
njaA
111 max ,
(3) ( )( )212 AAA T = , unde cu pA am notat norma matricei A subordonat normei vectoriale px .
Demonstraie.
===
=n
jij
ni
n
jjij
ni
n
jjij
niaxxaxaAx
111111maxmaxmax
Rezult =
n
jij
niaA
11max . Rmne s artm c exist 1x~cu ~ =x
astfel nct =
=n
jij
niaxA
11max~ . Pentru aceasta, fie k astfel nct s avem
= =
=n
j
n
jij
ikj aa
1 11max (6)
i fie
=
= 0 dac0 dac0
~kj
kj
kjkj
j aa
aa
x .
Evident c 1~ =x i == ==n
jij
ni
n
jkj aa
111maxx~A . Aadar, am demonstrat
(1). n continuare avem
( )( ) 1
111
11
111
1111
max...max
......
xaxxa
xaxaxaxaAx
n
iij
njn
n
iij
nj
n
inini
n
inini
=++
++++=
==
==
de unde rezult =
n
iij
njaA
111 max .
-
Sisteme de ecuaii liniare 37
Pe de alt parte dac eTj=(0,...,1,...,0) , atunci 11 =je i ==n
iijj aAe
11
, de
unde rezult ijn
iaA
=
11 , pentru orice nj ,1= . Aadar, =
n
iij
njaA
111 max
i cu aceasta afirmaia (2) este dovedit. Fie B=ATA i fie { } 1 ; sup 21 == xBxx T (7) Evident ( ){ } 2221 1 ; sup AxAxAx T === , deci 12 A = . Deoarece mulimea { } 1 ; 2 == xxS este compact, rezult c exist v cu proprietile: 1=vTBv i 12 =v . Vom arta n continuare c Bv=1v , deci c v este un vector propriu pentru B i corespunde valorii proprii 1. ntr-adevr, pentru orice z0 avem: 1
22
zzB
zz
T
i deci
zzzBzz TT 1221 = (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: vTBv=1vTv (9) Dac notm cu C=B1In , atunci avem: zTCz0 , () z i (8') vTCv=0 (9') 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) ( ) 022 + CvtyCyyt TTPentru ca (10) s fie adevrat pentru orice tR trebuie ca yTCv = 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 221 A= . Pe de alt parte, fie o alt valoare proprie a matricei B i fie u0, 12 =u , astfel nct Bu=u. n continuare avem
==== uuBuuAuA TT22221 . Aadar, 1 este cea mai mare valoare proprie a matricei B, deci am demonstrat i afirmaia (3).
-
Bazele Analizei Numerice 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 reale. Se tie c sunt valorile proprii ale matricei A222
21 ..., , , n 2. S
presupunem c . 21
21 max j
nj
=
Din Teorema 1 rezult c 12 =A . Dac, n plus, A este pozitiv definit, atunci i>0 pentru orice i. S presupunem c: n ...21 . Din cele de mai sus rezult 12 =A , unde 1 este cea mai mare valoare proprie a matricei simetrice i pozitiv definite A.
1.6. Perturbarea sistemelor liniare. Numrul de condiionare al unei matrice
Considerm urmtorul sistem de ecuaii liniare
=+++=+++=+++=+++
311095733910682356573278710
4321
4321
4321
4321
xxxxxxxxxxxxxxxx
(1)
a crui soluie exact este x1=x2=x3=x4=1. S considerm acum sistemul (1') n care am modificat puin termenii liberi
=+++=+++=+++=+++
9.30109571.33910689.2256571.3278710
4321
4321
4321
4321
xxxxxxxxxxxxxxxx
. (1')
Soluia sistemului (1') este x1= 9.2 ; x2= 12.6 ; x3= 4.5 ; x4= 1.1 . Aadar, o eroare mic, de ordinul 0.1, a termenilor liberi, produce o eroare mare, de ordinul 10, a soluiei sistemului. Fie acum sistemul (1") n care modificm puin coeficienii sistemului
=+++=+++=+++
=+++
3198.9999.499.633989.998.58235604.508.7
322.71.8710
4321
4321
4321
4321
xxxxxxxxxxxx
xxxx
. (1")
Soluia sistemului (1") este: x1= 81 ; x2= 137 ; x3= 34 ; x4= 22 . S analizm acum efectul perturbrii membrului drept asupra soluiei unui sistem liniar Ax=b, n care matricea A este nesingular.
-
Sisteme de ecuaii liniare 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: bAx 1 (2) Pe de alt parte xAAxb = , de unde rezult:
bA
x1 (3)
Din relaiile (2) i (3) obinem bb
AAxx 1 .
Numrul de condiionare al unei matrice se definete astfel 1)( = AAAcond . (4) Aadar, ntre eroarea relativ a membrului drept i eroarea relativ a soluiei sistemului avem urmtoarea inegalitate
bb
Acondxx )( . (5)
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
=
1095791068565788710
A ,
=
23106351710
101768416104125
1A
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 (iv)
nA
12 )(cond = , unde 12...n>0 sunt valorile proprii ale matricei
B=ATA
-
Bazele Analizei Numerice 40
(v) Dac A este simetric, atunci i
iA
minmax
)(cond2 = , unde 1, ..., n sunt 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 1
-
Sisteme de ecuaii liniare 41
Cum det(A1B) = det(A1)detB, va rezulta detB 0, deci B este nesingular. Tot din Lema 1 rezult
( )[ ] ( ) kABAABAIAB n += 1 1 1 11111 . Mai departe avem ( )
kAABAABB =
1
11111 . Teorema 1. Dac perturbm matricea coeficienilor sistemului Ax = b cu A i
11
-
Bazele Analizei Numerice 42
Observaia 1. Dac presupunem n plus c perturbm i membrul drept al sistemului cu b atunci rezult
+
bb
AA
AA
Acond
Acondxx
)(1
)( .
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 s cunoatem un majorant pentru 1A . Calculul lui ( ) 1LU este mai uor dect calculul lui 1A , deoarece inversarea matricelor triunghiulare este uoar. S presupunem c
( ) =1LU i kLUA
-
Sisteme de ecuaii liniare 43
1.7. Metode iterative de rezolvare a sistemelor de ecuaii liniare
Metodele directe de rezolvare numeric a sistemelor de ecuaii liniare se utilizeaz pentru sisteme care au matricea coeficienilor dens (aproape toi coeficienii sunt nenuli) i cu un numr de ecuaii moderat (pn la 100 de ecuaii). Pentru sisteme mari de ecuaii de ordinul 103 105 i care au matricea coeficienilor rar (cu multe elemente nule), se utilizeaz metode iterative de rezolvare numeric. S presupunem c sistemul Ax = b (1) se poate pune sub forma echivalent x = Bx + c (2) Forma echivalent (2) ne sugereaz urmtorul proces iterativ: , (3) ( ) ( ) 01 +=+ c, mBxx mmunde x(0) este un vector arbitrar. Dac notm cu x* soluia exact a sistemului, atunci avem x*=Bx*+c (4) Fie e(m) = x*x(m) vectorul eroare. Din (3) i (4) rezult , mN)()1( mm Bee =+ * i mai departe (5) )0()( eBe mm = Teorema 1. Dac 1
-
Bazele Analizei Numerice 44
Demonstraie. Este suficient s artm c dac i numai dac 0lim =
mm
B 1)(
-
Sisteme de ecuaii liniare 45
Cum , rezult c 0))((lim =kmk
mBm 0lim =
mm
J , deci c
. 0lim =m
mJ
Reciproc, s presupunem c i c 0lim =m
mB ( ) 1B . Atunci exist
un vector propriu x 0 i o valoare proprie 1cu , , 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 niaii 1,= ,0 . Dac notm cu i cu E=DA, atunci obinem sistemul echivalent (DE)x=b i mai departe
) ..., ,(diag 11 nnaaD =
(7) bDxEx=D- 11 +
Cum 1 ..., ,1diag11
1-
=
nnaaD , rezult c
=
= n
ijj ii
ij
ni aa
ED11
1 max .
Observm c dac matricea A este tare diagonal dominant, atunci 11
-
Bazele Analizei Numerice 46
Dac matricea A este tare diagonal dominant, irul ( )) ( mx converge la soluia exact a sistemului. Exemplu. Fie sistemul
=
348
124
101111511111011115
4
3
2
1
xxxx
Soluia exact este x1 = 1, x2 = 2, x3 = 3, x4 = 4.
=
100000500001000005
D , , ,
,
=
0111101111011110
E
=
01,01,01,02,002,02,01,01,001,02,02,02,00
D 1- E
=
4,36,12,18,0
1- bD 16.01
-
Sisteme de ecuaii liniare 47
Sistemul (1) devine (D+L) x = Ux +b i mai departe obinem urmtorul proces iterativ: (D+L) x(m+1) = Ux(m) +b . (9) Pe componente obinem
( ) ( ) ( ) ,ni,xaxaba
xn
ij
mjij
i-
j
mjiji
ii
m+i 1
1
1
1
1
11 =
=
+==+ . (10)
Din algoritmul (10) se observ c fiecare nou component, ( )1m+jx , este imediat 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
( )( )( )( )
( )( )( )( )
+
=
348
124
0000100011001110
101110511001010005
4
3
2
1
1+4
1+3
1+2
1+1
m
m
m
m
m
m
m
m
xxxx
xxxx
sau
( ) ( ) ( )( ) ( ) ( )
( ) ( ) ( )( ) ( ) ( )
+++=
+++=
+++=
++=
34101
851
12101
451
13
12
11
14
41
21
11
3
431
11
2
4321
1
m+m+m+)(m+
mm+m+)(m+
mmm+)(m+
mmm)(m+
xxxx
xxxx
xxxx
xxxx
.
Pentru dup 5 iteraii obinem ,0)0(4)0(
3)0(
2)0(
1 ==== xxxx999.3998.2998.19950 (5)4
(5)3
(5)2
(5)1 ; ; ; ==== xxx.x .
1.8. Metode de relaxare. Principiile de baz Metodele de relaxare sunt metode iterative i sunt utilizate pentru rezolvarea numeric a sistemelor liniare care au matricea coeficienilor simetric i pozitiv definit. Fie sistemul liniar Ax b = 0 (1)
-
Bazele Analizei Numerice 48
unde matricea A este simetric i pozitiv definit. Dac este un vector de
prob oarecare, atunci notm cu
=
nv
vv
v M2
1
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
=
nu
uu
u M2
1
i
=
nv
vv
v M2
1
vom nota produsul lor scalar cu nvnu...vuvuu
Tvu,v +++== 2211 (3) Asociem sistemului (1) funcia ptratic
= ==
== ni
n
iii
n
jjiij b,vAv,vvbvvavF
1 11 21
21)( (4)
Deoarece A este pozitiv definit, rezult Q(v)>0 pentru orice v0, unde Av,vvQ =)( . Observm de asemenea c pentru orice ,ni 1= avem
=
= nj
ijiji
bvavF
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
r0=gradF(v0), rezult 0)(
0 =vvF
i . Aadar, v=v0 este punct critic pentru F. Pe
de alt parte,
= =
>= ni
n
jjiij dvdvavFd
1 10
2 0)( .
Rezult c v=v0 este un punct de minim global pentru F.
-
Sisteme de ecuaii liniare 49
Reciproc, dac v=v0 este punct de minim pentru F atunci
0)(
0 =vvF
i , ,ni 1= .
Rezult ,ni=,bva in
jjij 1 0
1
0 ==
, deci v=v0 este soluie pentru (1).
n continuare prezentm principiul de baz al metodei relaxrii. Fie v un vector de prob oarecare, p o direcie dat i { } R+== ttp;vvD , dreapta care trece prin v i este paralel cu p. Ne propunem s determinm astfel nct
Dv 0{ }Dv; vFvF = )(min)( 0 . innd seama de (4), rezult
. 2
)(
2)(
2)(
22221
)(21)(
2
22
2
r,ptAp,ptvF
b,pAvtAp,ptvFb,ptAv,ptAp,ptvF
b,ptAp,vtAp,ptAv,ptb,vAv,v
tpb,vtpv,tpvAvF
++=
=++=++=
=+++=
=+++=
Folosim notaia
r,ptAp,ptvFtpvFvFtf ++=+==2
)()()()(2
(6)
Determinm pe t astfel nct )()( vFtf = s fie minim. Pentru aceasta trebuie s avem 0)( = tf , de unde rezult 0=+ r,pAp,pt . Aadar, obinem:
Ap,pr,p
t =min (7) Cum 0)( >= Ap,ptf , rezult c vectorul ptvv min0 + = este un punct de minim pentru . )v(F n continuare avem
Ap,pr,p
vFvFtf2
0min 21)()()( ==
de unde rezult
021
2
0 == Ap,pr,p
F(v))vF(F .
Pentru ca F
-
Bazele Analizei Numerice 50
Observaia 1. Dac bvAr = 00 este vectorul rezidual corespunztor vectorului , atunci ptvv min0 += 00 = ,pr .
ntradevr,
0min0 ==+= Ap,pAp,pr,p
r,pAp,ptAv-b,p,pr .
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 . (8) cvbvbvavvava 2222 2211
22222112
2111 =++
Deoarece A este pozitiv definit, rezult c
02212
1211 >aaaa
= ,
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, rezult c r1 este perpendicular pe direcia p1. Pe de alt parte r1=gradF(v1) este perpendicular pe tangenta n v=v1 la elipsa F(v)=c1. Rezult c v=v1, este punctul de tangen la elipsa F(v)=c1 al dreptei care trece prin v0 i are direcia p1.
v1v0
r0
r1 p1
1.9. Metoda relaxrii simple Este o metod specific calculelor de mn, avnd mai ales o semnificaie istoric. Fie v un vector de prob oarecare i fie r=Av b vectorul rezidual corespunztor.
-
Sisteme de ecuaii liniare 51
Dac jini
rr =1
max , atunci alegem p=ej unde ( )0,...,1,...,0=Tje . Rezult
jj
j
ar
Ap,ppr
t == ,min i
jjj
j ear
vptvv =+= min (1) Pe componente avem:
=
= jiar
v
jivv
jj
jj
i
i daca
daca . (2)
De asemenea vom avea jjj
j Aear
rbvAr == i mai departe
=
=
=
njjj
jnn
j
jjj
j
aar
rr
...................
r.................
aar
rr
0
111
(3)
021)()(
2
-
Bazele Analizei Numerice 52
i .
=
405060
1
.
.
.)(r 60) max( (1)1
(1)3
(1)2,
(1)1 .rr,rr ==
Aadar
==
001
11 ep , 111
(1)1(1)(2) ear
vv = i 111
(1)1(1)(2) Aear
rr = .
Pe componente avem
===
===
52.0
62.0
0
,
0
0
6.0
(2)3
(2)2
(2)1
)2(3
)2(2
)2(1
rrr
vvv
,
( ) 62.0 , ,max (2)3(2)2(2)1)2(2 == rrrr . Rezult
==
010
22 ep , 222
(2)2(2)(3) e
ar
vv = i 222
(2)2(2)(3) Ae
ar
rr = ;
===
===
644.0
0
124.0
,
0
62.0
6.0
(3)3
(3)2
(3)1
)3(3
)3(2
)3(1
r
rr
v
vv
( ) 644.0 , ,max (3)3(3)2(3)1)3(3 == rrrr . n continuare
==
100
33 ep , 333
(3)3(3)(4) ear
vv = i 333
(3)3(3)(4) Aear
rr = .
===
===
0
1288.0
2528.0
,
644.0
62.0
6.0
(4)3
(4)2
(4)1
)4(3
)4(2
)4(1
rrr
vvv
, etc.
-
Sisteme de ecuaii liniare 53
1.10. Metoda deplasrilor succesive (Gauss - Seidel) n metoda deplasrilor succesive, direcia de relaxare urmeaz ciclic direciile e1, e2, ... , en, indiferent de reziduurile respective, dup care ciclul se reia. Pentru simplificare s presupunem c avem sistemul
=+=++=++
000
3333232131
2323222121
1313212111
bx+axaxabxaxaxabxaxaxa
Fie v(0) vectorul de prob iniial i fie . Conform formulei (1) din 9
rezult
==
001
1ep
111
(0)10 ear
vv )( = , iar pe componente
( )
==
++=
)(
)(
)()()()(
vvvv
bvavavaa
vv
033
022
10
3130
2120
11111
011
1
.
n continuare alegem direcia de relaxare
==
010
2ep
i obinem vectorul de componente v
( )
=++=
=
)(
)(
v
bvavaaa
vv
v
v
vv
033
232322212122
022
111 .
n sfrit, pentru direcia de relaxare
==
100
3ep ,
-
Bazele Analizei Numerice 54
obinem vectorul de componente v
( )
++===
333323213133
033
22
11
1 bvavavaa
vv
vvvv
)(
.
Dup ncheierea acestui ciclu, vectorul gsit va fi notat cu v(1) i va avea componentele:
+==
+==
+==
33
312
33
3211
33
313
13
22
203
22
2311
22
212
12
11
103
11
1302
11
121
11
abv
aav
aavv
abv
aav
aavv
abv
aav
aavv
)()()(
)()()(
)()()(
(1)
Efectund calculele obinem:
=+=++=++
3)1(
333)1(
232)1(
131
2)0(
323)1(
222)1(
121
1)0(
313)0(
212)1(
111
+ bvavava
bvavava
bvavava
.
n general, pentru un sistem de n ecuaii, dup (m+1) cicluri se obine vectorul care verific ecuaiile: 1)( +mv
(2)
=+++
=++++=++++
+++
++
n)(m+
nnn)(m
n)(m
n)(m
n
(m)nn
(m))(m)(m+
(m)nn
(m)(m))(m
bva...v+avava
..........................................................................bva...vavava
bva...vavava
1133
122
111
223231
2221
121
113132121
111
Observaia 1. Formulele (1) coincid cu formulele (10) din 7. Dac notm cu
=
0...
0...0......
0...000...000
21
3231
21
nn aa
aaa
E , TEF = i ,
=
nna
aa
D
LMMM
LL
00
0000
22
11
-
Sisteme de ecuaii liniare 55
atunci matricea A admite descompunerea A=E+D+F i irul de vectori verific relaia matricial
)(mv
(D+E)v(m+1) + Fv(m) = b , (3) de unde rezult v(m+1)= (D+E) 1Fv(m)+(D+E) 1b . (4) n sfrit, notnd M= (D+E) 1F i C=(D+E) 1b (5) obinem procesul iterativ v(m+1)=Mv(m)+C . (6) 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:
,
2100131001310012
=A
=
1111
b .
Rezolvare
=
0000100001000010
18621012420012600018
361)( 1
--
-
F=D+E -
=+=
6210124200126000180
361)( 1FEDM
+=361
94)(det 22 IM .
Valorile proprii ale matricei M sunt ; . ; . 07703690 21 == 00 43 == ; . 1369.0)(
-
Bazele Analizei Numerice 56
Iteraia I
=
=
=
=
)(1
)(1
)(1
)(1
)1(343
)1(242
)1(141
44
)1(4
)0(434
)1(232
)1(131
33
)1(3
)0(424
)0(323
)1(121
22
)1(2
)0(441
)0(331
)0(212
11
)1(1
xaxaxaba
x
xaxaxaba
x
xaxaxaba
x
xaxaxaba
x
rezult
=
0.750.50.50.5
)1(x
Iteraia a II a
=
=
=
=
)(1
)(1
)(1
)(1
)2(343
)2(242
)2(141
44
)2(4
)1(434
)2(232
)2(131
33
)2(3
)1(424
)1(323
)2(121
22
)2(2
)1(441
)1(331
)1(212
11
)2(1
xaxaxaba
x
xaxaxaba
x
xaxaxaba
x
xaxaxaba
x
rezult
=
0.916670.83333
0.750.75
)2(x
Iteraia a III a
=
=
=
=
)(1
)(1
)(1
)(1
)3(343
)3(242
)3(141
44
)3(4
)2(434
)3(232
)3(131
33
)3(3
)2(424
)2(323
)3(121
22
)3(2
)2(441
)2(331
)2(212
11
)3(1
xaxaxaba
x
xaxaxaba
x
xaxaxaba
x
xaxaxaba
x
rezult
=
0.969910.939810.902780.875
)3(x
Iteraia a IV a
=
=
=
=
)(1
)(1
)(1
)(1
)4(343
)4(242
)4(141
44
)4(4
)3(434
)4(232
)4(131
33
)4(3
)3(424
)3(323
)4(121
22
)4(2
)3(441
)3(331
)3(212
11
)4(1
xaxaxaba
x
xaxaxaba
x
xaxaxaba
x
xaxaxaba
x
rezult
=
0.988940.977880.963730.95139
)4(x
Iteraia a V a
-
Sisteme de ecuaii liniare 57
=
=
=
=
)(1
)(1
)(1
)(1
)5(343
)5(242
)5(141
44
)5(4
)4(434
)5(232
)5(131
33
)5(3
)4(424
)4(323
)5(121
22
)5(2
)4(441
)4(331
)4(212
11
)5(1
xaxaxaba
x
xaxaxaba
x
xaxaxaba
x
xaxaxaba
x
rezult .
=
0.995920.991840.986580.98187
)5(x
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 1)(
-
Bazele Analizei Numerice 58
(2)
30
33311
31
331
2321
131
20
3230
22211
21
221
121
10
3130
2120
11111
1111
1
1
1
=++=+++=+++
bv)a(v+avava
bvav)a(vava
bvavav)a(va
)()(-)()(
)()()(-)(
)()()()(-
Dac introducem notaiile
=
000000
3231
21aa
aE , i F=E
=
33
22
11
000000
aa
aD T ,
relaiile (2) capt forma matricial (E+ 1D)v(1) + [F+(1 1)D]v(0) = b . (3) 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
[ ]
[ ] )()1()()(
11
111
+=++=
bDEC
DFDEM . (5)
Obinem astfel procesul iterativ v(m+1) =M( )v(m) + C() . (6) 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:
-
Sisteme de ecuaii liniare 59
=
mm
mmmDE
FDE
FDEFDE
FD
A
1
112
332
221
11
000
0000000
LL
MOMLLL
,
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.
Atunci parametrul optim de relaxare este dat de relaia 21
opt11
2
+= , unde
1 este cea mai mare valoare proprie a matricei D 1(E+F) . Exemplu. Fie sistemul Ax = b din exemplul din paragraful precedent, care are matricea diagonal bloc tridiagonal
=2100131001310012
A , ,
01001010
01010010
=+ FE
2000030000300002
D
= ,
=+
02100
310
310
0310
31
00210
)(1 FED .
Ecuaia caracteristic este
-
Bazele Analizei Numerice 60
0
2100
31
310
031
31
0021
=
,
care este echivalent cu
011636
21001310
01310012
24 =++=
.
Rezult 18
74 =i i 1 =0.60763 .
Parametrul optim de relaxare 2111
2
opt +
= =1.11469 .
Procedeul iterativ x(m+1) =M( )x(m) + C() , unde
=0.09240.013030.019130.00882482
0.371560.023370.034330.0158300.371560.09240.04261000.557340.11469
)(M , ,
=
0.884260.586570.578650.55734
)(C
conduce la urmtoarele valori ale vectorului soluiilor pentru primele cinci iteraii:
=
0.884260.586570.578650.55734
)1(x , , , ,
=
0.979760.939880.826310.81593
)2(x
=
0.995650.988030.969460.92431
)3(x
=
0.999530.998250.995950.99166
)4(x
=
0.999930.999780.999330.9987
)5(x .
-
Sisteme de ecuaii liniare 61
1.12. Metoda gradienilor conjugai
Fie sistemul Ax=b, unde A este simetric i pozitiv definit. Definiia 1. Spunem c direciile p i q sunt direcii conjugate n raport cu matricea A dac 0== p,AqAp,q . 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:
(1)(1)
(0)(0)
(1)(1)
(1)0
min,pAp
,rr
,pAp
,prt
)(
== , (1)
v(1) = v(0) + q1p(1) , (2) unde
)1()1(
(1))0(
min1 =,pAp
,prtq = (3)
Valoarea minim a funciei F=F(v), cnd v parcurge dreapta ce trece prin v(0) i are direcia p(1)= r(0) este v(1).
Fie r(1)=gradF(v(1))=Av(1) b.
Din Observaia 1 din 8 rezult c 0(0)(1)(1)(1) == ,rr,pr . (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:
(1)(1)1
(1)(1)(1)(2)(1)(2)0 ,pApc,Apr,App,pAp +=== de unde rezult
(1)(1)
(1)(1)
1,pAp
,Aprc = . (5)
Avem de asemenea
-
Bazele Analizei Numerice 62
(2)(2)(2)
(2)(1)(1)(2)
min(1)(2) p
,pAp
,prvptvv =+= . (6)
n general, pentru orice k2 obinem
)1()1(
)1()1(
1
=
kk
kk
k-,pAp
,Aprc , (7)
, (8) )1(1)1()( += kkkk pcrp
)kk
kk
k,pAp
,prq
()(
)()1( = , (9)
. (10) )()1( kkk
k pqvv += 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
)1()1()1(1
)1()1()()1( ,,, =+= kkkkkkkk rrpcrrpr i deci
0)()(
)1()1(
>=
kk
kk
k,pAp
,rrq . (9)
Pe de alt parte, din (10) avem )()1()()1()()( k
kkk
kkkk ApqrbApqAvbAvr +=+== .
Obinem deci urmtoarea relaia de recuren . (11) )()1()( kk
kk Apqrr += Observm c 0)1()( =kk ,rr . (12) ntr adevr, din (11) rezult
)()1()1()1()1()( ,,, kkkkkkk Aprqrrrr += . (13)
Pe de alt parte, innd seama de (8), de (9) i de faptul c p(k) i p(k 1) sunt A conjugate, rezult
)(kkk
kkk
kkkk(k))(k
k rrpcrAp
Aprrr,Aprq 1)1(
)1(1
)1()(
)()1()1()1(1 ,
,
,,
=
+=
. Din (13) i (14) rezult acum (12) .
-
Sisteme de ecuaii liniare 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
( ) )1()1(1
)2()1(
1
)1()1()1( 11
== kkk
kk
k
kkk ,rrq
rrq
,r,Apr .
innd seama de (7) i de (9) obinem
)(k)(k
)(k)(k
)(k)(k
)(k)(k
k,rr
,rr
,pAp
,Aprc
22
11
11
11
1
== .
Algoritm pentru rezolvarea sistemelor de ecuaii liniare cu metoda gradienilor conjugai Calculeaz ; ; bAvr )()( = 00 )()( rp 01 =
;Apqr ; rpqv ; v,pAp
,rrq )()()()()()(
)()(
)()(1
1011
101
11
00
1 +=+==
Pentru k:=2,n calculeaz
; 111
22
11
1 pcr ; p,rr
,rrc )(kk
)(k(k))(k)(k
)(k)(k
k
+==
;Apqr ; rpqv ; v,pAp
,rrq (k)k
)(k(k)(k)k
)(k(k)(k)(k)
)(k)(k
k +=+==
1111
sfrit pentru k . n Mathcad algoritmul de mai sus este aplicat unui exempu.
-
Bazele Analizei Numerice 64
Metoda gradientilor conjugati
Folosind metoda gradientilor conjugati sa se gaseasca solutia sistemului de ecuatii liniare Ax=b
Vectorul de proba x
0
0
0
0
n 4A
5
1
1
1
1
6
2
2
1
2
7
1
1
2
1
8
b
6
7
9
8
Algoritmul metodei gradientilor conjugati
GrCon A b, x, n,( ) r 0< > A x. bp r 0< >
q r0< > r 0< >.A p. p.
x x q p.r 1< > r 0< > q A. p.
c rk 1< > r k 1< >.
r k 2< > r k 2< >.p r k 1< > c p.
q rk 1< > r k 1< >.
A p. p.x x q p.r k< > r k 1< > q A. p.
k 2 n..for
x
Apelarea programului si afisarea rezultatelor
GrCon A b, x, n,( )
1
1
1
1
=
-
Sisteme de ecuaii liniare 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 0, )0()1( =rr din (4), iar pentru prima afirmaie nu avem ce arta. Ipoteza de inducie este: 0, )()( =ji rr pentru ij , 0i, jk , (15) 0, )()( =ji App pentru ij , 1ijk . (16) Va trebui s artm c 01 =+ (j))(k ,rr , pentru ,kj 0= (17) 0, )()1( =+ jk App , pentru ,kj 1= . (18) Fie j=k, atunci
=+ )()1( , kk App 01 =+ (k))(k ,pAp deoarece pk i pk+1 sunt A conjugate. Fie 1j
-
Bazele Analizei Numerice 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 vector rezidual nul sau foarte mic
-
Sisteme de ecuaii liniare 67
n general, sistemul (1) nu este compatibil i 0minR
>=
)f(xf(x) *x n
, iar x=x*
este un substitut pentru soluia sistemului i anume soluia n sensul celor mai mici ptrate. Funcia f se poate pune sub forma
b,bAx,bAx,AxAx-b,Ax-br,rf(x)= +== 2 i mai departe b,bb,xAAx,xAf(x)= TT + 2 (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. (5) bAx=AA TT(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 d alt parte se tie c: e( ) ( )TTT AA=AA=AA= rangrangrangrang . 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
0=Bx,x , atunci rezult 0=Ax,Ax i deci Ax=0. Cum rezult x=0.
A=n= = =
n
i
n
jjiij dxdxbf(x)d ,
de unde rezult c x=x* este punct de minim pentru f i cu aceasta teorema este demonstrat. 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.
-
Bazele Analizei Numerice 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 valorile proprii ale matricei B. Atunci:
021 > n...
n(B) 1cond = . (6)
Cum
iii
iiix
b,eBex,x
Bx,x maxmaxsup
01 ==
i iii
iiix
n b,eBex,xBx,x
minmininf0
== , rezult
ii
iibbB
minmax)(cond . (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
. (8)
61058351200
m+n=m+n=m+n=m+n=m+n=
Evident, sistemul (8) este supradimensionat i incompatibil. Avem:
=
==
=
=15
117
52525193
65310
11018151210
b; AAA; B; bA TT .
Ecuaiile normale ale lui Gauss sunt
=+=+15525
11725193nm
nm .
Soluia exact este 343 ,
3421 == nm , iar valorile proprii sunt i
. Rezult
2681961 . =73212 . = 113)cond( B . Dac folosim estimarea (7) obinem
-
Sisteme de ecuaii liniare 69
6,385
193minmax ==
ii
iibb
.
Dreapta de regresie n acest caz este: 343
3421= xy . Aceast dreapt nu trece
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 ,n , i,yxM iii 1)( = . Matricele
=
1
1211
n
A MM i
+
+++==
nnn
nnnnn
AAB T
2)1(
2)1(
6)12)(1(
conduc la ( )( )
36121
minmax 2nnn
bb
ii
ii >++= . Pentru n=100, cond(B)>13333, deci sistemul normal al lui Gauss este prost condiionat. 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
. (9) n m,bxa...xa
........................bxa...xa
mnmnm
nn++= ndxdxd
Exerciii
-
Sisteme de ecuaii liniare 71
Folosind metoda Gauss s se rezolve urmtoarele sisteme de ecuaii liniare:
1.
=++=+++
=++=++
591282
12726
4321
4321
4321
4321
xxxxxxxx
xxxxxxxx
R. Matricea triunghiular ,
0.10002150.00.1001707.03171.00.10
1667.01667.01667.00.1~
=A
vectorul termenilor liberi transformat .
0.17850.11951.0333.0
~
=b
Soluia sistemului .
1211
=x
2.
=+++=+++
=+++=++
127106
7814
4321
4321
4321
4321
xxxxxxxxxxxxxxxx
R. Matricea triunghiular ,
0.10001105.00.1000968.01613.00.102500.02500.02500.00.1
~
=A
vectorul termenilor liberi transformat .
0.27789.1
8710.02500.0
~
=b
Soluia sistemului x = (1 1 2 2).
-
Bazele Analizei Numerice 72
3.
=+++=++
=+++=+++
10156
12728145
4321
4321
4321
4321
xxxxxxxxxxxxxxxx
R. Matricea triunghiular ,
0.10001558.00.100
1026.02308.00.102000.02000.02000.00.1
~
=A
vectorul termenilor liberi transformat .
0.43766.21026.38000.2
~
=b
Soluia sistemului x = (1 2 3 4).
S se rezolve urmtoarele sisteme de ecuaii liniare folosind metoda Cholesky:
4.
=++=+++
=++=+
78811
69910
4321
4321
4321
4321
xxxxxxxx
xxxxxxxx
R. . Soluia sistemului
R
7774.23082.03017.03162.0032809.03687.03162.0009833.23162.00001623.3
=
TR
Ty=b este , iar cea a sistemului Rx=y , i deci soluia
sistemului iniial este .
7774.29726.23129.2846.2
=y
1111
=x
-
Sisteme de ecuaii liniare 73
5.
=++=+++
=++=+
119287
62678
4321
4321
4321
4321
xxxxxxxxxxxx
xxxx
R. .
82564.254071.077357.035355.0059705.2361.035355.00042384.235355.000082843.2
=TR
Soluia sistemului RTy=b este iar cea a sistemului Rx=y , i
deci soluia sistemului iniial este .
82564.213776.3
83641.247487.2
=y
1111
=x
6.
=+=++=++=+
10481121551926
4321
4321
4321
4321
xxxxxxxx
xxxxxxxx
R. .
88878.134954.037905.040825.0015682.360648.08165.00019848.240825.000044949.2
=
TR
Soluia sistemului RTy=b este , iar cea a sistemului Rx=y , i
deci soluia sistemului iniial este x= (3 2 1 1).
88878.150636.33825.575672.7
=y
-
Bazele Analizei Numerice 74
Folosind metoda Householder, s se rezolve sistemele:
7.
=+=+=++
=++
0306789148765
2234
4321
4321
4321
4321
xxxxxxxxxxxx
xxxx
R. det(A)= 1112; descompunerea A=QR este dat de
9487.02774.01217.00902.002.00784.05787.08115.0
0257.05445.07068.04508.0 3143.07877.03882.03607.0
=Q ,
.
58889.100083368.52130.6009155.10016.01569.1000249.80249.86148.20905.11
=R
Soluia sistemului Qy=b este ,
5888.15498.112430.89354.29
=y
iar cea sistemului Rx=y este x=(1 1 1 1).
8. .
=+=+++=+=+
22346678928765
16432
4321
4321
4321
4321
xxxxxxxxxxxxxxxx
R. det(A)= 2808; descompunerea A=QR este dat
65727.053098.039494.036067.003651.018504.055307.08115.047469.02494.071359.045083.0
58424.078843.017005.009017.0
=Q ,
69631.5000 79972.23444.400
7419.842367.223107.100541.02872.988534.209054.11
=R .
-
Sisteme de ecuaii liniare 75
Soluia sistemului Qy=b este ,
39263.1194384.940201.549202.6
=y
iar cea sistemului Rx=y este .
2121
=x
9. .
=+=+
=+++=+++
4307689
24322234
4321
4321
4321
4321
xxxxxxxx
xxxxxxxx
R. det(A)= 80 ; descompunerea A=QR este dat de
98213.014663.006173.01005.012673.005925.04028.090453.012039.090448.039663.01005.00697.03961.082257.040202.0
=Q ,
50691.000066043.242341.20029041.53565.05451.6062821.563325.692972.594987.9
=R .
Soluia sistemului Qy=b este ,
50691.023702.047901.1114106.28
=y
iar cea sistemului Rx=y este .
1111
=x
-
Bazele Analizei Numerice 76
10. Pentru matricea , s se calculeze:
1111111231121121
=A
a) det(A) , A1, det(A1); b)
12
11
121 , , ; , , AAAAAA ;
c) cond1(A) , cond2(A) , cond(A) .
R. a) det(A)=6, ,
05.05.0015.15.0116667.003333.0
13333.006667.0
1
=A
det(A1)=0.1667;
b)
==
=
. 4 2.848,= ,3
; 7= 5.7446,= ,6
1
21
11
21
AAA
AAA
c) cond1(A)=18, cond2(A)=12.7511, cond(A)=28 .
11. S se calculeze: a) det(A) , A1, det(A1); b)
12
11
121 , , ; , , AAAAAA ;
c) cond1(A) , cond2(A) , cond (A)
pentru matricea . 316223514
=A
R. a) det(A)=8, , det(A 375.125.1125.1875.225.2625.2111
1
=A 1)=0.125 ;
b)
==
=
. 4 2.848,= ,3
; 7= 5.7446,= ,6
1
21
11
21
AAA
AAA
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 :
-
Sisteme de ecuaii liniare 77
12.
=+=++
=
9746
55
321
321
321
xxxxxxxxx
R. Sistemul se poate pune sub forma x = Bx+c, unde B = D1 (DA), iar D =
, E = DA = , 700060005
28571.166667.01
011101
110
B = , c = D 014286.014286.016667.0016667.0
2.02.00
1 b = , 2B =0.41997,
(B)= 0.29277. Soluia la fiecare iteraie, pornind cu , este:
, ,
000
)0(
=x
28571.166667.01
)1(
=x
04762.104762.1
12381.1)2(
=x
97551.002857.11
)3(
=x , .
019959299592.0
98939.0)4(
=x
Soluia exact fiind , eroarea care se face dac se reine ca soluie
aproximativ x
111
*
=x
(4) , este 01208.0)4(* = xx .
13. (s se scrie soluia obinut dup patru
iteraii).
+++=+++=++
=++
8968247
26
4321
4321
4321
4321
xxxxxxxxxxxxxxxx
R. Se poate pune sistemul sub forma x = Bx+c, unde B = D1 E , iar
D = , E = DA = ,
9000080000700006
0111102111012110
-
Bazele Analizei Numerice 78
B = ,
011111.011111.011111.0125.0025.0125.0
14286.014286.0014286.033333.016667.016667.00
c=D1 b = , 88889.075.0
57143.033333.0
2B =0.5989, (B)= 0.27926. Soluia pentru primele
4 iteraii, pornind cu , este: ,
0000
)0(
=x
88889.075.0
57143.033333.0
)1(
=x
, , .
94577.09623.085317.0
84987.0
)2(
=x 99544.0
97528.096542.0
95117.0
)3(
=x 99567.0
99689.098884.09886.0
)4(
=x
Soluia exact fiind , eroarea care se face dac se reine ca soluie
aproximativ x
1111
*
=x
(4) , este 01682.0)4(* = xx .
14.
=+=++=++=+
38921614734
4321
4321
4321
4321
xxxxxxxxxxxxxxxx
R. Se poate pune sistemul sub forma x=Bx+c, unde B=D1E , iar
D = , E = DA = ,
9000060000700004
0111101111011110
-
Sisteme de ecuaii liniare 79
B = ,
011111.011111.011111.016667.0016667.016667.0
14286.014286.0014286.025.025.025.00
c=D1b = , 22222.4
5.3275.0
2B =0.60753, (B)= 0.22758. Pentru primele 4 iteraii,
pornind cu , soluia este: ,
0000
)0(
=x
22222.45.3
275.0
)1(
=x
97222.300463.399603.106944.1
)2(
=x , , .
99133.399239.298545.100711.1
)3(
=x
99844.399784.299883.199663.0
)4(
=x
Soluia exact fiind , eroarea care se face dac se reine ca soluie
aproximativ x
4321
*
=x
(4) , este 00417.0)4(* = xx . S se rezolve cu metoda GaussSeidel urmtoarele sisteme:
15.
=+=+
=
84326
3225
321
321
321
xxxxxxxxx
R. Se observ c matricea coeficienilor sistemului este tare
diagonal dominant i atunci algoritmul GaussSeidel este convergent.
431161225
=A
Sistemul se poate pune sub forma x(m+1)=(D+L)1(Ux(m)+b), m0, unde:
031001000
=L , , .
000100220
=U 400060005
=D
Atunci
-
Bazele Analizei Numerice 80
25.0125.0075.0016667.003333.0002.0
)( 1
=+ LD ,
(D+L)1U = , 275.015.00
23333.006667.004.04.00
(D+L)1b = . Se obin pornind cu , vectorii:
, , ,
025.2
23333.06.0
000
)0(
=x
025.2
23333.06.0
)1(
=x
61687.272139.030333.0
)2(
=x
85285.289203.073531.0
)3(
=x
94334.295847.089795.0
)4(
=x .
16.
=+++=++=+=+
142283862226
4321
4321
4321
4321
xxxxxxxx
xxxxxxxx
R. Se observ c matricea coeficienilor sistemului
4111283111621216
=A
este tare diagonal dominant i algoritmul GaussSeidel este convergent. Sistemul se poate pune sub forma x(m+1) = (D+L)1(Ux(m)+b) , m0, unde:
0111003100020000
=L , , 0000200011001210
=U
-
Sisteme de ecuaii liniare 81
4000080000600006
=D .
Atunci ,
25.003125.005729.002778.00125.00625.000016667.005556.000016667.0
)( 1
=+ LD
(D+L)1U = ,
03299.011285.002778.001875.00625.000
22222.005556.005556.0016667.033333.016667.00
(D+L)1b = .
82639.075.0
22222.133333.0
Alegnd , obinem: , ,
0000
)0(
=x
85938.09375.015.0
)1(
=x
98831.096973.002778.195573.0
)2(
=x
, , .
99697.099592.099937.099259.0
)3(
=x
99942.099918.000048.199803.0
)4(
=x
9999.099984.000006.199971.0
)5(
=x
17.
=+++=++
=+=+
24132212
1011710
4321
4321
4321
4321
xxxxxxxx
xxxxxxxx
R. Se observ c matricea coeficienilor sistemului
13111112111111111110
=A
este tare diagonal dominant i algoritmul GaussSeidel este convergent.
-
Bazele Analizei Numerice 82
Sistemul se poate pune sub forma x(m+1)=(D+L)1(Ux(m)+b) , m0, unde:
0111001100010000
=L , , 0000100011001110
=U
13000012000011000010
=D
Atunci
,
07692.000641.000758.000758.0008333.000758.000758.00009091.000909.00001.0
)( 1
=+ LD
(D+L)1U = ,
00641.001515.000758.0008333.001515.000758.00
1.008182.000909.001.01.01.00
(D+L)1b = .
96445.181061.197273.0
7.0
Alegnd , obinem: ,
0000
)0(
=x
96445.181061.197273.0
7.0
)1(
=x
99711.199437.101219.1
98023.0
)2(
=x , , , 99999.1
99958.100001.1
99793.0
)3(
=x 99999.1
99998.100001.1
99993.0
)4(
=x
2211
)5(
=x .
-
Sisteme de ecuaii liniare 83
Folosind metoda relaxrii simple s se scrie soluia aproximativ pentru urmtoarele sisteme:
18.
=+=+=+
28914638
321
321
321
xxxxxx
xxx
R. Matricea sistemului este . 911161118
=A
Lund vectorul de prob se obine , deci prima direcie
de relaxare este . Rezult .
000
)1(
=x
2814
3)1(
=r
100
3)1(
== ep
11