Documente Academic
Documente Profesional
Documente Cultură
k
Ak = 0
ik
n
|
k
Fig. 2.1 Principiul triangularizării cu pivotare parţială a unei matrice: pivotul se
găseşte în coloana k, liniile k ÷ n; k=1,...,n
Dacă i k ≠ k , elementul maxim în modul nu se găseşte pe diagonala
principală, atunci se interschimbă (permută) liniile k şi i k . Lucrul acesta se
realizează automat cu ajutorul unei matrice de permutare de linii Pk care
multiplică la stânga matricea A k : Pk ⋅ A k . Pentru matricea care rezultă astfel,
se determină apoi matricea de transformare M k ca şi în cazul traingularizării
simple, obţinând matricea:
A k +1 = M k ⋅ (Pk ⋅ A k ) .
În felul acesta, multiplicatorii calculaţi sunt subunitari în modul
| µ i,k |≤ 1, i = k + 1,..., n , iar algoritmul triangularizării devine stabil numeric.
Matricea M k ⋅ Pk se numeşte matrice de transformare elementară stabilizată.
36 2. Sisteme determinate de ecuaţii algebrice liniare
Teoremă:
Dacă matricea A ∈ ℜ n×n este nesingulară, atunci există o matrice P ∈ ℜ n×n ,
numită matrice generală de permutare de linii, astfel încât:
P ⋅ A = L' ⋅ U ,
în care U este o matrice superior triunghiulară şi L' este o matrice inferior
triunghiulară unitate. cu elementele | l i , j |≤ 1, i > j .
Demonstraţia acestei teoreme este constructivă, constituind însuşi algoritmul
de triangularizare cu pivotare parţială a unei matrice. Se poate face observaţia
că matricea L' conţine în coloana k, sub elementul de pe diagonala principală,
subvectorul Gauss (de la triangulaizarea simplă) având liniile permutate.
Algoritmul de triangularizare cu pivotare parţială este următorul:
atribuie A 1 ← A
pentru k = 1, n − 1 execută
* determinare pivot ξ k ← a [i kk ],k astfel încât | a [i kk ],k |= max{| a [i ,kk] |}
k ≤i ≤ n
dacă (i k ≠ k ) atunci
* determină Pk
altfel
atribuie Pk ← I n
* calcul Pk ⋅ A k
* determinare matrice M k astfel încât matricea
A k +1 = M k ⋅ (Pk ⋅ A k ) să îndeplinească condiţiile de la
triangularizarea simplă
atribuie A k +1 ← M k ⋅ (Pk ⋅ A k )
atribuie U ← A n
(M n −1 ⋅ Pn −1 ⋅ K ⋅ M 1 ⋅ P1 ⋅ P1 ⋅ P2 ⋅ K ⋅ Pn −1 ) ⋅ (Pn −1 ⋅ K ⋅ P2 ⋅ P1 ) ⋅ A = U (2.2)
Exemplul 2.3:
38 2. Sisteme determinate de ecuaţii algebrice liniare
Dacă acest element nu se află în linia şi/sau coloana k, atunci are loc
permutarea adecvată de linii şi/sau coloane în scopul aducerii acelui element pe
diagonala principală, anume în linia k şi coloana k.
k
Ak = 0
ik
n
| |
k jk
2.4 Rezolvarea sistemelor prin triangularizare cu pivotare totală (nu intră
la examen) 39
dacă (i k ≠ k ) atunci
* determinare Pk (permutarea liniilor i k şi k)
altfel
atribuie Pk ← I n
dacă ( j k ≠ k ) atunci
* determinare S k (permutarea coloanelor j k şi k)
altfel
atribuie S k ← I n
atribuie A 'k +1 ← Pk ⋅ A k ⋅ S k
40 2. Sisteme determinate de ecuaţii algebrice liniare
P ⋅ A ⋅ S ⋅ S −1 ⋅ x = P ⋅ b . (2.5)
Observaţii:
1) Permutările de linii efectuate asupra matricei A implică permutări de linii
asupra termenului liber b .
2) Permutările de coloane efectuate asupra matricei A implică permutări de linii
în soluţia calculată a sistemului z .
3) Triangularizarea cu pivotare totală asigură, la fiecare iteraţie a sa, pivoţii cei
mai mari în valoare absolută. Astfel, multiplicatorii vor fi subunitari în
modul, de valoarea cea mai mică posibil, | µ i,k |≤ 1 , iar elementele care se
transformă devin:
a [i,kj+1] ← a [i,kj] − µ i,k ⋅ a [kk, ]j , j = k ,..., n; i = k + 1,..., n .
Ca urmare, triangularizarea cu pivotare totală reprezintă procedura de
triangularizare cea mai precisă şi stabilă numeric. Dezavantajul ei este acela
că necesită un timp de calcul mai mare. De regulă, se foloseşte
triangularizarea cu pivotare parţială, recurgându-se la triangularizarea cu
pivotare totală numai când cea parţială eşuează.
4) Dacă A este o matrice singulară, atunci pivotarea totală va eşua. În
aritmetica reală exactă aceasta corespunde situaţiei când pivotul este nul,
matricea A având rangul egal cu k-1, daca algoritmul eşuează la iteraţia k. În
aritmetica în virgulă mobilă, datorită erorilor de rotunjire, un pivot nul
înseamnă îndeplinirea condiţiei:
| a [i kk ], jk |≤ ε ,
şi se spune că matricele A, ca şi A k , sunt algoritmic singulare.
5) Dacă matricea A este diagonal dominantă pe linii şi pe coloane şi în plus
elementele de pe diagonală satisfac relaţiile:
| a 11 |≥| a 22 |≥ K ≥| a nn | ,
atunci descompunerea L' -U cu pivotare totală este:
P ⋅ A ⋅ S = L' ⋅ U; unde : P = I n ; S = I n .
42 2. Sisteme determinate de ecuaţii algebrice liniare
b = b1 + i ⋅ b 2 , b1 , b 2 ∈ ℜ n×1 , (2.15)
z = z 1 + i ⋅ z 2 , z 1 , z 2 ∈ ℜ n×1 .
Înlocuind relaţiile (2.15) în (2.14) se obţine:
(A1 + i ⋅ A 2 ) ⋅ (z 1 + i ⋅ z 2 ) = b1 + i ⋅ b 2 .
Efectuând calculele se obţine:
(A1 ⋅ z 1 − A 2 ⋅ z 2 ) + i ⋅ (A 2 ⋅ z 1 + A 1 ⋅ z 2 ) = b1 + i ⋅ b 2 . (2.16)
Din relaţia (2.16), identificând partea reală şi partea imaginară pentru cei doi
membri ai egalităţii, se obţine:
A 1 ⋅ z 1 − A 2 ⋅ z 2 = b1 ,
A 2 ⋅ z1 + A1 ⋅ z 2 = b 2 ,
ceea ce se poate scrie sub formă matricială astfel:
46 2. Sisteme determinate de ecuaţii algebrice liniare
A1 M − A 2 z 1 b1
L
L L ⋅ L = L . (2.17)
A 2 M A 1 z 2 b 2
A1 M − A2 z1
Notând cu C matricea de blocuri L L L , cu x vectorul L şi cu
A 2 M A 1 z 2
b1
d vectorul L , relaţia (2.17) se reduce la:
b 2
C⋅x = d. (2.18)
Rezolvând sistemul (2.18), se obţine o soluţie care se poate rescrie sub forma:
x = [x 1 K x n M x n +1 K x 2⋅n ] T ,
iar soluţia sistemului complex este:
z = [ x 1 K x n ]T + i ⋅ [ x n +1 K x 2⋅n ] T .