Sunteți pe pagina 1din 53

Calcul Numeric

Cursul 4
2015
Anca Ignat

Algoritmul de eliminare Gauss


Algoritmul se realizeaz n n-1 pai prin transformarea
sistemului dat ntr-un sistem echivalent cu matrice
triunghiular superior.
Pas 1
la acest pas se obine sistemul:

A1 x b1 Ax b,unde A1 are prima coloan n


form superior triunghiular.

Pas 2
se construiete sistemul
A 2 x b 2 Ax b,unde A 2 are primele dou
coloane n form superior triunghiular.

Pasul r
se obine sistemul A r x b r Ax b,unde A r are
primele r coloane n form superior triunghiular.

Pasul n-1 :
se obine sistemul
A n1 x b n1 Ax b,unde A n1 are primele n-1
coloane n form superior triunghiular.

Dac la un anumit pas matricea A(r) nu poate fi construit


aceasta ne va arta c matricea A este singular.
n realizarea acestor pai se utilizeaz urmtoarele operaii
elementare:
nmulirea unei ecuaii cu un factor i adunarea la alt
ecuaie;
interschimbarea a dou linii i/sau dou coloane n
matricea A.

Pasul 1
Intrare : sistemul Ax=b
Ieire : sistemul A1 x b1 Ax b, matr A(1) are
prima coloan n form superior triunghiular.
Fie ecuaia i, cu i=1,,n
Ei :ai 1 x1 ai 2 x2 ain xn bi .

Presupunem a11 0 . Operaiile efectuate au ca obiectiv


anularea coeficienilor lui x1 din ecuaiile de la 2 la n i sunt
descrise n continuare:

a21
1
1
E1

2
2
21 0

a11

ai 1
1
1
E1
E
E
a

i
i
i 1 0

a11

a n1
1
1
E1

a
n
n
n1 0

a11

Sistemul obinut prin aceste operaii are forma:

sau

1
1
a11
x1 a12
x2 a11n xn b11

1
1
1

a
x
a
x
b

22 2
2n n
2

1
1
1

a
x
a
x
b

i2
in
n
i
2

1
an12 x2 ann
xn bn1

a11j a1 j , j 1, , n,b11 b1 .

ai 1
1
aij aij a a1 j ,i 2, , n; j 2, , n.
11
1
ai 1 0,i 2, , n.

bi1 bi ai 1 b1 ,i 2, , n.
a11

Pas 2

Intrare : A1 x b1
Ieire : A 2 x b 2 Ax b, A 2 are primele dou
coloane n form superior triunghiular.
1

Se presupune a22 0 i se urmrete anularea elementelor


2
2
a32
,a42
, , an 22 (transformarea coloanei 2 n form superior
triunghiular). Operaiile efectuate
Ei1 ,i 3, , n sunt urmtoarele :

asupra

ecuaiilor

1
1 a32

1
2
2
E

2 1
3
3
32 0;
a22

a
1
1
2
2
i2
E

2 1
i
i
i 2 0;
a22

1 an12
1
2
2

E
E
E
a

n
n
n 2 0;
2 a 1
22

Obinem pentru matricea A(2) i vectorul b(2) relaiile:


a1 2j a1 j , j 1, , n
2
a2 j a21j , j 2, , n

1
a
2
1
i2
aij aij a 1 a2 j ,i 3, , n; j 3, , n
22

2
ai 1 0,i 2, , n
2
ai 2 0,i 3, , n
b 2 b ,b 2 b1
1
2
2
1
1
2
a
1
(1)
i2

b
b
b
i
i
1 2 ,i 3, , n.
a22

10

Se observ c nu se schimb forma superior triunghiular a


primei coloane.
Pas r

Intrare : A r 1 x b r 1
Ieire : A r x b r Ax b, A r are primele r coloane
n form superior triunghiular.

11

Sistemul are forma urmtoare:


r 1
a11
x1 a1 rr 1 xr a1 nr 1 xn b1 r 1

r 1
r 1
r 1
a
x

a
x

rr
r
rn
n
r

r 1
r 1
r 1
a
x

a
x

r 1r
r
r 1n n
r 1

air r 1 xr ain r 1 xn bi r 1


a r 1 x a r 1 x b r 1
nr
r
nn
n
n

12

Presupunem arr r 1 0.
r
Vom urmri anularea elementelor ar r1r ,ar r2 r , , anr
.
r 1 ar r 11r
r 1
r
r

E
E
E
a

r
r 1
r 1
r 1
r 1 r 0;
arr

r 1
r 1 air
r 1
r
r

E
E
E
a

r
r 1
i
i
ir 0;
arr

r 1

r 1 anr
r 1
r
r
E
E
E
a

r 1
n
n
nr 0;
r
arr

13

a1 rj a1 j , j 1, , n,
r
akj akj k 1 ,k 2, r , j k , , n,

r 1

r 1
a
r
r 1
ir
aij aij a r 1 arj ,i r 1, , n; j r 1, , n.
rr

r
aij 0, j 1, , r ,i j 1, , n.
r
b1 b1 ,
b r b j 1 , j 2, , r ,
j
j
r 1

a
r
r

1
bi bi ir r 1 b2( r 1) ,i r 1, , n.
arr

14

Se observ c nu se schimb forma superior triunghiular a


primelor r-1 coloane.
La fiecare pas s-a fcut ipoteza arr r 1 0 . Elementul arr r 1
poart numele de pivot. n cazul n care elementul pivot este
nul se pot aplica urmtoarele strategii, numite de pivotare:

15

Pivotare ( arr( r 1) 0 ? )

10 Fr pivotare
Se caut primul indice i0 r , r 1, , n astfel nct
ai0rr1 0 . Se interschimb liniile i0 i r.
S observm c n procesul de calcul la pasul r intervine
1
factorul r 1 astfel c valori mici ale lui arr r 1 conduc la
arr
amplificarea erorilor de calcul. Pentru a asigura stabilitatea
numeric a procesului de calcul este de dorit ca arr r 1 s fie
mare.

16

20 Pivotare parial
Se determin indicele i0:
r 1
r 1
ai0r max air ;i r , , n

i se interschimb liniile i0 ,r daci0 r .


30 Pivotare total
Se determin indicii i0 i j0:
ai r j01 max aij r 1 ;i r , , n, j r , , n
0

i se interschimb liniile i0 ,r daci0 r


j0 ,r dac j0 r
17

i coloanele

Schimbarea

coloanelor

implic

schimbarea

ordinii

variabilelor astfel nct n final va trebui refcut ordinea


iniial a variabilelor.
Dac dup pivotare elementul pivot rmne nul,
arr r 1 0, atunci putem deduce c A(r-1) este singular.
n adevr, dac n procesul de pivotare parial
arr r 1 0, atunci

18

A( r 1)

a11 a12 a1n


arr arn

ann

det A r 1

0 arn
0

r 1 r 1
0
a11
a22 ar r 11r 1 det

0 ann

19

Deoarece operaiile efectuate (cele de inetrschimbare de linii


i/sau coloane) nu au schimbat dect semnul determinantului
avem:

det A det A r 1 0 det A 0


prin urmare matricea A iniial este singular.
i n cazul procesului de pivotare total dac
arr r 1 0, atunci:

20

A( r 1)

a11 a12 a1n


arr 0

det A r 1

0 0
0 0
r 1 r 1
0
a11
a22 ar r 11r 1 det

0 0

r 1

det A det A

0 A este matrice singular.


21

r 1;
pivotare( r );
while (r n - 1 i |arr | > )
// Pas r
for i r 1, , n
f -

air
;
arr

for j r 1, , n
aij aij f * arj ;
air 0;
bi bi f * br ;
r r 1;
pivotare( r );
if (|arr | ) 'MATRICE SINGULARA'
else { A A( n 1) ,b b( n 1)
serezolv sistemul triunghiular superior Ax b}
22

Numrul de operaii efectuate la pasul r i n total este:


( n r ) 1M n r A n r M 1 A 1 M
n 1 n 2n 5

M : n r 2 n r
,
n 1

r 1

n 1

r 1

n 1 n n 1

A: n r n r
,
n 1
r 1

n3
M: n 2
3

n 1

r 1

n3
: n 2
3

23

Eliminarea chinezeasc
200-100 .Cr. China 9 capitole despre arta matematic
metod de rezolvare foarte asemnatoare eliminrii Gauss
Avem 3 tipuri de gru. tim c 3 baloturi din primul tip, 2
baloturi din al doilea tip i 1 balot din al treilea tip cntresc
39 msuri. Deasemenea, 2 baloturi din primul tip, 3 baloturi
din al doilea tip i 1 balot din al treilea tip cntresc 34
msuri i 1 balot din primul tip, 2 baloturi din al doilea tip i
3 baloturi din al treilea tip cntresc 26 msuri. Cte msuri
cntrete un balot din fiecare tip de gru

24

Notaia actual:

Notaia chinezeasc

1 2 3
2 3 2
3 1 1
26 34 39

3b1 2b2 b3 39
2b1 3b2 b3 34
b1 2b2 3b3 26

25

Pasul 1
Se nmulete coloana a doua cu 3 i se scade din ea coloana a
treia att timp ct este posibil.
Se nmulete prima coloan cu 3 i se scade din ea coloana a
treia att timp ct este posibil.
Se ajunge la forma:

0 0 3
4 5 2
8 1 1
39 24 39

26

Pasul 2
Se nmulete prima coloan cu 5 i se scade din ea coloana a
doua att timp ct este posibil.
Se ajunge la forma:

0
0

0
5

3
2

36 1 1
99 24 39
Pentru rezolvare se folosete metoda substituiei inverse pe
sistemul obinut mai sus.

27

Descompuneri LU

A nn , A=LU,
L inferior triunghiular i U superior triunghiular
L, U nn
Ly = bsoluia y

Ax = bLUx = b
x
A
b
,

Ux = y soluia x

28

Fie minorul principal principal al matricii A:

a11 a12 a1 p

a21 a22 a2 p

p p , p 1, , n
Ap

a p1 a p 2 a pp

29

Teorem (descompunere LU)


Fie A nn o matrice real ptratic de dimensiune n astfel
nct det Ap 0 , p = 1, , n . Atunci exist o unic matrice
inferior triunghiular L = ( lij )i , j =1,...,n cu lii = 1, i = 1, , n i o
unic matrice superior triunghiular U = ( uij )i , j =1,...,n astfel
nct

A = LU

(1)

Demonstraie. Existena: demonstraia se face prin inducie


dup n dimensiunea matricii A.

30

Algoritmul Doolittle de calcul al descompunerii LU


Fie A nn o matrice real ptratic de dimensiune n
care satisface ipotezele teoremei de mai sus. Algoritmul de
calcul al matricilor L i U are n etape. La fiecare pas se
determin simultan:
- cte o linie din matricea U i
- cte o coloan din matricea L.
Descriem n continuare, un pas oarecare.

Pasul p ( p = 1, 2, , n )
Se determin elementele liniei p ale matricii U ,
u pi , i = p, , n , i elementele coloanei p ale matricii L,
31

lip , i = p 1, , n l pp = 1 (upi= lip =0, i=1,,p-1).

u pp

u pp1

1
col. p a matr. L
l

p 1 p

lnp
32

u pn

lin. p a matr. U

Se cunosc de la paii anteriori:


- elementele primelor p-1 linii din U
(elemente ukj cu k = 1, , p 1,j ) i
- elementele primelor p-1 coloane din L
(elemente lik cu k = 1, , p 1,j ).
Calculul elementelor liniei p din matricea U,
u pi i = p, , n se face folosind elementul api i (LU)pi. Avem:
n

k =1

k =1

a pi = ( LU ) pi l pk uki ( l pk = 0, k = p 1, , n) = l pk uki =
p 1

l pp u pi l pk uki
k =1

33

Pentru i = p, , n avem:
p 1

u pi a pi l pk uki ,i p, , n

(2)

k 1

( l pp = 1 , l pk , uki k = 1, , p 1 sunt elemente de pe coloane


din L i linii din U calculate la paii anteriori)
Calculul elementelor coloanei p din matricea L:
lip , i = p 1, , n ( lip = 0 , i = 1, , p 1 , l pp = 1)

se face analog:

34

k =1

k =1

aip = ( LU )ip lik ukp ( ukp = 0, k = p 1, , n) = lik ukp =


p 1

lip u pp lik ukp


k =1

Dac u pp 0 putem calcula elementele nenule ale coloanei p


din matricea L astfel:
p 1

(aip l pk uki )
k 1
lip
, i p 1, , n
u pp

(3)

(elementele l pk , uki k = 1, , p 1 sunt calculate anterior


pasului p)
35

Dac u pp = 0 , calculele se opresc, descompunerea LU nu


poate fi calculat - matricea A are un minor Ap cu
determinantul 0.

Unicitatea: Demonstraie prin reducere la absurd.


Facem observaia c inversa unei matrici nesingulare
triunghiular inferior (superior) este o matrice de acelai tip.
Presupunem c
A L U L1 U 1

36

(4)

Din ipoteza A nesingular rezult existena inverselor


matricilor L, L1 ,U ,U 1 . nmulind egalitatea (4) la stnga cu
L-1i cu U11 la dreapta obinem
U U 11 L1 L1 .
Matricea L1 L1 este inferior triunghiular cu elementele
diagonale egale cu 1 iar matricea U U 11 este superior
triunghiular. Rezult c:
U U 11 L1 L1 I n ,

deci

37

L=L1 , U=U1.

Descompunerea Cholesky
n n
O matrice A
se numete pozitiv definit dac:

Ax , x

x n , x 0

Notaie: A > 0
n n
Fie A o matrice simetric (A=AT ) i pozitiv definit.

Descompunerea Cholesky pentru matricea A este de forma:

A = LLT , L matrice inferior triunghiular

38

a11

A
a
n1

l11
a1n
l

T
21

LL

ann

l n1

0 l11
0 0

lnn 0

0
l22
ln 2

l21 ln1
l22 ln 2

0 lnn

Matricea L se calculeaz n n pai, coloan dup coloan.

39

Pas r (r=1,,n)

Se calculeaz elementele coloanei r a matricii L:


nti elementul diagonal lrr apoi
celelalte elemente lir (i=r+1,n)
Coloana r a matricii L:

0 lrr

lr 1r lir lnr

- se cunosc elementele primelor (r-1) coloane ale matricii L

40

Calcul lrr:

arr LLT

rr

lr 1 lrr 1

lrr 1

lr21 lr22 lrr2 1 lrr2

lr 1

lrr 1

0 0 lrr
0

r 1

lrr arr lrk2


k 1

41

Calcul lir (i=r+1,,n):

lr 1

lrr 1

air LLT li 1 lir 1 lir lii 0 lrr


ir
0

r 1

air lik lrk


k 1

li 1lr 1 li 2 lr 2 lir 1 lrr 1 lir lrr lir


lrr

42

Algoritmul de eliminare Gauss fr schimbare de linii


descompunere LU

Presupunem c la fiecare pas al algoritmului de eliminare


Gauss pivotul este nenul ( arr( r 1) 0 ), deci nu e nevoie de
schimbare de linii.
Algoritmul se poate scrie astfel:

43

forr 1, , n 1
fori r 1, , n
air
;
f
arr
/ / E i E i f E r
for j r 1, , n
aij aij f arj ;
air 0;
bi bi f br ;

Considerm vectorul i matricea:


44

t (r )

0
( r ) n ,Tr : I n t ( r )erT nn
t r 1

(r )
t
n

45

col
r

0
00 0 0

t ( r )erT ( r ) 0100 0000

t
(
)
r
1

00t r 1 0lin r 1)

(r )

t
(
)
r

0
0
0

t
n

46

Matricea Tr este matrice triunghiular inferior cu 1 pe


diagonala principal:
colr
1000

0100

Tr 001

(r )
t r 1

(r )
t n

47

Inversa matricii Tr este


Tr1 I n t ( r )erT .
Tr Tr1 ( I n t ( r )erT )( I n t ( r )erT ) I n t ( r )erT t ( r )erT t ( r )erT t ( r )erT
I n t ( r ) t r( r )erT I n (0 t r( r ) erT t ( r ) )

Dac A este o matrice oarecare, vrem s vedem cum se poate


construi matricea B=Tr A fr a face nmulire matricial.
Vom studia legtura ntre liniile matricilor A i B.

48

eiT B eiT (Tr A) eiT ( I n t ( r )erT ) A eiT A eiT t ( r )erT A


eiT A t i( r ) (erT A)

Linia i a noii matrici B se obine din linia i a matricii A la care


se adaug linia r a matricii A nmulit cu factorul ti( r ) .
T
(r )

e
A

1,

,
r

(
t
0)
i
i
T
ei B T
(r )
T
e
A

t
(
e
i
i
r A)i r 1, , n
.

49

Operaia TrA descrie Pasul r al algoritmului de eliminare


Gauss dac:
(r )
(r )
(r )
a
a
a
t r( r )1 r(r1)r , , t i( r ) ir( r ) , , t n( r ) nr
arr
arr
arr( r ) .
Algoritmul de eliminare Gauss fr schimbare de linii poate fi
descris astfel:
Tn1 T2T1 A U cuTr I n t ( r )erT ,
t

(r )

a
00(
a

(r )
r 1r
(r )
rr

a
)(
a

50

(r )
ir
(r )
rr

a
)(
a

(r )
nr
(r )
rr

)
.

Avem:
A T11T21 Tn11 U LU , L : T11T21 Tn11
T11T21 ( I n t (1)e1T )( I n t ( 2)e2T ) I n t (1)e1T t ( 2)e2T t (1)e1T t ( 2)e2T
I n t (1)e1T t ( 2)e2T t (1) t1(2)e2T I n t (1)e1T t ( 2)e2T ( t1( 2) 0)

Prin inducie se arat c:


L T11T21 Tn11 I n t (1)e1T t ( 2)e2T t ( n1)enT1

51

1000
a

21 100
a11

(1)
a
a
31 32 00
(1)
a11

a22

L ar 1
ar(1)2
(1) 0
a22
a11

(1)
( r 1)
a
a
a
r 11 r 12 r 1r 0
(1)
a22
arr( r 1)
a11

( r 1)
a n1

an(1)2
anr
(1) ( r 1)
a22
arr
a11

52

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