sisteme de ecuatii liniare - users.utcluj.rousers.utcluj.ro/~ccosmin/sisteme.pdf · intreaga gama...
TRANSCRIPT
-
ANALIZA NUMERICA- SISTEME DE ECUATII LINIARE (http://bavaria.utcluj.ro/~ccosmin)
1
SISTEME DE ECUATII LINIARE
1. Introducere
Metodele de rezolvare a sistemelor de ecuatii liniare de forma (1) se grupeaza in generalin doua categorii: metode directe, bazate pe procedee de eliminare si metode indirecte(iterative).
====
nnnnnn
n
n
b
bb
x
xx
aaa
aaaaaa
.........
..................
2
1
2
1
21
22221
11211
(1)
BXA ==== (1')
Proprietatile pe care le ofera liniaritatea unei functii sau ecuatii sunt utilizate ca elementede baza pentru metodele de rezolvare bazate pe procedee de eliminare a necunoscutelor.Ecuatiile sistemului initial se pot multiplica prin constante si se combina cu ajutoruloperatiilor suplimentare obtinindu-se in final forme simplificate ale sistemului considerat.La alegerea unei metode de calcul, pentru rezolvarea unei anumite probleme pe un sistemde calcul dat, trebuie avute in vedere o serie de criterii cum ar fi: numarul secventelor decalcul, precizia rezultatelor, posibilitatea introducerii unor teste de precizie, secventiale,pe parcursul desfasurarii algoritmului.
In cadrul metodelor directe, care se considera a fi metode exacte, s-au impus metodelecare au la baza algoritmul de eliminare Gauss, cu variantele Gauss-Jordan, Doolitle,Crout si Cholesky.
Metodele exacte permit obtinerea solutiei exacte a sistemului de ecuatii facind abstractiede erorile de tip round-off ale sistemului de calcul, de erorile de rotunjire si trunchierefolosind un numar finit de operatii elementare.
In cadrul metodelor iterative s-au impus metodele Jacobi, Gauss-Seidl, metoda relaxarilorsuccesive si metoda Lanczos.
Metodele iterative se caracterizeaza prin faptul ca solutia sistemului considerat se obtineca limita a unui sir de valori ce reprezinta solutii pentru diverse iteratii succesive. Incadrul acestor metode, se pune problema de a alege acea metoda, care asigura cea maimare viteza de convergenta a solutiilor pentru o aproximare initiala adecvat aleasa.
Dintre metodele numerice directe, utilizate la rezolvarea sistemului de ecuatii algebriceneomogene se vor prezenta: metoda eliminarii directe Gauss, metoda factorizarii LU simetoda Cholesky.
-
ANALIZA NUMERICA- SISTEME DE ECUATII LINIARE (http://bavaria.utcluj.ro/~ccosmin)
2
2. Proceduri numerice de rezolvare a sistemelor de ecuatii liniare
Dintre metodele numerice directe, utilizate la rezolvarea sistemului de ecuatii algebriceneomogene se vor prezenta: metoda eliminarii directe Gauss, metoda factorizarii LU simetoda Cholesky, iar ca si metoda indirecta (iterativa) de rezolvare a sistemelor deecuatii liniare va fi prezentata metoda Jacobi.
2.1. Metoda eliminarii Gauss
In prima etapa numita triangularizare (substitutia inainte) se elimina succesiv in n-1 pasinecunoscutele xi, i=1,2,...n-1 din ecuatiile sistemului ceea ce are ca rezultat eliminareaelementelor situate sub diagonala principala a metricei A si transformarea acestora intr-omatrice superior triunghiulara.
In pasul 1 se obtine:
====
111
1
111
212
1
2
1
111
112
11
12
111
21212
11
2122
11211
.........0
............
...0
...
baab
baab
b
x
xx
aaaaa
aaa
aaaaa
aaa
aaa
nnnn
nnn
nn
nn
n
(2)
sau cu notatiile
(((( ))))
(((( ))))1
1111
1
11
1111 ,...2,1;,...3,2,
baabb
njjniaaaaa
iii
jiijij
====
================
(3)
rezulta:
(((( )))) (((( ))))
(((( )))) (((( ))))
(((( ))))
(((( ))))
====
1
12
1
2
1
112
12
122
11211
.........0
...............0...
nnnnn
n
n
b
bb
x
xx
aa
aaaaa
(4)
In pasul i-1 al eliminarii sistemul de ecuatii devine:
(((( )))) (((( )))) (((( ))))
(((( )))) (((( ))))
(((( )))) (((( ))))
(((( ))))
(((( ))))
(((( ))))
====
1
1
12
1
2
1
11
11
12
12
122
111211
...
...
...
...
......00..................
......00..................
......0
......
in
ii
n
i
inn
ini
iin
iii
ni
ni
b
b
bb
x
x
xx
aa
aa
aaaaaaa
(5)
sau in forma restrinsa:(((( ))))[[[[ ]]]] [[[[ ]]]] (((( ))))[[[[ ]]]]11 ==== ii BXA (6)
-
ANALIZA NUMERICA- SISTEME DE ECUATII LINIARE (http://bavaria.utcluj.ro/~ccosmin)
In pasul l se obtine(((( ))))[[[[ ]]]] [[[[ ]]]] (((( ))))[[[[ ]]]]ll BXA ==== (7)
cu(((( )))) (((( ))))
(((( ))))
(((( ))))(((( )))) (((( )))) (((( )))) (((( ))))
(((( )))) (((( ))))(((( ))))
(((( ))))(((( )))) (((( )))) (((( )))) (((( ))))1111
1
11
11111
11 ,...,1,,
========
++++============
ll
li
li
lll
ll
lill
il
i
llj
li
lij
lljl
ll
lill
ijl
ij
bmbbaabb
nljiamaaaaaa
(8)
In final dupa consumarea pasului n-1, sistemul este complet triangularizat:
(((( )))) (((( )))) (((( ))))
(((( )))) (((( ))))
(((( ))))
(((( ))))
(((( ))))
(((( ))))
====
1
23
12
1
3
2
1
1
23
233
12
123
122
1131211
.....................
nnn
nnn
n
n
n
b
bbb
x
xxx
a
aaaaaaaaa
(9)
sau utilizind o scriere simbolica:
[[[[ ]]]] [[[[ ]]]] [[[[ ]]]]'\ BXS0 ==== (10)ObservatieIn procesul de calcul automat, matricele succesive (((( ))))[[[[ ]]]]lA se construiesc in spatiul dememorie initial alolcat pentru matricea [[[[ ]]]]A . Procedeul se prezinta algoritmat in formaurmatoare:
3
ljiijij
liii
ll
ili
amaa
nlj
bmbb
aam
nlinl
====
++++====
====
====
++++========
,...,1
,...,11,...,2,1
-
ANALIZA NUMERICA- SISTEME DE ECUATII LINIARE (http://bavaria.utcluj.ro/~ccosmin)
Pentru determinarea solutiei sistemului (1) are loc un proces de eliminare inversa(substitutia inapoi) care poate fi descris astfel:
(((( ))))
(((( ))))
(((( ))))(((( ))))
(((( ))))
(((( )))) (((( ))))(((( ))))
(((( )))) 1,...,3,2,...
...
11
11,1
,1
21,1
2,12
11
1
1
====
====
====
====
++++
++++
nnia
xaxabx
axa
bx
abx
iii
iiii
nini
iii
nnn
nn
nnnnn
nnn
nn
n
(11)
respectiv in forma algoritmica:
in care ija sunt elemen
In concluzie, in urma matrice S superior triunesingulara, iar elemefiecare pas al eliminmatricii A este dat de p
2.2. Descompunerea L
O modificare a metofrecvent utilizata. In aprodus de doua matrimatricea superior triunmatrice poate fi scrisatriunghiulara L si a intreaga gama de pocontinuare va fi exemp
====
====
====
++++====
n
ijjijiiii
nnnn
xabax
nnibax
1
1
1
1,...,2,1
4
te ale matricii triunghiulare S iar ib elementele matricii B'.
aplicarii unei eliminari Gauss dupa n-1 etape de calcul se obtine onghiulara, asociata sistemului (1) cu conditia ca matricea A sa fientele transformate de pe diagonala principala sa rezulte nenule inarii: (((( )))) 0liia , i=1,2,...,n; l=1,2,...,n-1. Valoarea determinantuluirodusul elementelor de pe diagonala principala a matricii S:
(((( )))) (((( )))) (((( )))) (((( )))) (((( ))))123312211 ...detdet ======== nnnaaaaSA (12)
U
dei eliminarii, numita descompunerea sau factorizarea LU esteceasta metoda, matricea coeficientilor A este tranformata intr-unci L si U unde L este matricea inferior triunghiulara si U esteghiulara avind elemente egale cu 1 pe diagonala principala. Orice ca produsul unei matrici a permutarilor P a unei matrice inferioruneia superior triunghiulara U, intr-o infinitate de moduri. Dinsibilitati vom alege varianta in care U are 1 pe diagonala.Inlificata aplicarea metodei in cazul unei matrici de dimensiuni 4x4.
-
ANALIZA NUMERICA- SISTEME DE ECUATII LINIARE (http://bavaria.utcluj.ro/~ccosmin)
5
Fie urmatoarea descompunere a matricii A in produsul a doua matrice L si U:
====
44434241
34333231
24232221
14131211
34
2423
141312
44434241
333231
2221
11
1000100
101
000000
aaaaaaaaaaaaaaaa
uuuuuu
lllllll
lll
(13)
Inmultind liniile lui L cu prima coloana a lui U:4141313121211111 ;;; alalalal ================ (14)
Inmultind prima linie a lui L cu coloanele a lui U:;;; 141411131311121211 aulaulaul ============ (15)
de unde
11
1414
11
1313
11
1212 ;; l
aulau
lau ============ (16)
In aceasta metoda se alterneaza gasirea unei coloane a lui L si a unei linii a lui U, astfelca urmeaza gasirea urmatoarei coloane a lui L, prin inmultirea liniilor lui L cu cu coloanaa doua a lui U:
423222
424212413232123122221221
,,
;;
lllalulalulalul
====++++====++++====++++ (17)
Procedind analog obtinem in continuare:
3443244214414444
33
243214313434
234213414343233213313333
22
14212424
22
13212323
;
;
ulululall
ululau
ululalululall
ulaul
ulau
====
====
========
========
(18)
Formulele generale pentru obtinerea elementelor matricelor L si U sunt:
njjil
ulau
niijulal
ii
i
kkjikij
ij
j
kkjikijij
,...,3,2,,
,...,2,1,;
1
1
1
1
====>>>>
====
========
====
====
(19)
Pentru j=1, 11 ii al ==== si pentru. i=1, 11
1
11
11 a
alau jij ======== (20)
-
ANALIZA NUMERICA- SISTEME DE ECUATII LINIARE (http://bavaria.utcluj.ro/~ccosmin)
6
Observatie: Stocarea matriciiDeoarece matricele L si U pot fi stocate in zona rezervata matricei A aceasta metoda estecunoscuta si sub denumirea de schema compacta:
====
nnnn
n
n
nnnn
n
n
lll
ulluul
aaa
aaaaaa
...............
...
...
...............
...
...
21
22221
11211
21
22221
11211
A (21)
Rezolvarea sistemului de ecuatii
[[[[ ]]]][[[[ ]]]] [[[[ ]]]]BX ==== dupa factorizare [[[[ ]]]][[[[ ]]]][[[[ ]]]] [[[[ ]]]]BXUL ====Notam [[[[ ]]]][[[[ ]]]] [[[[ ]]]]'BXU ====Atunci avem:[[[[ ]]]][[[[ ]]]] [[[[ ]]]] [[[[ ]]]]'' BBBL ==== prin substitutie inainte dupa care cu B' cunoscut, prin
substitutie inapoi obtinem[[[[ ]]]][[[[ ]]]] [[[[ ]]]] [[[[ ]]]]XBXU ==== '
Un avantaj special al metodei factorizarii LU este posibilitatea rezolvariisistemului cu mai multe coloane de termeni liberi cu o mare economie de efort de calcul.De retinut ca spre deosebire de cazul clasic al eliminarii Gauss, in care termenii liberitrebuiau cunoscuti in avans, in aceasta metoda nu este necesar sa cunoastem acesti vectoriin momentul reducerii la forma LU. Numarul operatiilor aritmetice necesare aflariisolutiei pentru fiecare nou termen liber, este exact numarul operatiilor necesar efectuariiinmultirii dintre o matrice nxn cu un vector de n dimensiuni.
2.3 Factorizarea Cholesky
In cazul matricelor simetrice (A=AT) si pozitiv definite ( 0>>>>AXXT , pentru oricevector X nenul) una dintre cele mai eficiente metode de rezolvare a sistemelor liniare estefactorizarea Cholesky. Metoda consta in descompunerea matricei A in L si LT astfel incitA=LLT unde L este matrice inferior triunghiulara. Aceasta descompunere se poate facepentru orice matrice A simetrica si pozitiv definita:
TLLA ==== (22)
====
nnnin
iiii
lll
lll
nuleelementelll
.........
...........................
1
21
2221
11
L (23)
-
ANALIZA NUMERICA- SISTEME DE ECUATII LINIARE (http://bavaria.utcluj.ro/~ccosmin)
7
Elementele matricei L se obtin in functie de cele ale matricei A prin identificarea termencu termen a rezolvarii produsului matrceal (22). Se obtin urmatoarele relatii de recurenta:
(((( )))) jiljilllal
jilal
lalal
ijjj
j
lljliijij
i
liiiiii
ii
>>>>
====
====
-
ANALIZA NUMERICA- SISTEME DE ECUATII LINIARE (http://bavaria.utcluj.ro/~ccosmin)
8
Observatie:Remarcabil este faptul ca in factorizarea Cholesky vectorul B nu este afectat si inconsecinta matricea L o data obtinuta poate fi utilizata si pentru alte situatii, vectori liberidiferiti.
2.4 Metoda iterativa Jacobi de rezolvare a sistemelor de ecuatii liniare
In principiu metodele iterative constau in considerarea unei valori initiale (((( ))))0X pentruvectorul solutie X si apoi prin aplicarea unui algoritm de calcul iterativ se determina unsir de aproximatii succesive (((( )))) (((( )))) (((( ))))kXXX ...,,, 21 care in principiu trebuie sa conveargacatre solutia exacta a sistemului.
Fie sistemul de ecuatii: AX=b:
====++++++++++++++++
====++++++++++++++++
====++++++++++++++++====++++++++++++++++
nnnnnnn
ininiii
nn
nn
bxaxaxaxa
bxaxaxaxa
bxaxaxaxabxaxaxaxa
......
......
......
332211
332211
22323222121
11313212111
(30)
Explicitind din fiecare relatie a sistemului (30) pe xi i=1,2,...,n obtinem urmatorul set derelatii:
====
====
====
11
22
11
22
23
22
231
22
21
22
22
11
13
11
132
11
12
11
11
...
...
...
...
nnn
nn
nn
n
nn
n
nn
nn
nn
nn
xa
axaax
aa
abx
xaax
aax
aa
abx
xaax
aax
aa
abx
(31)
si care poate fi rescris in forma matriceala astfel:
++++
====
n
i
nnnnn
iniii
n
n
n
i
n
i
x
x
xx
mmmm
mmmm
mmmmmm
g
g
gg
x
x
xx
...
...
0.....................
...0.....................
......0
......0
...
...
...
...2
1
1,321
321
22321
11312
2
1
2
1
(32)
unde ii
ijij
ii
ii a
am
abg ======== ; .
-
ANALIZA NUMERICA- SISTEME DE ECUATII LINIARE (http://bavaria.utcluj.ro/~ccosmin)
9
Calculele se pot conduce matriceal considerind relatia (32) scrisa sub forma condensata:
MXgX ++++==== (33)gasind simultan la fiecare iteratie aproximatiile tuturor necunoscutelor. Considerindvectorul de pornire:
(((( ))))(((( )))) (((( )))) (((( )))) (((( )))) (((( ))))(((( ))))0002010 ...... niT xxxx====X (34)dupa prima iteratie gasim:
(((( )))) (((( ))))01 MXgX ++++==== (35)apoi:
(((( )))) (((( ))))
(((( )))) (((( ))))mm MXgX
MXgX
++++====
++++====
++++1
12
.... (36)
Relatiile (36) se mai pot scrie astfel:
(((( )))) (((( ))))
(((( )))) (((( )))) (((( ))))(((( )))) (((( )))) (((( ))))(((( )))) (((( )))) (((( )))) (((( ))))(((( )))) (((( )))) (((( ))))
(((( )))) (((( )))) (((( ))))0121
0320223
02012
01
......
XMgMMMIX
XMgMMIXMgMIMgMXgXXMgMIMXgMgMXgX
MXgX
++++++++ ++++++++++++++++++++====
++++++++++++====++++++++++++====++++====
++++++++====++++++++====++++====
++++====
mmm
(37)
Cum procesul iterativ, daca e convergent, nu trebuie sa depinda de vectorul de pornireX(0), va rezulta ca:
0M ====++++
1lim mn
(38)
adica matricea M trebuie sa fie convergenta, sa ca 1
-
ANALIZA NUMERICA- SISTEME DE ECUATII LINIARE (http://bavaria.utcluj.ro/~ccosmin)
10
3. Conditionarea sistemelor de ecuatii liniare
Sistemele de de ecuatii liniare pot fi bine conditionate (cu solutie stabila) si rauconditionate (cu solutie instabila). Stabilitatea solutiei se judeca in raport cu miciperturbatii ale vectorului liber. Daca la modificari nesemnificative ale termenului liber,solutia sistemului se modifica in aceeasi masura, atunci sistemul este bine conditionat,avind solutie stabila; daca solutia se modifica esential, sistemul este rau condtionat si aresolutie instabila.
Un sistem este rau conditionat pentru o operatie determinata, efectuata printr-o metodadeterminata, atunci cind aceasta sensibilitate este mare. Aceasta definitie introducedistinctia intre doua tipuri de de conditionare: un sistem poate fi rau conditionat pentru ometoda particulara sau rau conditionat pentru o operatie particulara, oricare ar fi metodafolosita.
Sa consideram sistemul:bXA ==== (41)
Fie rbb ++++====' si eXX ++++====' unde r reprezinta vectorul care produce perturbarea iar e estevectorul perturbarii solutiei.Avem:
'' bXAbXA
========
(42)
care mai poate fi rescris: (((( )))) bbXXA ==== '' (43)
saurAe ==== (44)
eArrAerAe
XAbbAXbAX
====
====
;;
;;11
11
(45)
sau:
ebAArX
rXAAeb
1
1
(46)
Din (46) rezulta
1
1
1
AArXeb
AArXeb
(47)
sautinind cont ca (((( ))))AAA cond1 ==== numit numarul de conditie a matricii A obtinem:
(((( )))) (((( )))) br
Xe
br
AA
condcond
1 (48)
-
ANALIZA NUMERICA- SISTEME DE ECUATII LINIARE (http://bavaria.utcluj.ro/~ccosmin)
11
Relatia (48) poate furniza informatii asupra stabilitatii sistemelor de ecuatii liniare. Astfeldaca matricea A a sistemului are numarul de conditie cond(A) 1 atunci modificarea
solutiei exprimata prin Xe
este de acelasi ordin de marime ca si modificarea in termenul
liber definit de br
. Altfel spus daca mici modificari se produc in termenul liber, solutia
se modifica si ea in aceeasi masura. Sistemele cu matricea coeficientilor A avind numarulde conditie cond(A) mic sunt sisteme bine conditionate, stabile in solutie.
Exemplu numeric
Fie sistemul de ecuatii:
========
40.240.360.135.242.357.1
yxyx
(49)
ale carei solutii x=1.64, y=0.060 au fost obtinute efectuindu-se calculele cu trei cifresemnificative. Sistemul este slab conditionat deoarece modificari neinsemnate alecoeficientilor produc variatii mari ale solutiilor. Afirmatia este ilustrata grafic in Fig. 1.
Fig. 1
O imbunatatire a conditionarii se obtine daca se scade prima ecuatie din cea de a doua sirezultatul se multiplica cu 100:
========++++
40.240.360.10.504.20.3
yxyx
(50)
Solutiile acestui nou sistem x=1.63, y=0.06 sunt putin diferite de ale celui precedent, darmodificarile coeficientilor nu le influenteaza in mod insemnat (Fig. 2).
-2
0
2
4
6
8
10
12
14
16
0 5 10 15 20 25 30 35
X
Y
1.57x-3.42y=2.351.6x-3.40y=2.40
-
ANALIZA NUMERICA- SISTEME DE ECUATII LINIARE (http://bavaria.utcluj.ro/~ccosmin)
12
Fig. 2
-50
-40
-30
-20
-10
0
10
20
0 5 10 15 20 25 30 35
X
Y 3.0x+2.04y=5.01.6x-3.40y=2.4