Sei sulla pagina 1di 36

Capitolul I

SISTEME LINIARE
Ioana Luca
Departamentul Metode
si Modele Matematice
Universitatea Politehnica Bucure
sti

20152016

I. Luca

UPB

1/36

Sumar

Sisteme liniare - generalit


ati

Sisteme liniare - existenta solutiei

Metode de rezolvare:
Sisteme triunghiulare
Algoritmul Gauss si varianta sa Gauss-Jordan
Descompunerea LU si variantele sale LDU, LDLT
Descompunerea PLU

I. Luca

UPB

2/36

1. Sisteme liniare - generalit


ati
DEFINITIE
1) Ecuatie liniar
a n variabilele x1 , . . . , xn
a1 x1 + . . . + an xn = b ,

R (C):
a1 , . . . , an , b R (C)

2) Sistem de ecuatii liniare (sistem liniar):

A11 x1 + A12 x2 + . . . + A1n xn = b1

A21 x1 + A22 x2 + . . . + A2n xn = b2

Am1 x1 + Am2 x2 + . . . + Amn xn = bm

Aij , bi

R (C)

In scriere condensata: Aij xj = bi

(1)

j=1

i = 1, m
In scriere matriceala:

Ax = b

(2)

unde A Mm,n ,
I. Luca

UPB

x Mn,1 ,

b Mm,1 ,
3/36

1. Sisteme liniare - generalit


ati

A11 A12 . . . A1n


A21 A22 . . . A2n

Am1 Am2 . . . Amn

x1

x2

xn

b1

b2

bm

DEFINITIE
1) sistem liniar si omogen: sistem liniar cu b = 0;
2) solutie pt. (1): (x1 , . . . , xn ) care satisface (1)
x Mn,1 care satisface (2);
3) dou
a sisteme liniare s.n. echivalente dac
a au aceleasi solutii.
Ce intereseaza la (1)?
(i) sa se decid
a dac
a exist
a solutii si nr. acestora
(ii) sa se rezolve (exact sau aproximativ) n mod eficient
I. Luca

UPB

4/36

2. Sisteme liniare - existenta solutiei


PROPOZITIE (Regula lui Cramer)
A Mn,n Mn inversabil
a ! solutie; se poate det. cu regula lui
Cramer.
Obs
regula lui Cramer necesit
a n! operatii pt. n mare
pe un 1 Gflops1 calculator rezolvarea cu regula lui Cramer a unui
sistem liniar cu n = 20 necesit
a
20!
sec 80 ani
109
metod
a de rezolvare ineficient
a este nevoie de algoritmi eficienti
de rezolvare

1 Gflops 109 operatii pe secund


a (flops floting point operations per
second)
I. Luca

UPB

5/36

2. Sisteme liniare - existenta solutiei


PROPOZITIE (T. Kronecker-Cappelli)
(A b) - matricea extins
a a sist. (1); avem:

rang A = rang (A b) = n ! solutie (sist. compatibil det.)

rang A = rang (A b) < n o solutii (sist. compatibil nedet.)

rang A < rang (A b) / solutii (sist. incompatibil)


PROPOZITIE (T. Rouch
e)
Sistemul (1) este compatibil toti minorii caracteristici sunt nuli.
COROLAR
1) Orice sistem liniar si omogen este compatibil (x = 0 este solutie).
2) Un sistem liniar si omogen are doar solutia x = 0 rang A = n.
Obs In particular, dac
a A Mn , sistemul liniar si omogen are doar
solutia nul
a dac
a si numai dac
a det A =/ 0.
I. Luca

UPB

6/36

3. Metode de rezolvare
Clasificarea metodelor de rezolvare:
Metode directe dup
a un nr. finit de pasi dau solutia exacta,
abstractie facand de erorile de calcul
Metode iterative dau solutii aproximative
Regula de baz
a sa se nlocuiasc
a sistemul dat cu unul echivalent, mai
usor/rapid de rezolvat.

Operatii elementare asupra ecuatiilor unui sistem:


O1 schimbarea ordinei a 2 ecuatii n sistem
O2 nmultirea unei ecuatii cu un nr. nenul
O3 adunarea multiplului unei ecuatii la o alt
a ecuatie
PROPOZITIE
C
and una dintre operatiile O1-O3 este aplicat
a sistemului (1) se obtine
un sistem liniar echivalent cu (1).
I. Luca

UPB

7/36

3. Metode de rezolvare
Operatiile O1O3 asupra ecuatiilor lui (1) induc operatii elementare
asupra liniilor matricei extinse a sist. (1):
R1 schimbarea ordinei a 2 linii

O1

R2 nmultirea unei linii cu un nr. nenul

O2

R3 adunarea multiplului unei linii la o alt


a linie

O3

pt. a obtine un sistem mai simplu, echivalent cu (1), se lucreaz


a
asupra matricei extinse cu R1R3
DEFINITIE
Dou
a matrice s.n. echivalente pe linii dac
a una se obtine din cealalt
a
prin operatiile elementare R1R3.
Obs Dou
a matrice echivalente pe linii au acelasi rang.

I. Luca

UPB

8/36

3. Metode de rezolvare/Sisteme triunghiulare


a) Rezolvarea sistemelor triunghiulare
DEFINITIE
1) L Mm,n s.n. inferior triunghiular
a dac
a Lij = 0, i < j (Llower)
2) U Mm,n s.n. superior triunghiular
a dac
a Uij = 0, i > j (Uupper)
Exemplu
3 0 0
L= 5 2 0
7 1 1

3 0 0 0
L= 5 2 0 0
7 1 1 0

3 0
L= 5 2
7 1

3 5 7
U= 0 2 8
0 0 1

3 5 7 4
U= 0 2 3 5
0 0 9 6

7 4
U= 0 2
0 0

I. Luca

UPB

9/36

3. Metode de rezolvare/Sisteme triunghiulare


Sistem inferior triunghiular: Lx = b, L Mn

L11 x1 = b1
L21 x1 + L22 x2 = b2
...
Ln1 x1 + Ln2 x2 + . . . + Lnn xn = bn

Daca det L =/ 0 Lii =/ 0, i = 1, n, sistemul are o unica solutie; ea


se determina prin substitutie nainte (forward-substitution):
x1 =

b1
,
L11

x2 =

b2 L21 x1
,
L22

I. Luca

i1

... ;

xi = (bi Lik xk ) /Lii


k=1

UPB

10/36

3. Metode de rezolvare/Sisteme triunghiulare


Sistem superior triunghiular: Ux = b, U Mn

U11 x1 + U12 x2 + . . . + U1n xn = b1

U22 x2 + . . . + U2n xn = b2

.
.
.
.
.
.

Unn xn = bn

Daca det U =/ 0 Uii =/ 0, i = 1, n, sistemul are o unica solutie; ea


se determina prin substitutie napoi (back-substitution):
xn =

bn1 Un1,n xn
bn
, xn1 =
,
Unn
Un1,n1

. . . ; xi = (bi Uik xk ) /Uii


k=i+1

Obs Pt. rezolvarea unui sistem triunghiular cu n mare sunt necesare


n2 operatii

I. Luca

UPB

11/36

3. Metode de rezolvare/Algoritmul Gauss


b) Algoritmul de eliminare Gauss

cunoscut n China (100 .e.n.)


cea mai imp. metod
a directa de rezolvare
produce un sistem superior triunghiular,
echivalent cu sistemul dat
algoritmii pt. rezolvarea computerizata a
sist. liniare au la baz
a algoritmul lui Gauss
Karl Friedrich Gauss 17771855

necesita 2n3 /3 operatii pt. n mare; pe un 1 Gflops calculator


rezolvarea cu algoritmul Gauss a unui sistem liniar cu n = 20 necesita

2 203
sec 5 microsecunde comparati cu regula lui Cramer!
3 109
I. Luca

UPB

12/36

3. Metode de rezolvare/Algoritmul Gauss


DEFINITIE
Matrice esalon linie:

0 . . . 0 1 . . .
0 ... 0

...

...

. . . 0 2 . . .

...

...

...

0 ... 0

...

0 r

0 ... 0

...

0 ... 0

...

...

...

... 0

... 0

1 , . . . , r =/ 0 s.n. pivoti; dac


a 1 = . . . = r = 1 si toate celelalte
elemente din coloanele pivotilor sunt nule matrice esalon linie redus
a

I. Luca

UPB

13/36

3. Metode de rezolvare/Algoritmul Gauss


Exemplu Matrice esalon linie:

0
0
0
0

3
0
0
0

6
9
0
0

4
2
0
0

5
3
3
0

0
5
1
0

8
4
0
0

2 4 0 3
0 5 9 7 .
0 0 6 0

Exemplu Matrice esalon linie redus


a:

0
0
0
0

1
0
0
0

0
1
0
0

4
2
0
0

0
0
1
0

0
5
1
0

8
4
0
0

1 0 0 3
0 1 0 7 .
0 0 1 0

Obs Daca Ux = b, cu U matrice esalon linie, sistemul se rezolva


prin substitutie napoi.
I. Luca

UPB

14/36

3. Metode de rezolvare/Algoritmul Gauss

Intrebare:
cu O1 O3 poate fi transformat sistemul Ax = b n sistemul
cu U matrice esalon linie?
(echivalent cu el) Ux = b,

cu R1 R3 poate fi transformat A ntr-o matrice esalon linie ? (exista


o matrice esalon linie, echivalent
a pe linii cu A?)
R
aspuns: Da

PROPOZITIE (Algoritmul lui Gauss)


Orice matrice poate fi transformat
a, utiliz
and operatiile R1R3, ntr-o
matrice esalon linie.
Exemplu Sa se rezolve cu metoda Gauss sistemul

x + 2y + z = 4

x + 2y z = 6

3x 6y + 4z = 1
I. Luca

UPB

15/36

3. Metode de rezolvare/Algoritmul Gauss


Solutie:

matricea extinsa:

2
1 RRRR 4
1
RR

2 1 RRRR 6
M= 1
RRR

3 6
4 RRRR 1

2
1 RRRR
4
1
RRR

R
0 2 RR
2
0
RRR

0 12
1 RRRR 13

R3

R1

2
1 RRRR
4
1
RRR

1 RRR 13 substitutie napoi z = 1, y = 1, x = 3


0 12
RRR

0
0 2 RRRR
2
I. Luca

UPB

16/36

3. Metode de rezolvare/Algoritmul Gauss


TPA Folosind algoritmul Gauss s
a se rezolve sistemele:

7x y + 5z = 1

1) x + 3y z = 7

15x + y + 9z = 2

x y + 2z = 4

2) 2x 2y + 4z = 8

3x + 3y 6z = 12

x + y + 2z = 1

4) x + 3y z = 7

xy+z =3

5) {

x + 2y = 3

3) x y = 5

x + 3y = 6

x + y + 2z = 1
xy+z =3

Obs
Pot exista mai multe matrice esalon linie echivalente pe linii cu o
matrice data A.
Matricea esalon linie U, echivalent
a pe linii cu A, este utila si pt
calculul rangului lui A: rang A = nr. pivoti ai lui U.
I. Luca

UPB

17/36

3. Metode de rezolvare/Algoritmul Gauss


PROPOZITIE (Algoritmul Gauss-Jordan)
Orice matrice este echivalent
a pe linii cu o unic
a matrice esalon linie
redus
a.

Obs Daca A Mn ( ), det A =/ 0, matricea esalon linie redusa


echivalenta cu A este matricea I Mn ( ).

Exemplu Folosind algoritmul Gauss-Jordan s


a se rezolve sistemul
din exemplul anterior.
Solutie:
Cu metoda Gauss am ajuns la o matrice esalon linie. Continuam astfel:
2
1 RRRR
4
2
1 RRRR
4
1
1
R
RRR
R

R
0 12
1 RRR 13 0 12
1 RRR 13
RRR
RRR

0
0
0 2 RRRR
0 2 RRRR
2
2 (2)
I. Luca

UPB

R2

18/36

3. Metode de rezolvare/Algoritmul Gauss


2 1 RRRR
4
1
RRR

R
0 12 1 RRR 13

RRR
0
0 1 RRR 1

1 2 0 RRRR 5
RR

0 1 0 RRRRR 1

RR
0 0 1 RRRR 1

x = 3,

2 0 RRRR
5
1
RRR

R
0 12 0 RRR 12 (12)

RRR
0
0 1 RRR 1
1

1 0 0 RRRR 3
RRR

2 0 1 0 RRRR 1

RR
0 0 1 RRRR 1
y = 1,

z = 1

Obs Cu metoda Gauss (Gauss-Jordan) se pot rezolva simultan


sistemele Ax = b1 , Ax = b2 , etc., lucr
and asupra matricei extinse
(A b1 b2 . . .)
reducerea costurilor de calcul
aflarea inversei unei matrice
I. Luca

UPB

19/36

3. Metode de rezolvare/Algoritmul Gauss


Aflarea inversei unei matrice cu metoda Gauss-Jordan

Dac
a A, X, B Mn ( ), x1 , . . . , xn sunt coloanele lui X, iar b1 , . . . , bn
sunt coloanele lui B, atunci avem (verificati!)
AX = B Ax1 = b1 , . . . , Axn = bn
Astfel, daca A este inversabil
a, inversa A1 , ca solutie a ecuatiei
matriceale AX = I, se poate obtine rezolv
and sistemele
Ax1 = e1 , . . . , Axn = en ,
unde e1 , . . . , en sunt coloanele matricei unitate; solutiile x1 , . . . , xn
reprezinta coloanele lui A1 . Folosind algoritmul Gauss-Jordan pt
rezolvarea simultan
a a acestor sisteme obtinem A1 .
TPA Cu metoda Gauss-Jordan s
a se determine inversa matricei
2
1
1
2 1
A= 1
3 6
4
I. Luca

UPB

20/36

3. Metode de rezolvare/Algoritmul Gauss


Obs In rezolvarea computerizat
a a sistemelor liniare algoritmul Gauss
este modificat pt. a se lua n considerare
minimizarea erorilor de aproximare,
reducerea spatiului de memorie alocat rezolv
arii sistemului,
marirea vitezei de calcul.
TPA Fie sistemul
{

x+y =2
x + y = 1 ,

unde 0 <  105 . Rezolvati acest sistem utiliz


and algoritmul Gauss, o
dat
a cu primul pivot egal cu 1, iar apoi cu primul pivot egal cu .
Presupunand ca folositi un calculator care face calcule cu 3 zecimale
exacte, ce solutie a sistemului obtineti n fiecare caz? Deduceti de aici
importanta strategiei de pivotare n rezolvarea computerizata a
sistemelor liniare.
I. Luca

UPB

21/36

3. Metode de rezolvare/Descompunerea LU
c) Descompunerea LU (A. Turing 1948)
DEFINITIE
O matrice A Mm,n are descompunerea LU, dac
a
(i) A = LU, L Mm , U Mm,n
(ii) L este inferior triunghiular
a;
(iii) U este superior triunghiular
a.
n
m<n

m
=

m
A

m
L

I. Luca

UPB

22/36

3. Metode de rezolvare/Descompunerea LU
n
m=n

n
n
=

n
A

n
L
m

m>n

U
n

m
=

Obs Daca L are 1 pe diagonala principal


a factorizarea Doolittle
Dac
a U are 1 pe diagonala principal
a factorizarea Crout
Dac
a U = LT (necesar: m = n si A simetric
a) factorizarea Cholesky

I. Luca

UPB

23/36

3. Metode de rezolvare/Descompunerea LU
rezolvarea sistemului liniar atunci c
and A = LU:

Ly = b
Ax = b LUx = b

Ux = y

2 sist. triunghiulare

metoda de rezolvare n gen. mai eficient


a dec
at algoritmul Gauss
nu orice matrice poate fi factorizat
a LU; de exp. (verificati!),
(

0 1
)
1 0

C
and A = LU? Cum determin
am L si U?

I. Luca

UPB

24/36

3. Metode de rezolvare/Descompunerea LU
DEFINITIE
Matrice elementare obtinute din I cu una din operatiile R1R3:
Pli lj se aplic
a R1 liniilor li , lj
Eli se aplic
a R2 liniei li
Eli +lj se aplic
a R3 liniilor li , lj
Exemplu Pentru I M3 avem:
1 0 0
Pl2 l3 = 0 0 1 ,
0 1 0

1 0 0
El2 = 0 0 ,
0 0 1

I. Luca

UPB

1 0 0
El2 +l3 = 0 1 0
0 1

25/36

3. Metode de rezolvare/Descompunerea LU
Obs
Pli lj , ca si orice produs de astfel de matrice, s.n. matrice permutare;
matricele elementare sunt inversabile si (verificati!)
1

(Pli lj )1 = Pli lj , (Eli )1 = E li , (Eli +lj )1 = Eli +lj ;


n particular, inversele matricelor elementare sunt matrice
elementare;
daca P este matrice permutare, atunci P1 = PT ;
nmultirea la stanga a lui A cu o matrice elementara E este echivalent
a cu efectuarea asupra lui A a acelei operatii care l defineste pe E.

Algoritmul Gauss reformulat: orice matrice A poate fi transformat


a,
prin nmultire la st
anga cu matrice elementare E1 , . . . , Ep , ntr-o
matrice esalon linie U:
1
Ep . . . E1 A = U A = E1
1 . . . Ep U
I. Luca

UPB

()
26/36

3. Metode de rezolvare/Descompunerea LU
PROPOZITIE
Dac
a n ()
nici o matrice elementar
a E1 , . . . , Ep nu este o matrice permutare,
n Eli +lj avem i < j,
1
atunci E1
a. Dac
a, mai
1 . . . Ep L este matrice inferior triunghiular
mult, E1 , . . . , Ep se obtin cu R3, L are 1 pe diagonala principal
a.

pt obtinerea descompunerii LU a lui A:


se urmareste transformarea lui A n matrice esalon linie U folosind
numai operatia R3 cu i < j (aceasta genereaz
a Eli +lj cu i < j);
n L: pe diagonala principala avem 1, iar sub ea, Lji = , cu acel
din Eli +lj (motivati!).
PROPOZITIE
A Mn ( ) si toti determinantii principali de ordin n 1 ai lui A
sunt nenuli factorizarea Doolittle A = LU. Dac
a aceast
a
factorizare exist
a si det A =/ 0, ea este unic
a.

I. Luca

UPB

27/36

3. Metode de rezolvare/Descompunerea LU
Exemplu
1 2 0
A= 2 1 3
1 2 3

2 0
1
El1 +l3 E2l1 +l2 A = 0 3 3 U
0
0 3

2 0
1 0 0 1
A = E2l1 +l2 El1 +l3 U = 2 1 0 0 3 3 LU
1 0 1 0
0 3

TPA Obtineti urmatoarele factoriz


ari ale matricei A:
6 2 0
A = 9 1 1
3
7 5
1
6 0 0 1 3 0 1 0 0 6 2 0
2 1 LU
2 1 = 32 1 0 0
A = 9 1 0 0
3 4 1 0
0 1
0 1 12 4 1 0
I. Luca

UPB

28/36

3. Metode de rezolvare/Descompunerea LU
TPA Rezolvati urmatorul sistem cu metoda Gauss si apoi folosind
descompunerea LU

1 2 3 2
4 3 1 1
1 2 3 0

x
y
z
t

1

= 2 .

3

Obs (Alte avantaje ale descompunerii LU)


Dac
a A Mn ( ), A = LU si det A =/ 0, atunci

A = U L1 , iar U1 , L1 se determin
a cu algoritmul
Gauss-Jordan;
det A se calculeaza ca det A = det U = U11 . . . Unn .

I. Luca

UPB

29/36

3. Metode de rezolvare/Descompunerea LU
Variante ale descompunerii LU
descompunerea A = LDU
Daca U Mm,n este o matrice esalon linie f
ar
a linii nule, ea poate
fi scrisa ca U = DU , unde D Mm este matricea diagonala avand
pe diagonala pivotii 1 , . . . , m ai lui U, iar U este matrice esalon
linie cu pivotii egali cu 1 (U se obtine mp
artind liniile lui U cu
pivotii 1 , . . . , m ). De exp.:
2 0 6 2
0 0 1 1
0
3
2
0 3 3 9 = 0 3 0 0 1 1 3
0
0 3 12 0
0 3 0 0
1
4

U

Daca n fact. Doolittle A = LU matricea U nu are linii nule


I. Luca

UPB

30/36

3. Metode de rezolvare/Descompunerea LU
A = LU A = LDU descompunerea A = LDU,
unde L este matrice inferior triunghiular
a cu 1 pe diagonala
principal
a, U este matrice esalon linie cu toti pivotii egali cu 1
(U a fost notat U), iar D este matrice diagonal
a inversabil
a.
descompunerea A = LDLT

Dac
a A Mn ( ), A simetric
a si toti determinantii principali ai
lui A sunt nenuli A = LDU si U = LT A = LDLT ; mai
mult, descompunerea este unic
a.
(demonstrati folosind Prop. pag. 26 si descompunerea LDU)
Exemplu Are loc urm
atoarea descompunere LDLT :
0
0 1 4 5
1 4 5 1 0 0 1
4 2 6 = 4 1 0 0 14
0 0 1 1
5 6 3 5 1 1 0
0 8 0 0 1
I. Luca

UPB

31/36

3. Metode de rezolvare/Descompunerea PLU


d) Descompunerea PLU
Anumite matrice nu au descompunere LU. In acest caz exista
descompunerea A = PLU, unde P este o matrice permutare, L este
inferior triunghiular
a cu 1 pe diagonala principal
a, iar U este matrice
superior triunghiular
a (esalon linie). P se obtine astfel: permutam
liniile matricei A pt. ca factorizarea LU s
a fie posibila. Aceasta este
pt.
echivalent cu nmultirea la st
anga a lui A cu o matrice permutare P
T
= LU. De aici, A = P
LU PLU.
a obtine PA
Obs
Avantaj al descompunerii PLU:
Ax = b PLUx = b LUx = PT b 2 sist. triungh.
Descompunerea PLU se mai numeste descompunerea LU cu
pivotare
I. Luca

UPB

32/36

3. Metode de rezolvare/Descompunerea PLU


Exemplu Incercam sa aducem matricea
1 2 3 2
A= 1 2 3 0
4 3 1 1
la forma esalon linie. Aplic
am R3 astfel: l1 + l2 , 4l1 + l3 ; obtinem
2
3
2
1
0
0
0 2 .
0 5 11 7
In continuare este nevoie de o permutare Pl2 l3 (R1). Nu o executam, ci
ne ntoarcem la A si permut
am liniile l2 , l3 :
1 2 3 2
Pl2 l3 A = 4 3 1 1 .
1 2 3 0
I. Luca

UPB

33/36

3. Metode de rezolvare/Descompunerea PLU


Factorizarea Pl2 l3 A = LU este acum posibil
a:
2
3
2
1 0 0 1
Pl2 l3 A = 4 1 0 0 5 11 7 LU .
1 0 1 0
0
0 2
Astfel, A = PLU cu P = (Pl2 l3 )T :
2
3
2
1 0 0 1 0 0 1
A = 0 0 1 4 1 0 0 5 11 7
0 1 0 1 0 1 0
0
0 2
Obs Algoritmii care implementeaz
a eficient pe calculator
descompunera A = LU utilizeaz
a, printre altele, proprietati ale
matricelor elementare.
I. Luca

UPB

34/36

3. Metode de rezolvare/Anexa
Nr. operatii n diversi algoritmi
Metoda

Nr. nmultiri/mp
artiri

Nr. adun
ari/sc
aderi

Regula lui Cramer

(n + 1)!

(n + 1)!

Metoda Gauss

1 3
1
2
3n + n 3n
1 3
5
2
2n + n 2n + 2
3 3
1
2n + 2n 1

1 3
1 2
5
3n + 2n 6n
1 3
3
2n 2n + 1
3 3
1
2
2 n 2n 2 n

Metoda Gauss-Jordan
A1 cu Gauss-Jordan

In tabel:
determinantii din regula lui Cramer sunt calculati utilizand
definitia determinantului
regula lui Cramer, metodele Gauss si Gauss-Jordan se refera la un
sistem liniar n n
A Mn ( )

I. Luca

UPB

35/36

Bibliografie
Kenneth Kuttler: An Introduction to Linear Algebra
http:
//valle.fciencias.unam.mx/librosautor/Linearalgebra.pdf
David S. Watkins: Fundamentals of Matrix Computations,
Wiley-Interscience, 2002
Golub & Van Loan: Matrix Computation (3Rd Ed), The Johns
Hopkins University Press, 1996
George Em Karnadiakis, Robert M. Kirby II: Parallel Scientific
Computing in C++ and MPI, Cambridge University Press, 2003

I. Luca

UPB

36/36