Você está na página 1de 7

6.1.

Metode directe de rezolvare numeric a sistemelor liniare 75


6.1.4.4 Sisteme de ecuaii liniare cu matrice tridiagonal
Deniia 6.1.4.4. Printr-o matrice tridiagonal nelegem o matrice care are elemente
nenule pe diagonala principal i pe cele dou codiagonale imediat vecine acesteia. Prin
urmare avem o matrice tridiagonal, dac are urmtoarea form:
A =
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
b
1
c
1
a
2
b
2
c
2
0
.
.
.
.
.
.
.
.
.
a
i
b
i
c
i
0
.
.
.
.
.
.
.
.
.
a
n1
b
n1
c
n1
a
n
b
n
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
Vrem s aplicm pentru o matrice tridiagonal A metoda descompunerii LU (vezi
paragraful 6.1.4.1) numai c n acest caz pe diagonala matricii superior triunghiulare U
vom xa un ir de unu. Alegem:
L =
_
_
_
_
_
_
_
_
_
_
_
_
_
t
1
p
2
t
2
0
.
.
.
.
.
.
.
.
.
p
i
t
i
0
.
.
.
.
.
.
p
n
t
n
_
_
_
_
_
_
_
_
_
_
_
_
_
i U =
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
1 s
1
1 s
2
.
.
.
.
.
.
0
1 s
i
.
.
.
.
.
.
0 1 s
n1
1
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
i din egalitatea A = L U prin identicarea elementelor corespunztoare vom obine:
Pentru prima linie din L avem:
1. dac se nmulete prima linie din L cu prima coloan din U atunci: t
1
1 = b
1
;
2. dac se nmulete prima linie din L cu a doua coloan din U atunci: t
1
s
1
+01 = c
1
;
Pentru liniile i = 2, n 1 din L avem:
coloanele i 1 i
L =
_
_
_
_
_
.
.
.
.
.
.
0 . . . 0 p
i
t
i
0 . . . 0
.
.
.
.
.
.
_
_
_
_
_
linia i
76 6. Sisteme de ecuaii liniare
coloanele i 1 i i + 1
U =
_
_
_
_
_
_
_
_
_
_
.
.
.
.
.
.
.
.
.
1 s
i1
.
.
.
1 s
i
1 s
i+1
.
.
.
.
.
.
_
_
_
_
_
_
_
_
_
_
liniile
i 1
i
i + 1
3. dac se nmulete linia i din L cu coloana i 1 din U atunci: p
i
1 + t
i
0 = a
i
;
4. dac se nmulete linia i din L cu coloana i din U atunci: p
i
s
i1
+ t
i
1 = b
i
;
5. dac se nmulete linia i din L cu coloana i + 1 din U atunci: p
i
0 + t
i
s
i
= c
i
;
Pentru ultima linie din L avem:
6. dac se nmulete ultima linie a lui L cu penultima coloan a lui U atunci: p
n
1 +
t
n
0 = a
n
;
7. dac se nmulete ultima linie a lui L cu ultima coloan a lui U atunci: p
n
s
n1
+
t
n
1 = b
n
.
Prin urmare rezult egalitile:
t
1
= b
1
; t
1
s
1
= c
1
;
pentru i = 2, n 1 avem p
i
= a
i
;
p
i
s
i1
+ t
i
= b
i
;
t
i
s
i
= c
i
;
p
n
= a
n
;
p
n
s
n1
+ t
n
= b
n
.
Astfel deducem urmtoarele formule pentru calculul elementelor necunoscute ale matri-
cilor L i U : Pentru i = 2, n avem p
i
:= a
i
. Mai departe t
1
:= b
1
i s
1
:=
c
1
t
1
, dac
t
1
= 0. Pentru i = 2, n 1 avem t
i
:= b
i
p
i
s
i1
i s
i
:=
c
i
t
i
, dac t
i
= 0. n nal:
t
n
:= b
n
p
n
s
n1
.
Teorema 6.1.4.4. Dac matricea tridiagonal A este nesingular (det(A) = 0), atunci
exist descompunerea particular LU de mai sus.
6.1. Metode directe de rezolvare numeric a sistemelor liniare 77
Demonstraie. Din egalitatea: det(A) = det(L U) = det(L) det(U) = t
1
t
2

. . . t
n
1 1 . . . 1 = t
1
t
2
. . . t
n
avem det(A) = 0 dac i numai dac t
i
= 0 pentru
orice i = 1, n. Dar aceste condiii ne asigur existena formulelor pentru calculul lui s
i
,
_
s
i
=
c
i
t
i
, i = 1, n 1
_
.
Program matrice tridiagonal
Datele de intrare: A, adic a
i
pentru i = 2, n;
b
i
pentru i = 1, n;
c
i
pentru i = 1, n 1;
Pentru i = 2, n execut: p
i
= a
i
;
t
1
:= b
1
; s
1
:=
c
1
t
1
;
Pentru i = 2, n 1 execut
t
i
:= b
i
p
i
s
i1
;
s
i
:=
c
i
t
i
;
t
n
:= b
n
p
n
s
n1
;
Tiprete: L i U (adic p
i
pentru i = 2, n;
t
i
pentru i = 1, n;
s
i
pentru i = 1, n 1).
n continuare vrem s rezolvm sistemul liniar Ax = d, unde A este o matrice tridiago-
nal de ordinul n cu det(A) = 0, d =
_
_
_
_
_
_
_
d
1
d
2
.
.
.
d
n
_
_
_
_
_
_
_
R
n
este vectorul dat al termenului liber
iar x =
_
_
_
_
_
_
_
x
1
x
2
.
.
.
x
n
_
_
_
_
_
_
_
R
n
este coloana necunoscutelor. Rezolvarea numeric a sistemului
A x = d vom face prin metoda descompunerii particulare LU a matricii tridiagonale A.
78 6. Sisteme de ecuaii liniare
Prin urmare: A x = d LUx = d
_

_
Ly = d
Ux = y
. Avem de rezolvat Ly = d, adic
_
_
_
_
_
_
_
_
_
_
_
_
_
t
1
p
2
t
2
0
.
.
.
.
.
.
p
i
t
i
0
.
.
.
.
.
.
p
n
t
n
_
_
_
_
_
_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_
_
_
_
_
_
y
1
y
2
.
.
.
y
i
.
.
.
y
n
_
_
_
_
_
_
_
_
_
_
_
_
_
=
_
_
_
_
_
_
_
_
_
_
_
_
_
d
1
d
2
.
.
.
d
i
.
.
.
d
n
_
_
_
_
_
_
_
_
_
_
_
_
_
deci
_

_
t
1
y
1
= d
1
p
2
y
1
+ t
2
y
2
= d
2
.
.
.
p
i
y
i1
+ t
i
y
i
= d
i
.
.
.
p
n
y
n1
+ t
n
y
n
= d
n
de unde: y
1
=
d
1
t
1
; y
2
=
d
2
p
2
y
1
t
2
; . . . ; y
i
=
d
i
p
i
y
i1
t
i
; . . . ; y
n
=
d
n
p
n
y
n1
t
n
, adic:
y
1
=
d
1
t
1
i pentru i = 2, n avem:
y
i
:=
d
i
p
i
y
i1
t
i
. (6.1)
Considerm sistemul: Ux = y, adic
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
1 s
1
1 s
2
.
.
.
.
.
.
0
1 s
i
0
.
.
.
.
.
.
1 s
n1
1
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_
_
_
_
_
_
x
1
x
2
.
.
.
x
i
.
.
.
x
n
_
_
_
_
_
_
_
_
_
_
_
_
_
=
_
_
_
_
_
_
_
_
_
_
_
_
_
y
1
y
2
.
.
.
y
i
.
.
.
y
n
_
_
_
_
_
_
_
_
_
_
_
_
_
6.1. Metode directe de rezolvare numeric a sistemelor liniare 79
deci:
_

_
1 x
1
+ s
1
x
2
= y
1
1 x
2
+ s
2
x
3
= y
2
.
.
.
1 x
i
+ s
i
x
i+1
= y
i
.
.
.
1 x
n1
+ s
n1
x
n
= y
n1
1 x
n
= y
n
,
adic:
_

_
x
n
= y
n
x
n1
+ s
n1
x
n
= y
n1
.
.
.
x
i
+ s
i
x
i+1
= y
i
.
.
.
x
2
+ s
2
x
3
= y
2
x
1
+ s
1
x
2
= y
1
,
care are soluia, conform unui sistem inferior triunghiular:
_

_
x
n
= y
n
x
n1
= y
n1
s
n1
x
n
.
.
.
x
i
= y
i
s
i
x
i+1
.
.
.
x
2
= y
2
s
2
x
3
x
1
= y
1
s
1
x
2
,
deci: x
n
= y
n
i pentru i = n 1, 1 avem formulele
x
i
:= y
i
s
i
x
i+1
. (6.2)
Combinnd metoda descris la Program matrice tridiagonal cu formulele (6.1) i (6.2)
obinem:
80 6. Sisteme de ecuaii liniare
Program 2 matrice tridiagonal
Datele de intrare: A, adic a
i
pentru i = 2, n;
b
i
pentru i = 1, n;
c
i
pentru i = 1, n 1;
i d, adic d
i
pentru i = 1, n.
t
1
:= b
1
; s
1
:=
c
1
t
1
; y
1
:=
d
1
t
1
;
Pentru i = 2, n 1 execut:
t
i
:= b
i
a
i
s
i1
;
s
i
:=
c
i
t
i
;
y
i
:=
d
i
a
i
y
i1
t
i
;
t
n
:= b
n
a
n
s
n1
; x
n
:=
d
n
a
n
y
n1
t
n
;
Pentru i = n 1, 1 execut:
x
i
:= y
i
s
i
x
i+1
.
Tiprete: x, adic x
i
pentru i = 1, n.
6.2 Norme vectoriale i matriciale
Considerm spaiul R
n
i orice norm denit pe acest spaiu o vom denumi norm
vectorial. S reamintim axiomele normei: norma : R
n
R este o funcie care
veric axiomele:
1. x + y x +y pentru orice x, y R
n
;
2. x = || x pentru orice R
n
i orice x R
n
;
3. x 0 pentru orice x R
n
i x = 0 dac i numai dac x =
R
n.
n continuare dm exemple de norme vectoriale:
1. norma euclidian: x
2
=
_

n
i=1
x
2
1
, unde x = (x
1
, x
2
, . . . , x
n
) R
n
;
2. norma maximum: x

= max{|x
i
| | i = 1, n}, unde x = (x
1
, x
2
, . . . , x
n
) R
n
;
3. norma octaedric: x
1
=

n
i=1
|x
i
|, unde x = (x
1
, x
2
, . . . , x
n
) R
n
.
6.2. Norme vectoriale i matriciale 81
Lsm pe seama cititorului s verice axiomele normei pentru aceste norme particulare. O
generalizare natural a acestor norme ar norma dat de formula: x
p
=
_
n

i=1
|x
i
|
p
_
1/p
,
unde p [1, +] este un numr real xat sau simbolul +, iar x = (x
1
, x
2
, . . . , x
n
) R
n
.
n cazul p = + dm urmtoarea interpretare:
x

= lim
p+
_
n

i=1
|x
i
|
p
_
1/p
= max{|x
i
| / i = 1, n}.
Menionm faptul c pe spaiul R
n
oricare dou norme vectoriale sunt compatibile, adic
oricare ar o norm vectorial pe R
n
exist constantele c
1
, c
2
> 0 astfel nct
c
1
x
2
x c
2
x
2
pentru orice x R
n
.
Considerm spaiul linear al matricelor cu elemente numere reale avnd m linii i n
coloane, notat cu M
mn
(R).
O norm, : M
mn
(R) R denit pe spaiul linear M
mn
(R) o vom numi norm
matricial, i se denete cu aceleai axiome:
1. A + B A +B pentru orice A, B M
mn
(R);
2. A = || A pentru orice R i orice A M
mn
(R);
3. A 0 pentru orice A M
mn
(R) i A = 0 dac i numai dac A = O
mn
,
unde cu O
mn
am notat matricea nul cu m linii i n coloane.
Un exemplu de norm matricial ar :
A =

_
m

i=1
n

j=1
a
2
ij
, unde A = (a
ij
)
i=1,m
j=1,n
M
mn
(R).
Lsm pe seama cititorului s verice axiomele normei pentru acest exemplu.
Dac m = n atunci avem matricile ptratice de ordinul n cu elemente reale, notate
simplu cu M
n
(R) n loc de M
nn
(R). n acest caz mai adugm i urmtoarea
axiom la axiomele normei matriciale:
4. A B A B pentru orice A, B M
n
(R).
Lsm pe seama cititorului s verice valabilitatea acestei axiome pentru norma
matricial
A =

_
n

i,j=1
a
2
ij
, unde A = (a
ij
)
i,j=1,n
.

Você também pode gostar