Documente Academic
Documente Profesional
Documente Cultură
Calculul valorilor si
vectorilor proprii
Valorile si vectorii proprii joaca un rol fundamental n descrierea matematica a unor
categorii foarte largi de procese tehnice, economice, biologice etc. Astfel, proprietat i
esent iale (cum este, e.g. stabilitatea) ale modelelor matematice cunoscute sub denu-
mirea de sisteme dinamice se exprima n raport cu valorile proprii ale unor matrice.
In acest context, calculul cat mai ecient si mai exact al valorilor si vectorilor proprii
se impune cu necesitate.
Cadrul cel mai natural de abordare a problemei este cel al matricelor complexe,
n care caz valorile si vectorii proprii sunt, n general, numere complexe, respectiv
vectori complecsi. Totusi, majoritatea problemelor tehnice conduc la necesitatea
calculului valorilor si vectorilor proprii pentru matrice reale. Desi valorile proprii
si vectorii proprii asociat i ai unei matrice reale pot numere complexe, respectiv
vectori complecsi, calculul cu numere complexe este sensibil mai put in ecient si,
din acest motiv, n cazul datelor init iale reale, dezvoltarile procedurale vor urmari
utilizarea, practic exclusiva, a calculului cu numere reale.
4.1 Formularea problemei
4.1.1 Valori si vectori proprii
Valorile si vectorii proprii pentru o matrice patrata A I C
nn
sunt not iuni introduse
n capitolul 1 n contextul prezentarii unor algoritmi de calcul elementari (sect iunea
1.10). Problema determinarii valorilor si vectorilor proprii poate apreciata ca ind
simpla numai pentru matrice cu structura triunghiulara, caz care a si fost tratat n
capitolul ment ionat (v. algoritmul 1.23).
Cu riscul de a ne repeta, reluam cateva denit ii si rezultate fundamentale intro-
duse n 1.10 cu dezvoltarile corespunzatoare necesare abordarii problemei n cazul
general.
209
210 CAPITOLUL 4. VALORI SI VECTORI PROPRII
Denit ia 4.1 Fie o matrice A I C
nn
. Un numar I C se numeste valoare
proprie a matricei A, daca exista un vector nenul x I C
n
astfel ncat
Ax = x. (4.1)
Un vector x ,= 0 care satisface (4.1) se numeste vector propriu al matricei A asociat
valorii proprii .
Valorile proprii ale matricei A I C
nn
, conform teoremei 1.13, sunt zerourile
polinomului caracteristic
p() = det(I
n
A), (4.2)
care este un polinom de gradul n cu coecient i complecsi
1
.
In consecint a, orice
matrice A I C
nn
are exact n valori proprii complexe, nu neaparat distincte.
Daca matricea este reala, atunci polinomul caracteristic are coecient ii reali si
valorile proprii complexe apar n perechi complex-conjugate
2
. Daca x = u+iv I C
n
cu u, v IR
n
, este un vector propriu asociat valorii proprii = + i, , IR,
,= 0, a unei matrice reale, atunci x = u iv este un vector propriu asociat valorii
proprii
= i (vericat i!).
Ordinul de multiplicitate n
i
al radacinii
i
a polinomului caracteristic se numeste
multiplicitate algebrica a valorii proprii respective. Daca n
i
= 1 valoarea proprie
i
se numeste simpla.
Mult imea
(A) =
1
,
2
, ...,
n
= I C [ det(I A) = 0 (4.3)
a valorilor proprii ale unei matrice A I C
nn
se numeste spectrul matricei A, iar
numarul real nenegativ
(A) = max([
1
[, [
2
[, ..., [
n
[) (4.4)
se numeste raza spectrala a matricei A. Deci, n planul complex I C, valorile proprii
ale unei matrice A sunt situate n discul nchis de raza (A) cu centrul n origine.
Se poate arata imediat ca valorile proprii ale unei matrice A I C
nn
satisfac
relat iile
n
i=1
i
=
n
i=1
a
ii
def
= tr(A),
n
i=1
i
= det(A), (4.5)
unde tr(A) este, prin denit ie, urma matricei A.
In particular, o matrice este
singulara daca si numai daca are (cel put in) o valoare proprie nula.
Vectorii proprii introdusi prin denit ia 4.1 sunt denumit i uneori vectori proprii
la dreapta ai matricei A si satisfac sistemul liniar omogen singular
(I
n
A)x = 0. (4.6)
Deci, ecarei valori proprii i corespunde cel put in un vector propriu. Vectorii proprii
asociat i valorilor proprii distincte sunt liniar independent i.
1
Ecuat ia p() = 0 se numeste ecuat ie caracteristica a matricei A.
2
O mult ime de numere (reale si complexe) n care numerele complexe apar n perechi complex-
conjugate va numita n continuare mult ime simetrica.
4.1. FORMULAREA PROBLEMEI 211
Intrucat det(I
n
A) = det(I
n
A
T
) matricele A si A
T
au acelasi polinom
caracteristic si, deci, aceleasi valori proprii dar vectorii proprii, n general, difera.
Cum un vector propriu y al matricei A
T
asociat valorii proprii satisface A
T
y = y
sau y
T
A = y
T
vectorii proprii reali ai matricei A
T
sunt vectori proprii la stanga
ai matricei A.
Daca x
i
este un vector propriu al matricei A asociat valorii proprii
i
, vectorul
y
i
= x
i
este, de asemenea, un vector propriu al matricei A asociat aceleiasi valori
proprii
i
, oricare ar I C, ,= 0. Mai mult, este clar ca mult imea vectorilor
proprii asociat i unei valori proprii
i
mpreuna cu vectorul nul din I C
n
formeaza
subspat iul liniar 1
i
= Ker(
i
I
n
A) I C
n
numit subspat iul propriu asociat valorii
proprii
i
. Dimensiunea
i
= dim1
i
a subspat iului propriu, i.e. numarul de vectori
proprii liniar independent i asociat i lui
i
, se numeste multiplicitate geometrica a
valorii proprii
i
. Este evident ca
i
n
i
. (4.10)
4.1.2 Subspat ii invariante
Subspat iile proprii sunt subspat ii A-invariante n sensul denit iei urmatoare
(v. si 1.10).
Denit ia 4.2 Fie o matrice A I C
nn
. Un subspat iu liniar 1 I C
n
se numeste
subspat iu invariant al matricei A sau, pe scurt, subspat iu A-invariant daca
A1 1 i.e. Ax 1, x 1. (4.11)
Cum IR
n
I C
n
, pot exista subspat ii A-invariante n IR
n
pentru matrice A complexe.
De asemenea, pentru matrice A reale pot exista subspat ii A-invariante care nu sunt
n IR
n
. Dintre proprietat ile subspat iilor A-invariante amintim urmatoarele.
212 CAPITOLUL 4. VALORI SI VECTORI PROPRII
Propozit ia 4.1 Fie matricea A I C
nn
.
1
. Daca x
1
, x
2
, . . . , x
p
sunt vectori proprii ai matricei A, atunci subspat iul
o = Im[ x
1
x
2
. . . x
p
] I C
n
este A-invariant.
2
Complementul ortogonal T = o
n I C
n
al subspat iului A-invariant o este un
subspat iu A
H
-invariant.
In cazul real un subspat iu A-invariant generat de vectori proprii reali este, evi-
dent, real. Daca x
1,2
= v
1
iv
2
, v
1
, v
2
IR
n
, sunt vectori proprii asociat i unei
perechi de valori proprii complex conjugate
1,2
= i, , IR, ,= 0,
atunci vectorii v
1
, v
2
sunt liniar independent i si S = Im[ v
1
v
2
] este un subspat iu
A-invariant. Mai mult, daca are loc o relat ie de forma (4.12), unde coloanele lui
V IR
np
formeaza o baza a unui subspat iu A-invariant o IR
n
, atunci restrict ia
B IR
pp
a lui A la o satisface (4.13) cu (B) o mult ime simetrica.
In sfarsit,
complementul ortogonal T = o
n IR
n
al subspat iului A-invariant real o este un
subspat iu A
T
-invariant.
Demonstrat ie. Proprietatea 1
sa observam
ca Av
j
o, de unde rezulta Av
j
= V b
j
, j = 1 : p, i.e. (4.12) este adevarata.
Daca z I C
p
este un vector propriu al matricei B, i.e. Bz = z, asociat valorii
proprii (B), atunci din (4.12) avem AV z = V z. Cum z ,= 0 iar V este
monica, rezulta y = V z ,= 0, i.e. y este un vector propriu al lui A cont inut n
o.
In consecint a, o cont ine un vector propriu al matricei A si avem (A),
deci (4.13) este adevarata. Acum, daca are loc o relat ie de forma (4.12), atunci
AV z = V Bz = V w ImV, z I C
p
, i.e. ImV este A-invariant. 3
. Fie x o,
y T doi vectori arbitrari. Atunci Ax o si, deci, y
H
Ax = (A
H
y)
H
x = 0. Cum
x o este arbitrar, rezulta A
H
y o, respectiv A
H
y T , i.e. T este A
H
-invariant.
.
.
.
.
.
.
.
.
.
.
.
..
.
.
.
.
.
.
.
.
.
.
..
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
0
1
2
3
IR
3
v
1
v
2
v
3
o
1
=ImV
1
o
23
=ImV
23
Fig. 4.1: Vectori proprii si subspat ii A-invariante pentru matricea A din exemplul
4.1.
iar B
1
= A[o
1
si B
23
= A[o
23
sunt restrict ii ale matricei A la cele doua subspat ii
(sunt aceste restrict ii unic determinate?). Propunem cititorului sa calculeze com-
plementele ortogonale n IR
3
ale celor doua subspat ii si sa verice ca aceste subspat ii
sunt A
T
-invariante. 3
Problema de calcul care face obiectul acestui capitol este determinarea valorilor
si vectorilor proprii ai unei matrice date. Desi pentru calculul unei valori proprii
214 CAPITOLUL 4. VALORI SI VECTORI PROPRII
sau al unui grup de valori proprii pot utilizate tehnici specice, ne vom concentra
demersul nostru, n principal, asupra problema de calcul al ntregului spectru. Pro-
blema calculului vectorilor proprii va tratata n subsidiar, t inand seama si de
faptul ca n multe aplicat ii calculul explicit al vectorilor proprii poate (si este bine
sa e) evitat.
4.1.3 Matrice asemenea
Urmand metodologia generala de reducere a unei probleme de calcul la alte proble-
me mai simple, utilizata si n capitolele precedente, suntem interesat i sa evident iem
transformarile matriceale care conserva spectrul unei matrice date.
Asa cum s-a specicat si n 1.10, valorile proprii sunt conservate de trans-
formarile de asemanare denite mai jos.
Denit ia 4.3 Doua matrice A, B I C
nn
se numesc asemenea daca exista o ma-
trice nesingulara T I C
nn
astfel ncat
B = T
1
AT. (4.15)
Daca matricea de transformare T este unitara, atunci matricele A si B se numesc
unitar asemenea.
In cazul real, daca matricea de transformare T este ortogonala,
matricele A si B se numesc ortogonal asemenea.
In dezvoltarile din aceasta lucrare vom insista asupra cazului generic al matri-
celor de ordin n care admit un set (complet) de n vectori proprii liniar independent i.
Asa cum s-a demonstrat n teorema 1.15, n acest caz, utilizand n (4.15) ca matrice
de transformare T = X, unde X este o matrice avand drept coloane n vectori
proprii liniar independent i ai matricei A, obt inem o matrice diagonala:
X
1
AX = = diag (
1
,
2
, ...,
j
, ...,
n
) I C
nn
. (4.18)
Astfel de matrice se numesc diagonalizabile (peste I C). Daca o matrice n n are n
valori proprii distincte, atunci este diagonalizabila dar reciproca nu este, n general,
adevarata
4
.
3
De remarcat faptul ca transform arile uzuale cum ar multiplic arile cu matrice (la st anga
sau la dreapta) altereaza spectrul matricei date.
In particular, operat iile elementare cu linii sau
coloane, inclusiv permutarile, pot modica valorile si vectorii proprii.
4
O matrice cu toate valorile proprii simple (i.e. distincte) se numeste cu spectru simplu, iar
matricele care admit seturi complete de vectori proprii liniar independent i sunt cunoscute sub
denumirea de matrice simple.
In acest din urm a caz multiplicit at ile algebrice ale valorilor proprii
distincte coincid cu multiplicitat ile lor geometrice. Evident, matricele cu spectru simplu sunt
simple dar nu si reciproc.
4.1. FORMULAREA PROBLEMEI 215
In cazul real, matricea A este normala daca si numai daca satisface aceleasi
condit ii, i.e. este unitar diagonalizabila.
Demonstrat ie.
Presupunem ca matricea A este normala. Demonstram mai ntai urmatorul
rezultat preliminar.
Lema 4.1 Daca o este un subspat iu simultan A-invariant si A
H
-invariant, atunci
A si A
H
admit un vector propriu comun x cont inut n o
6
. Daca Ax = x atunci
A
H
x =
x.
Subspat iul o ind A-invariant, n conformitate cu propozit ia 4.1, punctul 2
, exista
un vector propriu x al matricei A (i.e. care satisface Ax = x, x ,= 0) cont inut n
o. Din (4.19) rezulta imediat ca A(A
H
)
k
= (A
H
)
k
A. Deci A(A
H
)
k
x = (A
H
)
k
x,
k = 0, 1, 2, . . ., i.e. y
k
= (A
H
)
k
x ,= 0 sunt vectori proprii ai matricei A asociat i
aceleiasi valori proprii . Cum subspat iul o este si A
H
-invariant rezulta ca tot i
vectorii y
k
sunt cont inut i n o. Fie p ntregul pentru care y
0
, y
1
, . . . , y
p1
sunt
liniar independent i, iar y
p
este o combinat ie liniara a acestora. Atunci, subspat iul
o
= ImY o, unde Y = [ y
0
y
1
. . . y
p1
] este A-invariant (conform propozit iei
4.1, punctul 1
este
si A
H
-invariant ntrucat x = Y u o avem A
H
x = A
H
Y u = Y v o
.
In
consecint a, conform propozit iei 4.1, 2
. Spat iul I C
n
ind simultan A- si A
H
-invariant, conform lemei de mai sus
matricele A si A
H
admit un vector propriu comun x
1
care poate normat:
Ax
1
=
1
x
1
, A
H
x
1
=
1
x
1
, |x
1
| = 1.
Subspat iul o
1
= Im[ x
1
] este simultan A-invariant si A
H
-invariant. Conform pro-
pozit iei 4.1, 3
1
n I C
n
este, de asemenea,
simultan A- si A
H
-invariant.
In consecint a matricele A si A
H
admit un vector
propriu (normat) comun x
2
T
1
, i.e. ortogonal cu x
1
:
Ax
2
=
2
x
2
, A
H
x
2
=
2
x
2
, |x
2
| = 1, x
2
x
1
.
6
Un rezultat mai general este urm atorul: dou a matrice care comut a admit un vector propriu
comun (v. exercit iul 4.7).
4.1. FORMULAREA PROBLEMEI 217
Pasul k
k
n I C
n
este, de asemenea, simultan A-
si A
H
-invariant.
In consecint a, matricele A si A
H
admit un vector propriu (normat)
comun x
k+1
T
1
, i.e. ortogonal cu x
1
, x
2
, . . . , x
k
:
Ax
k+1
=
k+1
x
k+1
, A
H
x
k+1
=
k+1
x
k+1
, |x
k+1
| = 1, x
k+1
o
k
.
Procesul recurent de construct ie a vectorilor proprii ortogonali conduce dupa k =
= n1 pasi la determinarea unui set ortogonal complet de vectori proprii ai matricei
A si, simultan, ai matricei A
H
. Notand cu Q matricea vectorilor proprii, implicat ia
directa este demonstrata.
Reciproc, presupunem ca matricea A admite un set complet de vectori proprii
ortogonali x
i
, i 1 : n, respectiv o matrice unitara Q
def
= X = [ x
1
x
2
x
n
] de
vectori proprii. Avem
X
H
AX = = diag(
1
,
2
, . . . ,
n
) I C
nn
,
de unde rezulta
X
H
A
H
X =
.
Din ultimele doua relat ii avem
=
= X
H
AA
H
X = X
H
A
H
AX, i.e. AA
H
=
= A
H
A si teorema este complet demonstrata. 3
Observat ia 4.1 Demonstrat ia prezentata mai sus evident iaza, printre altele, urma-
toarele proprietat i suplimentare ale matricelor normale:
1
In cazul real matricea A este simetrica daca si numai daca admite un set complet
de n vectori proprii ortogonali reali si toate valorile proprii sunt reale adica exista
o matrice ortogonala Q, ale carei coloane sunt vectori proprii, astfel ncat
Q
T
AQ = = diag(
1
,
2
, . . . ,
n
) IR
nn
, (4.23)
i.e. matricele reale simetrice
7
sunt matricele ortogonal diagonalizabile cu spectru
real.
7
Matricele complexe simetrice sunt matrice cu multe propriet at i esent ial diferite de cele ale
matricelor hermitice sau ale matricelor reale simetrice (vezi [ I ], [ II ] si exercit iul 4.31).
218 CAPITOLUL 4. VALORI SI VECTORI PROPRII
Demonstrat ie. Matricele hermitice ind normale, conform teoremei precedente
sunt unitar diagonalizabile, i.e. are loc (4.21). Acum, din A
H
= A rezulta ca
H
=
, i.e. spectrul este real.
In cazul real aceasta are drept consecint a faptul ca vectorii
proprii sunt reali. Reciproc, din (4.22) rezulta
H
= , i.e. Q
H
AQ = Q
H
A
H
Q, de
unde obt inem A
H
= A. 3
Faptul ca matricele hermitice (n cazul real, simetrice) au spectrul real si sunt
unitar (ortogonal) diagonalizabile are implicat ii majore asupra tehnicilor de calcul al
valorilor proprii, asigurand o complexitate relativ redusa a algoritmilor si o precizie
ridicata a rezultatelor. Pentru dezvoltarea algoritmilor de calcul se vor dovedi utile
rezultatele prezentate n continuare. Formularea rezultatelor si demonstrat iile vor
prezentate pentru matricele hermitice, particularizarea pentru matricele reale
simetrice (care se reduce, n esent a, la nlocuirea mult imii I C cu mult imea IR si
a operatorului hermitic
H
cu operatorul de transpunere
T
) ind lasata n sarcina
cititorului.
Fie matricea hermitica A I C
nn
si funct ia reala de n variabile complexe
: I C 0 IR denita de (x) =
x
H
Ax
x
H
x
. Vom interesat i de extremele funct iei
. Pentru determinarea acestora, observam mai ntai ca (x) = (x) pentru tot i
nenuli din I C.
In consecint a, este sucient sa ne rezumam la vectorii x de norma
euclidiana unitara, i.e. sa consideram funct ia
: o IR, x (x) = x
H
Ax, (4.24)
unde
o =
_
x I C
n
|x|
2
= x
H
x = 1
_
(4.25)
este sfera de raza unitara din I C
n
. Vom considera ca spectrul (A) =
1
,
2
, . . . ,
n
1
2
. . .
n
, (4.26)
si e q
j
I C
n
, j = 1 : n un set complet de vectori proprii, de norma euclidiana
unitara, ai matricei A, asociat i valorilor proprii
j
. Vom nota
Q =
_
q
1
q
2
q
n
, Q
k
= Q( : , 1 : k), Q
k
= Q( : , k + 1 : n). (4.27)
Avem urmatorul rezultat.
Teorema 4.3 Valorile extreme absolute ale funct iei denite n (4.24), (4.25) sunt
date de
M = max
x o
x
H
Ax =
1
, m = min
x o
x
H
Ax =
n
. (4.28)
Mai mult, daca J
k
= ImQ
k
este subspat iul A-invariant asociat valorilor proprii
j
, j = k + 1 : n, atunci
max
x o J
k
x
H
Ax =
k+1
. (4.29)
4.1. FORMULAREA PROBLEMEI 219
Demonstrat ie. Conform teoremei 4.2, matricea Q este unitara, A = QQ
H
unde
= diag(
1
,
2
, . . . ,
n
) si, prin urmare,
(x) = x
H
Ax = y
H
y =
n
k=1
k
[y
(k)
[
2
, y = Q
H
x = [ y
(1)
y
(2)
y
(n)
]
T
.
(4.30)
Cum vectorii x si y din (4.30) se aa ntr-o relat ie biunivoca, iar transformarile
unitare conserva norma euclidiana, rezulta ca extremele funct iei coincid cu ex-
tremele funct iei : o IR, (y) = y
H
y. Din faptul ca vectorii y sunt de norma
unitara, i.e.
n
j=1
[y
(j)
[
2
= 1, rezulta
(y) =
1
j=2
(
1
j
)[y
(j)
[
2
=
n1
j=1
(
j
n
)[y
(j)
[
2
+
n
. (4.31)
Intrucat sumele din relat ia (4.31) sunt, datorita (4.26), nenegative, iar valoarea
nula a acestor sume se poate realiza, e.g. pentru y
(j)
= 0, j = 2 : n n primul
caz si j = 1 : n 1 n cel de al doilea, avem egalitat ile (4.28). Daca valorile
proprii maxima, respectiv minima, sunt simple, atunci valorile extreme ale funct iei
se ating pentru vectorii y de forma y
1
= [ y
(1)
0 0 ]
T
= e
i1
e
1
, respectiv
y
n
= [ 0 0 y
(n)
]
T
= e
in
e
n
, cu
1
,
n
IR. Prin urmare, cele doua extreme ale
funct iei se ating pentru vectorii x de forma x
1
= e
i1
q
1
si, respectiv x
n
= e
in
q
n
.
Daca
1
are multiplicitatea s, iar
n
multiplicitatea t, atunci maximul se atinge
pentru orice vector x de norma unitara din 1
s
= ImQ
s
, i.e. subspat iul A-invariant
asociat valorilor proprii
j
, j = 1 : s, iar minimul se atinge pentru orice vector de
norma unitara din J
nt
.
Pentru cea de a doua parte a teoremei, daca x J
k
= 1
k
atunci x
H
Q
k
= 0 si
y = Q
H
x = [ 0 0 y
(k+1)
y
(n)
]
T
. Prin urmare,
(x) = (y) =
k+1
j=k+2
(
k+1
j
)[y
(j)
[
2
, (4.32)
de unde, cu aceleasi argumente ca mai sus, se obt ine (4.29). 3
Rezultatul urmator prezinta o interesanta caracterizare minimax a valorilor pro-
prii ale unei matrice hermitice (n cazul real, simetrice) si este util prin consecint ele
sale. Notam, generic, cu 1 subspat iile liniare ale spat iului I C
n
si cu J = 1
comple-
mentele lor ortogonale n I C
n
. De asemenea, vom nota cu 1
S
= 1 o si, respectiv,
J
S
= J o, mult imile vectorilor de norma euclidiana unitara din 1 si J.
Teorema 4.4 (Courant Fisher) Daca matricea hermitica A I C
nn
are valorile
proprii ordonate ca n (4.26) atunci pentru tot i k 1 : n avem
k
= max
dim1 = k
min
x 1
S
x
H
Ax = min
dim1 = k
max
x J
S
x
H
Ax
8
. (4.33)
8
Intrucat oricarui subspat iu n k dimensional din I C
n
i corespunde un complement or-
togonal k dimensional, ultimul termen al egalit at ilor (4.33) poate scris si n forma
k
=
= min
dimV = n k
max
x V
S
x
H
Ax.
220 CAPITOLUL 4. VALORI SI VECTORI PROPRII
Demonstrat ie. Fie 1 un subspat iu arbitrar de dimensiune k si v
j
, j = 1 : k, o baza
a lui 1. Fie, de asemenea, w
j
, j = 1 : n k, o baza a lui J. Notam cu V I C
k
,
respectiv W I C
nk
, matricele vectorilor care formeaza bazele celor doua subspat ii
complementare. Conform teoremei precedente
n
x
H
Ax
1
(4.34)
pentru tot i x din o, i.e. funct ia este marginita pe compactul 1
S
si, n consecint a,
si atinge marginile pe aceasta mult ime. La fel ca n demonstrat ia teoremei prece-
dente, e y = Q
H
x, unde Q este o matrice unitara de vectori proprii, ordonat i
conform (4.26). Avem, evident, |y| = |x| si x = Qy 1 daca si numai daca este
ortogonal pe J, i.e.
W
H
x = W
H
Qy = 0. (4.35)
Q
H
y = 0. (4.36)
Notand z
def
=
Q
H
y relat ia (4.36) impune z(1 : nk) = 0. Notand, nca o data,
u
def
= z(nk +1 : n) I C
k
si t inand seama de faptul ca transformarile unitare
conserva norma euclidiana, din (4.35), (4.36) rezulta ca x = Qy = Q
Qz =
Qu, unde
Q = Q
Q( : , nk+1 : n), apart ine mult imii 1
S
daca si numai daca |u| = 1, fara
nici o alta restrict ie asupra lui u. Acum, putem alege u astfel ncat y(1 : k1) = 0.
Intr-adevar, y =
Q( : , nk+1 : n)u si orice solut ie normata (i.e. de norma euclidiana
unitara) a sistemului subdeterminat
Q(1 : k1, , nk+1 : n)u = 0 asigura satisfacerea
acestei condit ii. Cu aceasta alegere a lui u, pentru vectorul corespunzator x din 1
S
,
avem
(x) = x
H
Ax = y
H
y =
k
n
j=k+1
(
k
j
)[y
(j)
[
2
k
, (4.37)
unde am t inut seama de faptul ca
n
j=k
[y
(j)
[
2
= |y|
2
= 1 si de ordonarea des-
crescatoare a valorilor proprii. Natural, din (4.37) rezulta
min
x 1
S
x
H
Ax
k
(4.38)
si, cum subspat iul 1, de dimensiune k, era arbitrar, inegalitatea (4.38) are loc n
toate subspat iile de aceeasi dimensiune sau, altfel spus,
max
dim1 = k
min
x 1
S
x
H
Ax
k
. (4.39)
Ramane sa aratam ca aceasta margine este atinsa efectiv. Aceasta se ntampla n
subspat iul A-invariant asociat primelor k valori proprii din secvent a (4.26).
Intr-
adevar, e 1 = ImQ
k
si x = Q
k
z cu |z| = 1. Rezulta |x| = 1, i.e. x 1
S
si
(x) = x
H
Ax =
k1
j=1
(
j
k
)[z
(j)
[
2
+
k
k
, (4.40)
4.1. FORMULAREA PROBLEMEI 221
de unde, n acest subspat iu,
min
x 1
S
x
H
Ax
k
(4.41)
egalitatea obt inandu-se pentru z = [ 0 0 1 ]
T
. Prima egalitate din (4.33) este
demonstrata. Demonstrat ia celei de a doua egalitat i (4.33) urmeaza aceleasi idei.
j=1
(
j
k
)[y
(j)
[
2
+
k
k
, (4.42)
de unde rezulta
max
x J
S
x
H
Ax
k
. (4.43)
Cum subspat iul (nk)-dimensional J a fost arbitrar, rezulta ca inegalitatea (4.43)
are loc n toate subspat iile de aceasta dimensiune sau, altfel spus,
min
dim1 = k
max
x J
S
x
H
Ax
k
. (4.44)
Adaugand faptul ca marginea din (4.44) se atinge efectiv n subspat iul J = ImQ
k
,
cea de a doua egalitate (4.33), si o data cu ea ntreaga teorema, sunt complet
demonstrate. 3
Teorema Courant Fisher este importanta, n contextul calculatoriu al aces-
tei lucrari, prin consecint ele sale, dintre care cateva sunt prezentate n continuare.
Notam A
[k]
def
= A(1 : k, 1 : k) submatricele lider principale de ordinul k ale matri-
cei hermitice A I C
nn
, care sunt la randul lor, evident, hermitice. Presupunem
ca spectrele (A
[k]
) =
[k]
1
,
[k]
2
, . . . ,
[k]
k
(evident, reale) ale submatricelor lider
principale sunt, si ele, ordonate descrescator, i.e.
[k]
1
[k]
2
. . .
[k]
k
. (4.45)
Teorema 4.5 (Teorema de separare) Valorile proprii ale submatricelor lider prin-
cipale de ordinul k ale unei matrice hermitice separa valorile proprii ale subma-
tricelor lider principale de ordinul k + 1, i.e.
[k+1]
1
[k]
1
[k+1]
2
[k]
2
. . .
[k]
k1
[k+1]
k
[k]
k
[k+1]
k+1
, (4.46)
pentru tot i k 1 : n1.
Demonstrat ie. Este sucient sa consideram cazul k = n1. Pentru simplicarea
notat iilor, e
i
def
=
[n1]
i
, i = 1 : n1. Cu aceste notat ii, este sucient sa dovedim
inegalitat ile
i
i+1
, i = 1 : n 1. (4.47)
222 CAPITOLUL 4. VALORI SI VECTORI PROPRII
Avem, evident,
x
H
A
[n1]
x =
_
x
H
0
A
_
x
0
_
, x I C
n1
. (4.48)
Pe aceasta baza, ntre mult imile
/
i
=
_
IR = max
xWS
x
H
Ax, J I C
n
, dimJ = ni
_
, (4.49)
/
i
=
_
IR
=max
xWS
x
H
A
[n1]
x, J I C
n1
, dimJ = n1i
_
,
(4.50)
exista relat iile
/
i
/
i
/
i+1
, (4.51)
de unde rezulta
min /
i+1
min /
i
min /
i
, (4.52)
inegalitat i care, n baza teoremei Courant-Fisher, sunt echivalente cu (4.47). Teo-
rema este demonstrata. 3
O relat ie dintre valorile proprii a doua matrice hermitice si valorile proprii ale
sumei lor, utila n aprecierea inuent ei perturbat iilor numerice hermitice, este data
n teorema urmatoare.
Teorema 4.6 Daca matricele hermitice A, E I C
nn
au spectrele ordonate des-
crescator, atunci, cu notat ii evidente, avem
k
(A) +
1
(E)
k
(A +E)
k
(A) +
n
(E) (4.53)
pentru tot i k 1 : n.
Demonstrat ie. Conform teoremei Courant-Fisher
k
(A +E) = min
dim1 = k
max
x J
S
x
H
(A +E)x
min
dim1 = k
( max
x J
S
x
H
Ax + max
x J
S
x
H
Ex)
min
dim1 = k
( max
x J
S
x
H
Ax +
1
(E)) =
k
(A) +
1
(E). (4.54)
Pentru a demonstra a doua inegalitate (4.53) avem, similar,
k
(A +E) = max
dim1 = k
min
x 1
S
x
H
(A +E)x
max
dim1 = k
( min
x 1
S
x
H
Ax + min
x 1
S
x
H
Ex)
max
dim1 = k
( min
x 1
S
x
H
Ax +
n
(E)) =
k
(A) +
n
(E). (4.55)
Teorema este demonstrata. 3
j=1
(
j
(A +E)
j
(A))
2
|E|
2
F
, (4.56)
unde |E|
F
=
_
n
i=1
[e
ii
[
2
+ 2
n
i=2
i1
j=1
[e
ij
[
2
=
_
n
i=1
2
i
(E) este norma Fro-
benius a matricei E.
Demonstrat ie. Pentru demonstrat ie se poate consulta [ IV]. 3
Un rezultat remarcabil, de o factura aparte, se refera la inert ia unei matrice.
Inert ia unei matrice hermitice A I C
nn
se deneste prin tripletul (n
, n
0
, n
+
)
unde n
k
(B) = max
dim1 = k
min
x 1
S
x
H
Bx min
x
1
S
x
H
Bx = min
x
1
x
H
Bx
x
H
x
, (4.57)
unde
1 este orice subspat iu particular de dimensiune k, iar
1
=
1 0. Con-
siderand
1 = ImT
1
Q
k
, cu Q
k
denit n (4.27), avem x
1
k
z cu z I C
k
, z ,= 0. Pe de alta parte, matricea R
def
= TT
H
este her-
mitica, pozitiv denita (i.e. x
H
Rx > 0, x ,= 0) si, prin urmare, are spectrul real si
pozitiv (demonstrat i!) aceleasi proprietat i avandu-le si matricea R
1
= T
H
T
1
.
Cu aceste precizari, pentru tot i x
1
, avem
_
x
H
Bx = x
H
T
H
Q
A
Q
H
Tx = z
H
diag (
1
(A),
2
(A), . . . ,
k
(A))z
x
H
x = z
H
Q
H
k
R
1
Q
k
z,
, (4.58)
de unde, t inand seama de ordonarea valorilor proprii, rezulta
x
H
Bx
k
(A)z
H
z
min
(R
1
)z
H
z x
H
x
max
(R
1
)z
H
z.
(4.59)
Cu aceste inegalitat i, din (4.57), obt inem
_
k
(B)
k
(A)
max
(R
1
)
, daca
k
(A) > 0
k
(B)
k
(A)
min
(R
1
)
, daca
k
(A) < 0.
(4.60)
224 CAPITOLUL 4. VALORI SI VECTORI PROPRII
Schimband rolul matricelor A si B, cu un rat ionament analog obt inem urmatoarele
corespondente ale relat iilor (4.60)
_
k
(B)
max
(R)
k
(A), daca
k
(A) > 0
k
(B)
min
(R)
k
(A), daca
k
(A) < 0.
(4.61)
k
(A) si
k
(B) au acelasi semn. Rezulta ca A si B au aceeasi inert ie. 3
In cazul real matricea A este ortogonala daca si numai satisface aceleasi condit ii,
i.e. este unitar diagonalizabila cu spectru unitar.
Demonstrat ie. O matrice unitara A I C
nn
ind normala, conform teoremei
4.1, este unitar diagonalizabila, i.e. exista o matrice unitara Q I C
nn
astfel ncat
Q
H
AQ = = diag(
1
,
2
, . . . ,
n
), de unde rezulta A = QQ
H
.
In plus, din
A
H
A = I
n
obt inem
= I
n
, i.e.
j
= [
j
[
2
= 1, de unde rezulta [
j
[ = 1,
j = 1 : n. Deci toate valorile proprii sunt de modul unitar, i.e. pot scrise sub
forma
j
= e
ij
, cu
j
IR, j = 1 : n. Reciproc, daca avem Q
H
AQ = , cu Q
4.1. FORMULAREA PROBLEMEI 225
unitara si diagonala cu elementele diagonale de modul unitar, atunci prin calcul
direct rezulta imediat A
H
A = I
n
, i.e. A este unitara.
In cazul real demonstrat ia
este identica cu singura ment iune suplimentara ca alaturi de orice valoare proprie
complexa
j
= e
ij
I C IR apare si conjugata ei
j
= e
ij
. 3
Observat ia 4.2 Este simplu de constatat ca daca o matrice complexa A este
normala, hermitica sau unitara, atunci orice matrice B unitar asemenea cu A are
aceleasi proprietat i. Similar, n cazul real, proprietat ile de normalitate, simetrie si
ortogonalitate sunt conservate de transformarile ortogonale de asemanare. Aceasta
invariant a explica utilizarea exclusiva a transformarilor unitare (ortogonale) n de-
mersul calculatoriu legat de valorile si vectorii proprii. 3
In nalul acestei sect iuni introductive vom prezenta cateva rezultate privitoare la
localizarea valorilor proprii n planul complex, rezultate utile atat prin ele nsele cat
si n contextul stabilirii init ializarilor pentru diverse metode iterative de calcul sau
al analizei sensibilitat ii valorilor proprii la perturbat ii n matricea data.
Unele din cele mai cunoscute rezultate n aceasta privint a sunt oferite de teo-
remele urmatoare.
Teorema 4.10 Oricare ar matricea A I C
nn
si || o familie arbitrara de norme
consistente avem
(A) |A|. (4.65)
Demonstrat ie. Din proprietatea de consistent a a familiei de norme pentru orice
(A) si vector propriu asociat x cu |x| = 1 avem [[ = |x| = |Ax|
|A||x| = |A|, de unde rezulta (4.65)
9
. 3
Teorema 4.11 (Gershgorin) Valorile proprii ale unei matrice A I C
nn
sunt si-
tuate n domeniul T din planul complex denit de
T =
n
_
i=1
T
i
, (4.66)
9
Exista si un rezultat, datorat lui Householder (v. exercit iul 4.32), care arat a c a pentru
orice > 0 exista o norma consistent a astfel nc at A (A) + , relat ie care, mpreun a
cu (4.65), permite aproximarea oric at de bun a a razei spectrale a unei matrice cu ajutorul unei
norme a acesteia. Din pacate, aceast a norm a este o norm a special a care depinde de A si , astfel
ca rezultatul ment ionat are o valoare n primul r and teoretic a.
226 CAPITOLUL 4. VALORI SI VECTORI PROPRII
unde T
i
sunt discurile
T
i
= z I C [ [z a
ii
[
n
j=1
j=i
[a
ij
[, i = 1 : n, (4.67)
numite discuri Gershgorin.
Demonstrat ie. Fie x un vector propriu asociat valorii proprii (A). Atunci
linia i a relat iei Ax = x se scrie
( a
ii
)x
i
=
n
j=1
j=i
a
ij
x
j
, (4.68)
de unde rezulta [ a
ii
[[x
i
[
n
j=1
j=i
[a
ij
[[x
j
[. Alegand linia i astfel ncat [x
i
[ =
= max
k=1:n
([x
k
[) ,= 0, rezulta
[ a
ii
[
n
j=1
j=i
[a
ij
[
[x
j
[
[x
i
[
n
j=1
j=i
[a
ij
[, (4.69)
i.e. T
i
. 3
Daca o linie a matricei A are elementele extradiagonale nule, atunci elementul
diagonal este o valoare proprie a matricei A, iar discul Gershgorin corespunzator
liniei respective se reduce la punctul a
ii
. De asemenea, se poate arata [ I ] ca daca
m discuri Gershgorin formeaza o mult ime disjuncta de mult imea celorlalte n m
discuri, atunci exact m valori proprii se gasesc situate n reuniunea celor m discuri.
_
`
_
`
_
Re
Im
1
2
3
`
`
_
_
`
_
Re
Im
1
2
3
a) b)
Fig. 4.2: Utilizarea discurilor Gershgorin pe linii (a) si pe coloane (b) pentru
localizarea valorilor proprii ai matricei din exemplul 4.2.
10
Discurile Gershgorin (4.67) ar putea denumite discuri-linie ntruc at sunt construite cu
ajutorul liniilor matricei date. Cum transpusa matricei are acelasi spectru, aplic and teorema
4.11 matricei transpuse obt inem o localizare a valorilor proprii n reuniunea discurilor Gershgorin
denite pe coloane. Evident, o localizare mai bun a se obt ine intersect and cele dou a domenii.
4.2. FORMA SCHUR 227
Exemplul 4.2 Consideram matricea
A =
_
_
1 0 1
1 5 0
1 1 1
_
_
pentru care cele trei discuri Gershgorin sunt T
1
de centru 1 si raza 1, T
2
de centru 5
si raza 1 si T
3
de centru -1 si raza 2 (v. g. 4.2), iar valorile proprii sunt
1
= 5.0394,
2,3
= 0.0197 0.4450i. Raza spectrala este deci (A) = 5.0394, inferioara e.g.
normei |A|
F
= 5.5678. 3
Teorema lui Gershgorin este utila, de exemplu, pentru deciziile de neglijare a ele-
mentelor extradiagonale la o precizie xata a valorilor proprii calculate n tehnicile
de diagonalizare iterativa prin transformari de asemanare. Generalizari ale teoremei
4.11 fac obiectul exercit iilor 4.40 si 4.41. Alte rezultate privind localizarea valorilor
proprii se pot gasi n [ I ], [ II ].
4.2 Forma Schur
Transformarile de asemanare unitare, respectiv ortogonale n cazul real, prezinta
marele avantaj de a conserva condit ionarea spectrului de valori proprii ale unei
matrice date (v. 4.10). De aceea vom interesat i n utilizarea lor exclusiva pentru
determinarea valorilor proprii. Pe de alta parte, structurile canonice, cum este
forma Jordan, nu se pot obt ine, n general, prin astfel de transformari
11
. Rezultatul
principal al acestui paragraf arata ca orice matrice este unitar asemenea cu o matrice
triunghiulara, numita forma Schur.
In acest fel este posibila evident ierea valorilor
proprii ale unei matrice (elementele diagonale ale formei sale Schur), utilizand o
secvent a de transformari unitare de asemanare.
4.2.1 Forma Schur (complexa)
Calculul valorilor proprii ale unei matrice este intim legat de calculul vectorilor
proprii asociat i. Daca (A) este cunoscuta, atunci vectorul propriu asociat este
o solut ie nenula a unui sistem liniar omogen. Daca se cunoaste un vector propriu x
al matricei A, atunci valoarea proprie asociata poate calculata cu relat ia
x
H
Ax
x
H
x
=
x
H
x
x
H
x
= (4.70)
care, pentru x de norma euclidiana unitara, i.e. |x| = 1, devine
= x
H
Ax. (4.71)
Intrucat valorile proprii sunt rad acinile unei ecuat ii algebrice, calculul lor pentru
matrice de ordin superior lui patru, n absent a cunoasterii vectorilor proprii, este
11
Matricele normale, care sunt unitar diagonalizabile (v. teorema 4.10), nu constituie un caz
generic.
228 CAPITOLUL 4. VALORI SI VECTORI PROPRII
n mod necesar un proces (iterativ) innit, aceeasi situat ie aparand si la calculul
vectorilor proprii fara a se cunoaste valorile proprii asociate.
De aceea, una din ideile aate la baza asigurarii ecient ei tehnicilor de calcul
a valorilor si vectorilor proprii este exploatarea rezultatelor part iale prin reduce-
rea corespunzatoare a dimensiunii problemei.
In sprijinul aplicarii acestei idei vin
urmatoarele rezultate.
Propozit ia 4.2 Fie A I C
nn
si A I C
n
un subspat iu A-invariant p-dimensional
dat printr-o baza ortogonala x
1
, x
2
, . . . , x
p
. Atunci exista o matrice unitara Q
I C
nn
cu Q( : , j) = x
j
, j = 1: p, astfel ncat
Q
H
AQ =
_
S
11
S
12
0 S
22
_
, (4.72)
cu S
11
I C
pp
.
al lui A n I C
n
. Atunci matricea
Q = [ X Y ] este unitara. Conform propozit iei 4.1, punctul 2
, exista o matrice
S
11
I C
pp
cu (S
11
) (A) astfel ncat AX = XS
11
, i.e. X
H
AX = S
11
.
In plus
Y
H
AX = Y
H
XS
11
= 0.
In consecint a avem
S=Q
H
AQ=
_
X
H
Y
H
_
A
_
X Y
=
_
X
H
AX X
H
AY
Y
H
AX Y
H
AY
_
=
_
S
11
S
12
0 S
22
_
(4.73)
unde, evident, S
12
= X
H
AY , S
22
= Y
H
AY . q.e.d.
In cazul real, conform aceleiasi propozit ii 4.1, toate subspat iile implicate n
demonstrat ia de mai sus sunt n IR
n
, iar matricea Q este ortogonala. Evident, n
acest caz spectrul matricei S
11
este o submult ime simetrica a spectrului matricei A.
Demonstrat ia este completa. 3
Observat ia 4.3 Calculul matricei unitare de asemanare Q este condit ionat esent ial
de cunoasterea unei baze V = [ v
1
v
2
v
p
] a subspat iului A-invariant A.
In acest
caz, construct ia unei baze ortogonale X a lui A si a unei completari ortogonale Y
se poate face dupa recomandarile din capitolul 3. Concret, daca
V = Q
_
R
1
0
_
este factorizarea QR (complexa) a matricei V , unde Q I C
nn
este unitara, iar
R
1
I C
pp
este nesingulara, atunci X = Q( : , 1 : p), Y = Q( : , p +1 : n) sunt
cele doua baze ortogonale cautate, iar Q este matricea de transformare unitara de
asemanare din (4.72). 3
Pentru p = 1 baza V a subspat iului A-invariant din propozit ia 4.2 se reduce
la un vector propriu x de norma unitara asociat valorii proprii .
In acest caz
propozit ia 4.2 se particularizeaza n urmatoarea lema.
4.2. FORMA SCHUR 229
Lema 4.2 (Deat ie unitara) Fie A I C
nn
si (A). Atunci exista o matrice
unitara Q I C
nn
astfel ncat
Q
H
AQ =
_
S
12
0 S
22
_
. (4.74)
Conform observat iei 4.3, matricea de transformare poate Q = U
H
1
, unde U
1
este
reectorul (complex) care anuleaz a elementele 2 : n ale vectorului propriu x asociat
valorii proprii .
Aplicarea consecventa a lemei 4.2 ne conduce la urmatorul rezultat important.
Teorema 4.12 (Forma Schur) Oricare ar matricea A I C
nn
exista o matrice
unitara Q I C
nn
astfel ncat matricea
Q
H
AQ = S, (4.75)
este superior triunghiulara. Elementele diagonale ale matricei S sunt valorile pro-
prii ale matricei A si pot dispuse n orice ordine predeterminata.
Matricea S se numeste forma Schur (FS) a matricei A, iar coloanele matricei
de transformare Q se numesc vectori Schur ai matricei A asociat i formei Schur S.
Demonstrat ie. Pasul 1
1
S
(1)
12
0 S
(1)
22
_
_
,
realizandu-se o deat ie n prima coloana.
Pasul k
Q
H
k
S
(k1)
22
Q
k
=
_
k
S
(k)
12
0 S
(k)
22
_
.
Acum, matricea
Q
k
=
_
I
k1
0
0
Q
k
_
I C
nn
230 CAPITOLUL 4. VALORI SI VECTORI PROPRII
este unitara si
S
k
= Q
H
k
S
k1
Q
k
=
_
S
(k)
11
S
(k)
12
0 S
(k)
22
_
este superior triunghiulara n primele k coloane.
Procesul de triangularizare prin transformari unitare de asemanare, init iat con-
form pasului 1
, produce dupa
n 1 pasi matricea superior triunghiulara
S = Q
H
AQ,
unde matricea
Q = Q
1
Q
2
. . . Q
n1
, (4.76)
este unitara ca produs de matrice unitare.
Evident, ordinea elementelor diagonale ale matricei S poate aleasa n mod
arbitrar prin selectarea corespunzatoare a vectorilor proprii n aplicarea lemei 4.2.
Demonstrat ia este completa. 3
Incheiem paragraful subliniind faptul ca orice matrice patrata este unitar aseme-
nea cu o matrice superior triunghiulara. Daca matricea A este reala, dar are si valori
proprii complexe, atunci forma Schur S este complexa ca si matricea de transforma-
re Q.
In acest caz se spune ca S este forma Schur complexa (FSC) a matricei A.
4.2.2 Forma Schur reala
In majoritatea aplicat iilor n care este necesar calculul valorilor proprii, matricea are
elementele reale.
In aceste situat ii este mult mai ecienta utilizarea unei aritmetici
reale. Pentru aceasta, perechile de valori proprii complexe si perechile de vectori
proprii asociat i (care, dupa cum s-a mai precizat, pot considerat i, la randul lor, sub
forma unor vectori complex conjugat i) trebuie si pot tratate n mod unitar, ntr-o
aritmetica reala, prin intermediul unor blocuri matriceale 2 2, respectiv al unor
subspat ii A-invariante reale. Corespondentul formei Schur din cazul complex devine
o matrice cvasi-superior triunghiulara n care perechile de valori proprii complex
conjugate sunt evident iate prin blocuri diagonale 2 2, numita forma Schur reala.
In acest context vom formula si, n masura n care apar aspecte noi, vom demon-
stra corespondentele reale ale lemei 4.2 si teoremei 4.12.
Lema 4.3 (Deat ie ortogonala) Fie A IR
nn
.
a) Daca (A) IR, atunci exista o matrice ortogonala Q IR
nn
astfel ncat
Q
T
AQ =
_
S
12
0 S
22
_
. (4.77)
b) Daca
1,2
= i (A), ,= 0, atunci exista o matrice ortogonala Q IR
nn
astfel ncat
Q
T
AQ =
_
S
11
S
12
0 S
22
_
, (4.78)
4.2. FORMA SCHUR 231
unde
S
11
IR
22
, cu (S
11
) =
1
,
2
. (4.79)
Demonstrat ie. Prima parte a lemei se demonstreaza la fel cu lema 4.2 considerand
o matrice ortogonala Q a carei prima coloana este un vector propriu de norma
euclidiana unitara asociat valorii proprii . Pentru a doua parte a lemei consideram
vectorii proprii x
1,2
= v
1
iv
2
asociat i valorilor proprii complex conjugate
1,2
si
Y = [ y
1
y
2
] IR
n2
o baza ortogonala a subspat iului liniar A-invariant o = ImV ,
unde V = [ v
1
v
2
] IR
n2
si Z IR
n(n2)
o baza ortogonala a complementului
ortogonal T = o
a lui o n IR
n 12
. Evident, matricea Q = [ Y Z ] este ortogonala.
Pe de alta parte, ntrucat vectorii v
1
si v
2
sunt liniar independent i (vezi propozit ia
4.1), exista o matrice nesingulara P IR
22
astfel ncat V = Y P.
In consecint a,
din (4.14) avem AV = V B cu B =
_
_
. Rezulta
AY = AV P
1
= V BP
1
= Y S
11
,
unde
S
11
= P
_
_
P
1
. (4.80)
si, deci,
A
1
= Q
T
AQ =
_
Y
T
Z
T
_
A
_
Y Z
=
_
Y
T
AY Y
T
AZ
0 Z
T
AZ
_
=
_
S
11
S
12
0 S
22
_
,
(4.81)
punandu-se n evident a blocul diagonal de ordinul 2 real S
11
avand valorile proprii
complexe
1,2
. 3
Calculul matricei ortogonale de asemanare Q din lema de mai sus este condit io-
nat esent ial de cunoasterea unui vector propriu (real) x asociat valorii proprii reale
evident iate respectiv a part ii reale si a celei imaginare a unui vector propriu asociat
unei valori proprii complexe. Altfel spus, posibilitatea deat iei este condit ionata de
cunoasterea subspat iului A-invariant corespunzator.
Procedand ca n demonstrat ia teoremei 4.12, i.e. efectuand deat ia matricei
A pentru valorile proprii reale, respectiv pentru perechile de valori proprii com-
plexe, prin aplicarea sistematica a lemei de mai sus, pana la epuizarea ntregului
spectru si cumuland transformarile ortogonale part iale, obt inem urmatorul rezultat
important.
Teorema 4.13 (Forma Schur reala) Oricare ar matricea reala A IR
nn
, exista
o matrice ortogonala Q IR
nn
astfel ncat
Q
T
AQ = S =
_
_
S
11
S
12
S
1p
0 S
22
S
2p
0 0 S
pp
_
_
, (4.82)
12
Pentru construct ia acestor baze vezi observat ia 4.3.
232 CAPITOLUL 4. VALORI SI VECTORI PROPRII
unde S
ii
IR
11
sau S
ii
IR
22
si toate blocurile diagonale 22 au valorile proprii
complexe. Avem, evident,
(A) = (S) =
p
_
i=1
(S
ii
). (4.83)
Matricea cvasi-superior triunghiulara S se numeste forma Schur reala (FSR) a ma-
tricei A, iar coloanele matricei de transformare Q se numesc vectori Schur ai ma-
tricei A asociat i formei Schur reale S.
Evident, ordinea pasilor de deat ie ind arbitrara, forma Schur reala a unei
matrice poate avea blocurile diagonale n orice ordine predeterminata.
Conform (4.83) valorile proprii reale ale unei matrice pot determinate prin
simpla inspect ie a elementelor diagonale ale formei sale Schur reale, iar cele complexe
se pot calcula prin rezolvarea ecuat iilor caracteristice (de gradul 2) ale blocurilor
diagonale ale acesteia.
Procedura de deat ie sugereaza o tehnica de calcul a valorilor proprii ale unei
matrice prin reducerea acesteia la forma Schur (reala). Din pacate, punerea n
evident a a ecarei valori proprii necesita cunoasterea unui vector propriu asociat,
care, la randul sau, nu poate calculat direct fara a cunoaste valoarea proprie
respectiva. De aceea, procedura de deat ie trebuie sa e completata cu o metoda
de calcul a unui vector propriu fara cunoasterea valorii proprii asociate.
Metodele cele mai folosite de calcul iterativ al unui vector propriu sunt cunoscute
sub denumirile de metoda puterii si metoda puterii inverse.
4.3 Metoda puterii. Metoda puterii inverse
In aceasta sect iune vom prezenta doua modalitat i de construct ie recurenta a unor
siruri de vectori convergente, n condit ii precizate, catre un vector propriu al unei
matrice date. Aceste metode se bazeaza pe urmatorul rezultat simplu, a carui
demonstrat ie face obiectul exercit iului 4.11.
Lema 4.4 Fie o matrice A I C
nn
cu spectrul
(A) =
1
,
2
, ...,
n
. (4.84)
Atunci matricele A
k
, k IN
, AI
n
, I C, si, n cazul n care A este nesingulara,
A
1
au aceiasi vectori proprii cu matricea A si spectrele
(A
k
) =
k
1
,
k
2
, ...,
k
n
, (4.85)
(A I
n
) =
1
,
2
, ...,
n
, (4.86)
(A
1
) =
_
1
1
,
1
2
, ...,
1
n
_
. (4.87)
4.3. METODA PUTERII. METODA PUTERII INVERSE 233
4.3.1 Metoda puterii
Consideram o matrice A I C
nn
care are o valoare proprie dominanta, i.e. o valoare
proprie de modul strict superior modulelor tuturor celorlalte. Numerotam valorile
proprii ale matricei A n ordinea descrescatoare a modulelor
[
1
[ > [
2
[ [
3
[ ... [
n
[. (4.88)
Fie y
(0)
I C
n
un vector de norma euclidiana unitara a carui proiect ie ortogonala
pe direct ia vectorului propriu x
1
asociat valorii proprii dominante
1
(A) este
nenula, i.e. x
H
1
y
(0)
,= 0. Generic, un vector aleator normat satisface o astfel de
condit ie. Daca A este o matrice simpla, i.e. exista o baza a spat iului I C
n
formata
din vectorii proprii x
1
, x
2
, ..., x
n
ai acesteia, atunci y
(0)
poate descompus, n mod
unic, n raport cu acesta baza
y
(0)
=
n
i=1
i
x
i
, (4.89)
unde
1
,= 0. (4.90)
Daca denim sirul vectorial (y
(k)
)
kIN
prin
y
(k)
=
k
Ay
(k1)
, k = 1, 2, (4.91)
cu init ializarea y
(0)
si
k
un factor de normare denit de
k
=
1
|Ay
(k1)
|
, (4.92)
atunci, folosind induct ia, este usor de aratat ca
y
(k)
=
k
A
k
y
(0)
, (4.93)
unde
k
este un factor de normare cumulat
k
= 1/|A
k
y
(0)
|. Din (4.89), (4.93) si
lema 4.2 rezulta
y
(k)
=
k
n
i=1
A
k
x
i
=
k
n
i=1
k
i
x
i
=
k
k
1
_
1
x
1
+
n
i=2
i
(
1
)
k
x
i
_
. (4.94)
Utilizand (4.88) obt inem
i
1
1
_
k
= 0, i = 2 : n, (4.95)
si
lim
k
y
(k)
= x
1
, (4.96)
n care este un scalar nenul astfel ncat |x
1
| = 1. Prin urmare, sirul vectorial
construit cu schema de calcul
234 CAPITOLUL 4. VALORI SI VECTORI PROPRII
MP 1. Pentru k = 1, 2, . . .
1. Se calculeaza vectorul y
(k)
= Ay
(k1)
2. y
(k)
y
(k)
/|y
(k)
|
bazata pe relat ia de recurent a (4.91), care deneste metoda puterii, este convergent
catre vectorul propriu (4.95) asociat valorii proprii dominante a matricei A. Viteza
de convergent a este determinata de raportul [
2
/
1
[, ind cu atat mai mare cu cat
acest raport este mai mic.
In consecint a, metoda este ecienta n cazul matricelor
care au o valoare proprie net dominanta si o structura cu multe elemente nule (n
vederea unei implementari eciente a produsului Ay
(k1)
).
Pentru oprirea iterarii este necesar un criteriu care sa asigure o precizie de cal-
cul impusa. Avand n vedere faptul ca un vector propriu de norma unitara este
determinat pana la o multiplicare cu un numar de modul unitar (i.e. e
i
cu IR
n cazul complex si 1 n cazul real), un criteriu posibil este asigurarea unei co-
linearitat i impuse ntre vectorii calculat i la doi pasi consecutivi. Cum, n cazul
complex unghiul dintre doi vectori u si v este denit de (u, v) = arccos
v
H
u
|u| |v|
iar n cazul real de (u, v) = arccos
v
T
u
|u| |v|
, condit ia de oprire a iterarii poate
e
k
= [1 [(y
(k)
)
H
y
(k1)
[ [ < tol, respectiv e
k
= [1 [(y
(k)
)
T
y
(k1)
[ [ < tol,
(4.97)
unde tol este o tolerant a prescrisa (vezi si exercit iul 4.48). Introducand si abandonul
iterarii la atingerea unui numar maxim de iterat ii, obt inem urmatorul algoritm.
Algoritmul 4.1 (Metoda puterii) (Data o matrice A I C
nn
, un
nivel de tolerant a tol IR, tol > 1, si un numar maxim admis maxiter de
iterat ii, algoritmul calculeaza un vector propriu unitar y asociat valorii
proprii dominante a matricei date sau tipareste un mesaj daca obiectivul
nu a fost atins n numarul de iterat ii admis.)
1. Se alege aleator un vector y I C
n
.
2. y y/|y|
3. i = 0, e = 1
4. C^at timp e > tol
1. Daca i > maxiter atunci
1. Tipareste S-a atins numarul maxim de iterat ii fara a se
obt inut nivelul prescris al tolerant ei.
2. Stop
2. z = Ay
3. z z/|z|
4. e = [1 [z
H
y[ [
5. y z
6. i i + 1
4.3. METODA PUTERII. METODA PUTERII INVERSE 235
Comentarii. Avand n vedere simplitatea relat iei de recurent a, metoda puterii
se poate dovedi atractiva daca se cunoaste apriori existent a unei valori proprii net
dominante.
In caz contrar, viteza de convergent a poate nesatisfacatoare, iar n
cazul absent ei unei valori proprii dominante sirul poate divergent. De aceea,
folosind rezultatele lemei 4.4, trebuie realizate transformari ale matricei A care,
fara a afecta vectorii proprii, sa creeze o astfel de valoare proprie (net) dominanta.
O posibilitate este de a utiliza o deplasare (eventual variabila
k
) a spectrului
matricei A astfel ncat matricea AI
n
sa aiba o valoare proprie (net) dominanta.
In acest caz schema de calcul pentru o iterat ie a metodei puterii cu deplasare devine
MP 1. Pentru k = 1, 2, . . .
1. Se calculeaza vectorul y
(k)
= (A
k
)y
(k1)
.
2. y
(k)
y
(k)
/|y
(k)
|.
Din nefericire, determinarea deplasarii
k
efectiv utile nu este deloc simpla, mo-
tiv pentru care aceasta idee este folosita n paragraful urmator pentru rezolvarea
aceleiasi probleme ntr-un context modicat. 3
4.3.2 Metoda puterii inverse
Presupunem din nou ca matricea A I C
nn
este simpla avand valorile proprii
i
,
i = 1: n (nu neaparat ntr-o ordine anumita) si vectorii proprii asociat i x
i
, i = 1 : n.
Fie , (A) o aproximat ie a lui
1
. Atunci, conformlemei 4.4, matricea (I
n
A)
1
are valorile proprii (
i
)
1
, i = 1 : n, si aceiasi vectori proprii cu cei ai matricei
A. Prin urmare, daca alegem un vector init ial y
(0)
nedefectiv n raport cu x
1
, i.e.
satisfacand (4.89) si (4.90), putem deni, utilizand metoda puterii pentru matricea
(I
n
A)
1
, sirul de vectori unitari
y
(k)
=
k
(I A)
1
y
(k1)
, k = 1, 2, ... (4.98)
unde
k
este un factor scalar de normare. Acum, daca deplasarea este mult mai
apropiata de
1
decat de
i
, i = 2 : n, atunci [(
1
)
1
[ va mult mai mare
decat [(
i
)
1
[, i = 2 : n, i.e.,
max
i=2:n
[(
i
)
1
[
[(
1
)
1
[
1, (4.99)
si, n consecint a sirul (y
(k)
) este foarte rapid convergent catre x
1
.
Relat ia de recurent a (4.98) deneste metoda puterii pentru matricea (I
n
A)
1
si este cunoscuta sub denumirea de metoda puterii inverse cu deplasare pentru
matricea A. Desigur, pentru calculul iterat iei (4.98) nu se inverseaza matricea
I
n
A ci se rezolva sistemul liniar corespunzator, conform urmatoarei scheme de
calcul, denitorie pentru o iterat ie a metodei puterii inverse.
MPI 1. Pentru k = 1, 2, . . .
1. Se rezolva sistemul (I
n
A)y
(k)
= y
(k1)
n raport cu y
(k)
.
2. y
(k)
y
(k)
/|y
(k)
|.
236 CAPITOLUL 4. VALORI SI VECTORI PROPRII
Rezolvarea sistemului liniar din schema de mai sus necesita un efort de calcul apre-
ciat la n
3
/3 operat ii scalare n virgula mobila de tipul +, ceea ce reprezinta
un pret foarte ridicat pentru o singura iterat ie a procesului de calcul al unui singur
vector propriu. Din fericire, cel mai adesea metoda se aplica unor matrice avand
structura superior Hessenberg ceea ce reduce numarul de operat ii la n
2
pentru
o iterat ie. Utilizarea unei deplasari constante asigura convergent a catre vectorul
propriu asociat valorii proprii dominante a matricei (AI
n
)
1
, i.e. asociat valorii
proprii a matricei A celei mai apropiate de deplasarea .
k
= Ay
(k1)
(4.100)
de n ecuat ii cu necunoscuta scalara
k
, sistem obt inut prin actualizarea, pentru
pasul curent, a relat iei asimptotice y
()
= Ay
()
, care este chiar relat ia de
denit ie a valorilor si vectorilor proprii. Pseudosolut ia n sens CMMP a sistemului
(4.100) (vezi cap. 3) este asa numitul cat Rayleigh al perechii (A, y
(k1)
) denit de
k
=
(y
(k1)
)
H
Ay
(k1)
|y
(k1)
|
2
= (y
(k1)
)
H
Ay
(k1)
. (4.101)
Avand n vedere faptul ca aceast a aproximare este din ce n ce mai buna rezulta ca
viteza de convergent a a sirului (y
(k)
)
kIN
este din ce n ce mai ridicata. Concret, se
poate demonstra ca are loc asa-numita convergent a patratica, i.e. exista o constanta
astfel ncat
|y
(k+1)
x
1
| |y
(k)
x
1
|
2
. (4.102)
Criteriile practice de trunchiere a sirului construit prin metoda puterii inverse sunt
aceleasi cu cele utilizate n cadrul algoritmului 4.1. Cu aceste precizari prezentam
algoritmul de implementare a metodei puterii inverse cu deplasarile (4.101).
Algoritmul 4.2 (Metoda puterii inverse cu deplasare Rayleigh)
(Data o matrice A I C
nn
, un nivel de tolerant a tol IR, tol < 1, si un
numar maxim admis maxiter de iterat ii, algoritmul calculeaza un vector
propriu unitar y al matricei date sau tipareste un mesaj daca obiectivul
nu a fost atins n numarul admis de iterat ii.)
1. Se alege aleator un vector y I C
n
.
2. y y/|y|
3. i = 0, e = 1
4. C^at timp e > tol
1. Daca i > maxiter atunci
1. Tipareste S-a atins numarul maxim de iterat ii fara a se
obt inut nivelul prescris al tolerant ei.
4.3. METODA PUTERII. METODA PUTERII INVERSE 237
2. Stop
2. = y
H
Ay
3. Se rezolva sistemul liniar (I
n
A)z = y
4. z z/|z|
5. e = [1 [z
H
y[ [
6. y z
7. i i + 1
Comentarii. Metoda puterii inverse cu deplasare variabila data de catul Rayleigh
reprezinta cea mai buna cale de calcul al unui vector propriu al unei matrice. Con-
vergent a patratica este foarte rapida (dupa cum se poate vedea si din exemplul
4.3). Astfel, e.g. daca |y
(0)
x
1
| si = 1, atunci |y
(k)
x
1
|
2
k
.
Simultan cu calculul vectorului propriu, algoritmul calculeaza si valoarea proprie
asociata, data de valoarea nala a deplasarii .
In vederea obt inerii unei ecient e
sporite, este utila transformarea prealabila a matricei date la o forma (e.g., forma
superior Hessenberg) care sa aiba ca efect reducerea efortului de calcul necesar
pentru rezolvarea sistemului liniar de la instruct iunea 4.3. 3
Metoda puterii Metoda puterii inverse
k e
k
(k)
1
e
k
k
=
(k)
1
0 1.0000000000000 2.0000000000000 1.0000000000000 2.0000000000000
1 0.1055728090001 3.2000000000000 0.1322781687254 2.9411764705882
2 0.0262710088797 3.1481481481482 0.2003991735561 3.0045159755566
3 0.0026194296043 2.8921933085502 0.0000155353785 3.0000169808688
4 0.0006379322733 3.0572569906791 0.0000000000709 3.0000000001717
5 0.0002519147863 2.9922635151170 0.0000000000000 3.0000000000000
6 0.0000549638856 2.9945140858135
7 0.0000060060669 3.0060698628267
8 0.0000014882055 2.9974207755674
9 0.0000006272018 3.0004545082285
.
.
.
.
.
.
.
.
.
23 0.00000000000000 3.0000000351815
Tabelul 4.1: Rezultate numerice privind evolut ia erorii de pas e
k
si aproximat iei
curente
(k)
1
= (y
(k)
)
H
Ay
(k)
a valorii proprii dominante din exemplul 4.3.
Exemplul 4.3 Se considera matricea companion
A =
_
_
2 3 2 6
1 0 0 0
0 1 0 0
0 0 1 0
_
_
,
238 CAPITOLUL 4. VALORI SI VECTORI PROPRII
avand valorile proprii (exacte)
1
= 3,
2,3
= 1 i,
4
= 1.
Un vector propriu exact asociat valorii proprii dominante
1
= 3 si, respectiv,
vectorul propriu normat calculat pe baza valorii exacte sunt (vericat i!)
x
1
=
_
_
999
333
111
37
_
_
, x
1
=
x
1
|x
1
|
=
_
_
0.94288089928893
0.31429363309631
0.10476454436544
0.03492151478848
_
_
.
Evolut ia erorii curente e
k
din (4.97) si a aproximat iei curente
1k
a valorii proprii
dominante, calculate cu metoda puterii si metoda puterii inverse n variantele algo-
ritmice 4.1 si 4.2, sunt prezentate n tabelul 4.1, unde au fost utilizate init ializarea
y
(0)
= [ 1 0 0 0 ]
T
pentru vectorul propriu si tolerant a de 1.0 10
15
. Se verica
faptul ca, n aceleasi condit ii init iale, convergent a metodei puterii inverse este mult
mai rapida. Mai mult, valoarea proprie si vectorul propriu asociat (vezi tabelul
4.2), calculate n aceleasi condit ii de oprire a iterarii (i.e. cu aceeasi tolerant a) sunt
Metoda puterii Metoda puterii inverse
y
(23)
=
_
_
0.94288089793487
0.31429363608802
0.10476454880574
0.03492151110188
_
_
y
(5)
=
_
_
0.94288089928893
0.31429363309631
0.10476454436544
0.03492151478848
_
_
Tabelul 4.2: Vectorii proprii calculat i pentru datele din exemplul 4.3.
sensibil mai precise n cazul metodei puterii inverse (nu se constata nici o diferent a
n cele 15 cifre semnicative utilizate la asare fat a de valoarea considerata exacta).
3
In vederea unei prezentari mai clare si mai concise a algoritmilor din aceasta
sect iune vom folosi o serie de proceduri dezvoltate n capitolul 3. Sintaxa utilizata
si o descriere succinta a acestor proceduri sunt date n tabelul 4.3
15
. Precizam
ca, daca n apelul acestor proceduri, unii dintre parametrii de iesire au acelasi
nume cu unii dintre parametrii de intrare, atunci suprascrierea are loc n interiorul
procedurii respective, cu efecte benece corespunzatoare pentru economia spat iului
de memorie necesar. De asemenea, pentru a crea posibilitatea unor comparat ii
corecte a complexitat ilor, numarul asimptotic de operat ii aritmetice dat n tabel
este cel corespunzator operat iilor cu numere reale
16
.
14
Reamintim ca matricea H I C
nn
este n form a superior Hessenberg dac a h
ij
= 0, i > j +1.
15
Atragem atent ia ca, din dorint a de a prezenta c at mai unitar si mai limpede algoritmii
din capitolele 4, 5 si 6, procedurile din tabelul 4.3 au denumirile si sintaxele posibil diferite de
cele introduse n capitolul 3. Evident, pentru o implementare performant a a acestor proceduri
(acuratet e maxima, memorare optim a etc.) vor urmate recomand arile daten capitolul 3. Facem,
de asemenea, precizarea ca reectorii complecsi utilizat i n algoritmii din capitolele 4, 5 si 6 sunt, n
exclusivitate, reectori hermitici. Acolo unde utilizarea reectorilor nehermitici ofer a o alternativ a
de calcul viabila (cum este cazul unor algoritmi din capitolul 5), versiunile respective fac obiectul
unor exercit ii.
16
In cadrul algoritmilor care opereaz a cu numere complexe evaluarea num arului asimptotic de
operat ii aritmetice s-a realizat cu urm atoarele corespondent e:
Operat ie cu numere complexe Operat ii cu numere reale
adunare/scadere 2
nmult ire 6
mpart ire 11.
Totusi, chiar cu acceptarea aritmeticii complexe, acolo unde economia de efort de calcul este evi-
dent a, evaluarea s-a facut considerandu-se c a s-au utilizat explicit operat iile aritmetice cu numere
reale. Astfel, de exemplu, pentru un vector x I C
n
, x
2
2
se calculeaz a cu expresia x
2
2
=
= Rex
2
2
+ Imx
2
2
si nu folosind x
2
2
= x
H
x =
n
i=1
x
i
x
i
, realiz andu-se un efort de 4n opi
n loc de 7n opi. Precizam, de asemenea, c a evalu arile num arului de operat ii nu includ operat ii
conexe cum ar scalarea.
240 CAPITOLUL 4. VALORI SI VECTORI PROPRII
Sintaxa Intrari Iesiri Descriere Nop
b IR
n
Calculul unui reector real
[ b, u, ] = Hr(a) a IR
n
u IR
n
U1 = In uu
T
/ astfel 2n
IR ncat (b = U1a)(2 : n) = 0.
b I C
n
Calculul unui reector com-
[ b, u, ] = Hc(a) a I C
n
u I C
n
plex U1 = In uu
H
/ astfel 4n
IR ncat (b = U1a)(2 : n) = 0.
u IR
n
sau
nu
. Daca opt =
nu
, matricea Q ramane
nemodicata.)
1. Pentru k = 1 : n 2
1. [ A(k + 1 : n, k), u, ] = Hc(A(k + 1 : n, k))
2. A(k + 1 : n, k + 1 : n) = Hcs(u, , A(k + 1 : n, k + 1 : n))
3. A(1 : n, k + 1 : n) = Hcd(A(1 : n, k + 1 : n), u, )
4. Daca opt =
da
atunci
Q(1 : n, k + 1 : n) = Hcd(Q(1 : n, k + 1 : n), u, )
Comentarii. Pentru apelul algoritmului HQc va utilizata sintaxa generala
[ H, V ] = HQc(A, Q, opt),
care exprima posibilitatea de a memora rezultatele n alte tablouri decat cele init iale
desi calculele se fac cu suprascrierea interna a matricei init iale si a matricei de
transformare. Sintaxa propusa mai sus se poate dovedi utila n asigurarea unei
4.4. ALGORITMUL QR 243
prezentari clare a procedurilor care utilizeaza algoritmul HQc. De exemplu, apelul
[ A, U ] = HQc(A, I
n
,
da
In cazul real reectorii utilizat i vor reali si, n consecint a, matricea Hessen-
berg rezultata va reala.
Intrucat aceasta particularizare se obt ine pur si simplu
nlocuind identicatorii procedurilor complexe cu cei ai procedurilor reale core-
spunzatoare, ne marginim sa precizam sintaxa de apel cu care aceasta varianta va
folosita n continuare:
[ H, V ] = HQr(A, Q, opt).
Complexitatea algoritmului este O(n
3
), execut ia sa implicand N
op
10n
3
/3
operat ii cu numere complexe n format virgula mobila. Acumularea matricei de
transformare necesita N
op
4n
3
/3 operat ii suplimentare. Algoritmul HQ este nu-
meric stabil, i.e. matricea superior Hessenberg calculata ntr-o aritmetica n virgula
mobila este o matrice exact unitar (ortogonal) asemenea cu o matrice usor pertur-
bata A +E, unde matricea de perturbat ie E satisface condit ia |E| p(n)
M
|A|,
cu p(n) o funct ie cu crestere modesta de dimensiunea n a problemei. 3
Observat ia 4.4 Pentru obt inerea formei Hessenberg se pot utiliza si transformari
de asemanare neunitare (neortogonale).
Intr-adevar, folosind transformari gaussiene
elementare stabilizate M
k
P
k
, k = 2 : n 1, unde M
k
este o matrice inferior tri-
unghiulara elementara, iar P
k
este o matrice de permutare elementara (v. cap.2),
determinate corespunzator pentru anularea elementelor k + 1 : n din coloana k 1
a matricei curente, matricea
H = M
n1
P
n1
. . . M
2
P
2
AP
2
M
1
2
. . . P
n1
M
1
n1
va superior Hessenberg. O implementare ngrijita a secvent ei de transformari de
mai sus conduce la un efort de calcul redus la jumatate fat a de cel necesar pen-
tru execut ia algoritmului HQ. Detaliile algoritmului fac obiectul exercit iului 4.50.
Anumite ret ineri existente n utilizarea acestei solut ii sunt datorate unor posibile
instabilitat i numerice (a caror existent a este dovedita teoretic, dar care apar foarte
rar n practica) precum si unor dicultat i n analiza erorilor, dicultat i induse de
faptul ca transformarile neunitare (neortogonale) nu conserva condit ionarea valo-
rilor proprii. 3
4.4.2 Faza iterativa a algoritmului QR
Etapa iterativa a algoritmului QR utilizeaza, ntr-o maniera implicita, metodele
puterii si puterii inverse pentru reducerea unei matrice la forma Schur (reala). Desi
implementarile profesionale ale algoritmului QR utilizeaza, n exclusivitate, din
motive de ecient a calculatorie (n cazul matricelor reale), varianta cu deplasare
implicita cu pas dublu, din rat iuni pedagogice vom prezenta si variantele cu de-
plasare explicita.
244 CAPITOLUL 4. VALORI SI VECTORI PROPRII
A. Algoritmul QR cu deplasare explicita
Presupunem ca matricea H I C
nn
are o structura superior Hessenberg. Algoritmul
QR cu deplasare explicita construieste un sir de matrice
H = H
1
, H
2
, , H
k
, H
k+1
, (4.109)
pe baza relat iei de recurent a
_
H
k
k
I
n
= Q
k
R
k
H
k+1
= R
k
Q
k
+
k
I
n
, k = 1, 2, , H
1
= H, (4.110)
unde scalarul
k
, denumit deplasare, este folosit pentru asigurarea convergent ei.
In
prima relat ie (4.110) matricea H
k
k
I
n
este factorizata QR, i.e. scrisa sub forma
unui produs dintre matricea unitara Q
k
si matricea superior triunghiulara R
k
(vezi
cap.3).
In relat ia a doua din (4.110) matricea succesor H
k+1
se obt ine nmult ind
matricele Q
k
si R
k
n ordine inversa si anuland deplasarea prin adunarea matricei
k
I
n
. Sirul (4.109), generat de (4.110), este denumit sirul QR. Corespunzator,
tranzit ia H
k
H
k+1
se numeste un pas sau o transformare QR.
Principalele proprietat i ale sirului QR sunt date de urmatoarea propozit ie.
Propozit ia 4.3 a) Daca matricea init iala H
1
= H a sirului matriceal QR este
superior Hessenberg, atunci toate matricele sirului au aceeasi structura. Altfel spus,
structura Hessenberg este invarianta la transformarile QR.
b) Toate matricele sirului QR sunt unitar asemenea si, prin urmare, au acelasi
spectru de valori proprii.
In cazul real armat iile de mai sus raman valabile daca n locul operatorului
hermitic, de transpunere si conjugare, se utilizeaza operatorul de transpunere.
Demonstrat ie. a) Daca H
k
din (4.110) este o matrice superior Hessenberg, aceeasi
structura o are si matricea H
k
k
I
n
. Algoritmul de factorizare QR (v. cap.3) apli-
cat matricei superior Hessenberg H
k
k
I
n
produce o matrice unitara Q
k
superior
Hessenberg
17
.
Intrucat R
k
este superior triunghiulara rezulta ca matricea unitara
Q
k
este, de asemenea, superior Hessenberg. Cum produsul dintre o matrice superior
triunghiulara si o matrice superior Hessenberg este o matrice superior Hessenberg
(vericat i!) rezulta ca R
k
Q
k
este superior Hessenberg si, evident, aceeasi structura
o are si matricea H
k+1
. Prin induct ie, daca H
1
= H este superior Hessenberg,
atunci toate matricele H
k
, k = 2, 3, ... sunt matrice superior Hessenberg.
b) Din prima relat ie (4.110) avem
R
k
= Q
H
k
(H
k
k
I
n
), (4.111)
care, introdusa n cea de a doua relat ie (4.110), conduce la
H
k+1
= Q
H
k
(H
k
k
I
n
)Q
k
+
k
I
n
= Q
H
k
H
k
Q
k
, (4.112)
17
Daca
k
(H
k
) (care este cazul curent), atunci matricea superior triunghiular a R
k
este
nesingulara si matricea Q
k
este, n mod necesar, superior Hessenberg.
4.4. ALGORITMUL QR 245
i.e. H
k+1
si H
k
sunt unitar asemenea si au acelasi spectru. Aplicand (4.112) n
mod repetat obt inem
H
k
= Q
H
k1
Q
H
k2
Q
H
1
H
1
Q
1
Q
k2
Q
k1
=
Q
H
k
H
Q
k
, (4.113)
unde
Q
k
= Q
1
Q
2
Q
k1
(4.114)
este o matrice unitara (ca produs de matrice unitare). Prin urmare, toate matricele
din sirul QR sunt unitar asemenea si, n consecint a, au acelasi spectru. Transfor-
marea unitara cumulata (4.114) poate construita recurent cu relat ia
Q
k+1
=
Q
k
Q
k
, k = 1, 2, ,
Q
1
= I
n
. (4.115)
Propozit ia este demonstrata. 3
k
I
n
) = Q
H
k
Q
H
k
(H
k
I
n
)
Q
k
=
Q
H
k+1
(H
k
I
n
)
Q
k
, (4.116)
de unde
R
k
Q
H
k
=
Q
H
k+1
(H
k
I
n
). (4.117)
Putem scrie acum dependent a dintre ultimele coloane q
(k+1)
n
si q
(k)
n
ale matricelor
Q
k+1
si, respectiv,
Q
k
.
Intr-adevar, prin transpunerea si conjugarea relat iei (4.117)
se obt ine
Q
k
R
H
k
= (H
H
k
I
n
)
Q
k+1
, (4.118)
unde
k
este conjugata deplasarii
k
.
Intrucat R
H
k
este inferior triunghiulara, ega-
litatea ultimelor coloane din (4.118) conduce la
r
(k)
nn
q
(k)
n
= (H
H
k
I
n
) q
(k+1)
n
(4.119)
sau, daca
k
, (H),
q
(k+1)
n
= r
(k)
nn
(H
H
k
I
n
)
1
q
(k)
n
, (4.120)
246 CAPITOLUL 4. VALORI SI VECTORI PROPRII
unde r
(k)
nn
este conjugatul lui r
(k)
nn
. Relat ia (4.120) deneste iterat ia puterii inverse
pentru determinarea unui vector propriu al matricei H
H
.
In continuare vom arata
ca daca ultima coloana a matricei unitare de transformare este un vector propriu al
matricei H
H
atunci elementele extradiagonale ale ultimei linii ale matricei H se a-
nuleaza, similar cu procedura standard de deat ie. Pentru aceasta reamintim faptul
ca valorile proprii ale matricei H
H
sunt conjugatele valorilor proprii ale matricei H
si consideram transformarea unitara denita de matricea
Q =
_
Q v
n
, (4.121)
cu v
n
un vector propriu al matricei H
H
, i.e.
H
H
v
n
=
n
v
n
, cu
n
(H). (4.122)
Atunci, din (4.121) si (4.122) avem
_
v
H
n
H
Q =
n
v
H
n
Q = 0,
v
H
n
Hv
n
=
n
v
H
n
v
n
=
n
,
(4.123)
de unde rezulta
Q
H
H
Q =
_
Q
H
v
T
n
_
H
_
Q v
n
=
_
Q
H
H
Q
Q
H
Hv
n
v
H
n
H
Q v
H
n
Hv
n
_
=
_
H h
H
0
n
_
.
(4.124)
Viteza patratica de convergent a a vectorului coloana q
(k)
n
din (4.120) catre un vector
propriu al matricei H
H
poate obt inuta alegand pentru deplasarea
k
valoarea
(4.101) a catului Rayleigh
k
=
( q
(k)
n
)
H
H
H
q
(k)
n
( q
(k)
n
)
H
q
(k)
n
= ( q
(k)
n
)
H
H
H
q
(k)
n
= e
T
n
Q
H
k
H
H
Q
k
e
n
= e
T
n
H
H
k
e
n
=
h
(k)
nn
,
respectiv,
k
= h
(k)
nn
. (4.125)
Alegerea (4.125) a deplasarii originii garanteaza o rata excelenta de convergen-
t a a sirului QR catre forma Schur n ultima linie, i.e. de anulare asimptotica a
elementului h
(k)
n,n1
. Cand elementul h
(k)
n,n1
satisface o condit ie de forma
[h
(k)
n,n1
[ < tol([h
(k)
n1,n1
[ +[h
(k)
nn
[), (4.126)
unde tol este un nivel prescris de tolerant a, putem considera ca h
(k)
n,n1
este numeric
neglijabil si l putem anula efectiv. Astfel h
(k)
nn
devine o valoare proprie calculata a
lui H. Dupa aceasta operat ie, dimensiunea problemei s-a redus cu o unitate.
(ii) Sirul QR implementeaza simultan o versiune a metodei puterii cu de-
plasare. Astfel, n acelasi timp, sirul QR pune asimptotic n evident a, chiar daca
cu o viteza mai redusa, si alte valori proprii pe diagonala matricei curente a sirului.
4.4. ALGORITMUL QR 247
Q
k+1
R
k
= (H
k
I
n
)
Q
k
. (4.127)
Egalitatea primelor coloane ale matricelor din (4.121) conduce la
Q
k+1
r
(k)
1
= (H
k
I
n
) q
(k)
1
, (4.128)
unde q
(k)
1
=
Q
k
e
1
este prima coloana a matricei
Q
k
si r
(k)
1
= R
k
e
1
este prima
coloana a matricei R
k
.
Intrucat R
k
este superior triunghiulara, avem r
(k)
1
= r
(k)
11
e
1
si, deci, (4.128) poate scrisa n forma echivalenta
q
(k+1)
1
=
1
r
(k)
11
(H
k
I
n
) q
(k)
1
, (4.129)
care exprima recurent a ce deneste metoda puterii pentru calculul unui vector pro-
priu al matricei H, utilizand un parametru scalar de deplasare
k
. Conform celor
aratate n sect iunea 4.3, daca
k
evolueaza astfel ncat matricea H
k
I
n
are o
valoare proprie dominanta atunci prima coloana a matricei unitare de transformare
Q
k
converge catre un vector propriu asociat acestei valori proprii.
In conformitate
cu procedura de deat ie (vezi sect iunea 4.2) prima coloana a matricei
Q
H
k
H
Q
k
= H
k
converge catre prima coloana a formei Schur a lui A, i.e. elementul subdiagonal din
prima coloana a lui H se anuleaza asimptotic. Viteza de convergent a depinde de
evolut ia modulului raportului primelor doua valori proprii (enumerate n ordinea
descrescatoare a modulelor) ale matricei H
k
I
n
.
Avand n vedere faptul ca cele doua procese de deat ie au loc simultan si ca,
odata luata decizia de neglijare a elementelor subdiagonale sucient de mici, di-
mensiunea problemei de calcul scade, o experient a numerica destul de consistenta
a condus la evaluarea ca, n mod obisnuit, pentru calculul unei valori proprii a unei
matrice Hessenberg sunt suciente, n medie, 1.5-2 iterat ii QR. Aceasta viteza de
convergent a except ionala se datoreaza faptului, constatat experimental, ca o data cu
elementele subdiagonale din ultima linie si prima coloana, toate celelalte elemente
subdiagonale au tendint a de anulare asimptotica.
Pe de alta parte, asa cum s-a precizat, sirul QR nu converge ntotdeauna, exi-
stand situat ii n care elementele subdiagonale, inclusiv cel de pe pozit ia (n, n1),
nu se anuleaza asimptotic.
In practica numerica astfel de situat ii sunt rare, pato-
logice, si se pot lua masuri care sa le faca extrem de rare. Prezentamn continuare
un astfel de caz.
Exemplul 4.4 Se considera matricea H IR
44
n forma superior Hessenberg
H =
_
_
0 0 0 1
1 0 0 0
0 1 0 0
0 0 1 0
_
_
,
avand valorile proprii (exacte), ordonate arbitrar,
1
= 1,
2,3
= i,
4
= 1.
248 CAPITOLUL 4. VALORI SI VECTORI PROPRII
1 = 0.001
k h
(k)
21
h
(k)
32
h
(k)
43
1 1.00000000000000 1.00000000000000 1.00000000000000
2 0.99999900000088 0.99999999999950 0.99999949999887
3 0.99999800000800 0.99999999999800 0.99999799999200
.
.
.
.
.
.
.
.
.
.
.
.
11 0.89589063292443 0.99770241027003 0.86085664887513
12 0.74524339988451 0.99080233083311 0.48323652626445
13 0.58630453030022 0.99453900211462 0.04719725489411
14 0.44579447911603 0.99846792286246 0.00003625307539
15 0.32803260297652 0.99959510209257 0.00000000000002
16 0.23685107105612 0.99989584829055 0.00000000000000
.
.
.
.
.
.
.
.
.
.
.
.
25 0.01069551270948 0.99999999959102 0
.
.
.
.
.
.
.
.
.
.
.
.
50 0.00000184648291 1.00000000000000 0
.
.
.
.
.
.
.
.
.
.
.
.
100 0.00000000000006 1.00000000000000 0
Tabelul 4.4: Rezultate numerice pentru exemplul 4.4 privind evolut ia elementelor
subdiagonale h
(k)
i+1,i
, i = 1 : 3, ale matricelor H
k
cu init ializarea
1
= 0.001 ,= 0 a
deplasarii.
4.4. ALGORITMUL QR 249
Se observa ca H este o matrice ortogonala (de permutare). De asemenea nu este
greu de vazut ca sirul QR construit cu relat iile (4.110) cu deplasarile (4.125) lasa
matricea H nemodicata, i.e.
H
k
= H, k = 1, 2, . . .
Intr-adevar, e H
1
def
= H. Avem
1
= h
44
= 0, deci H
1
1
I
4
= H
1
. Cum H
1
este ortogonala, o factorizare QR a lui H
1
se obt ine pentru Q
1
= H
1
si R
1
= I
4
.
Rezulta H
2
= H
1
si, prin induct ie, se obt ine relat ia de mai sus pentru tot i k.
Evolut ia elementelor subdiagonale h
(k)
i+1,i
, i = 1 : 3, ale matricelor H
k
pentru
init ializarea
1
= 0.001 ,= 0 a deplasarii este prezentata n tabelul 4.4, iar pentru
init ializarea recomandata
1
= 2 ,= 0 a deplasarii este prezentata n tabelul 4.5,
din care se poate observa viteza diferita de anulare asimptotica a elementelor h
43
1 = 2
k h
(k)
21
h
(k)
32
h
(k)
43
1 1.00000000000000 1.00000000000000 1.00000000000000
2 0.91651513899117 0.98169181562325 0.80868982852162
3 0.78445125612917 0.97895246315181 0.34595766230725
4 0.63665525316291 0.99162466881300 0.01531773203215
5 0.49164479289711 0.99761224919910 0.00000122920448
6 0.36518170914743 0.99936015720678 0.00000000000000
.
.
.
.
.
.
.
.
.
.
.
.
25 0.00053197970928 1.00000000000000 0
.
.
.
.
.
.
.
.
.
.
.
.
50 0.00000009183752 1.00000000000000 0
.
.
.
.
.
.
.
.
.
.
.
.
100 0.000000000000000 1.00000000000000 0
Tabelul 4.5: Rezultate numerice pentru exemplul 4.4 privind evolut ia elementelor
subdiagonale h
(k)
i+1,i
, i = 1 : 3, ale matricelor H
k
cu init ializarea
1
= 2 ,= 0 a
deplasarii.
si h
21
si evident ierea valorilor proprii reale
1
si
4
n pozit iile diagonale
11
si
44
.
Iterand de un numar sucient de ori cititorul interesat va avea conrmarea faptului
ca limita sirului QR construit cu una din init ializarile date pentru este
H
k
H
=
_
_
1 0 0 0
0 0 1 0
0 1 0 0
0 0 0 1
_
_
.
Faptul ca elementul h
(k)
32
nu se anuleaza asimptotic se datoreaza utilizarii exclusive
250 CAPITOLUL 4. VALORI SI VECTORI PROPRII
a aritmeticii reale si alegerii
k
= h
(k)
44
, a deplasarii pentru tot i k 2. Modul n
care se gestioneaza ntreaga structura a matricei H
k
este tratat mai departe. 3
Observat ia 4.5 Situat iile de genul celor evident iate n exemplul 4.4 se pot se-
siza prin supravegherea elementului h
n,n1
si daca, dupa un numar convenit de
iterat ii
18
modulul sau nu scade sub o tolerant a impusa, se intervine, de obicei prin
renunt area, pentru un singur pas, la deplasarea data de (4.125).
In literatura de
specialitate (vezi [ X]) exista unele recomandari pentru alegerea acestei deplasari
modicate, bazate pe o bogata experient a numerica dar lipsite de o justicare teo-
retica corespunzatoare. Daca o astfel de masura nu da rezultate, n general se
renunt a la continuarea calculului
19
. Detaliile vor precizate n descrierea algorit-
milor. 3
In cazul matricelor reale se poate impune utilizarea exclusiva a unei aritmetici reale.
Daca matricea are si valori proprii complex conjugate alegerea recomandata mai sus
pentru deplasarea
k
nu mai poate asigura convergent a procesului de evident iere a
valorilor proprii. Asa cum s-a vazut n demonstrat ia lemei 4.3, pentru evident ierea
unui bloc 22 al formei Schur reale, deat ia se face cu ajutorul unei baze ortogonale
(reale) a subspat iului A-invariant generat de partea reala si cea imaginara a perechii
de vectori proprii asociat i. Aceasta a condus la ideea comasarii a doi pasi consecutivi
QR ntr-unul singur
20
si a utiliz arii unei perechi de deplasari complex conjugate
care, n pasul dublu, apar n combinat ii reale.
Concret, e H IR
nn
o matrice superior Hessenberg si doi pasi consecutivi
QR cu deplasare explicita
_
H
k
k
I
n
= Q
k
R
k
H
k+1
= R
k
Q
k
+
k
I
n
,
_
H
k+1
k+1
I
n
= Q
k+1
R
k+1
H
k+2
= R
k+1
Q
k+1
+
k+1
I
n
, (4.130)
care pot contrasi n transformarea directa H
k
H
k+2
, numita pas dublu QR.
k+1
.
2. Se calculeaza factorizarea QR a matricei M, i.e. M =
Q
R, unde
Q = Q
k
Q
k+1
si
R = R
k
R
k+1
.
3. H
k+2
=
Q
T
H
k
Q.
Deplasarile
k
si
k+1
se aleg, n concordant a cu cele discutate mai sus, egale cu
valorile proprii ale blocului 2 2 din colt ul din dreapta jos al matricei H
k
:
H
k
(n1 : n, n1 : n) =
_
h
(k)
n1,n1
h
(k)
n1,n
h
(k)
n,n1
h
(k)
n,n
_
. (4.132)
Important este faptul ca, n schema de calcul aferenta unui pas dublu QR, cele
doua valori proprii apar sub form a de suma si produs:
_
_
_
s
k
=
k
+
k+1
= h
(k)
n1,n1
+h
(k)
n,n
p
k
=
k
k+1
= h
(k)
n1,n1
h
(k)
n,n
h
(k)
n1,n
h
(k)
n,n1
, (4.133)
20
Se poate imagina si o comasare a mai mult i pasi QR n cadrul unei strategii a pasilor
multipli. O astfel de solut ie este utilizat a n LAPACK [ XV] pentru procedurile bloc de calcul
al valorilor proprii.
252 CAPITOLUL 4. VALORI SI VECTORI PROPRII
care sunt reale chiar daca cele doua deplasari individuale sunt complexe.
Strategia pasului dublu QR nu se aplica nsa n forma explicita de mai sus
ntrucat implementarea schemei de calcul prezentate conduce la o reducere sensi-
bila a ecient ei.
Intr-adevar, complexitatea unui pas simplu QR este O(n
2
) si la fel
este si complexitatea a doi pasi simpli QRn timp ce numarul de operat ii necesar
pentru execut ia unui pas dublu QR, datorita calculului explicit al matricei M, este
de ordinul O(n
3
). Aceasta nseamna ca forma explicita a pasului dublu QR nu este
optimala. Refacerea complexitat ii la O(n
2
) este posibila (dar nu apare n mod sim-
plu), iar varianta de calcul este cunoscuta sub denumirea de varianta cu deplasare
implicita si este utilizata n toate implementarile profesionale ale algoritmului QR
pentru matrice reale.
C. Ideea algoritmului QR cu deplasare implicita
Scopul fundamental al dezvoltarii variantei cu deplasare implicita a algoritmului
QR este reducerea complexitat ii unui pas dublu QR aplicat unei matrice reale
n forma superior Hessenberg la nivelul complexitat ii a doi pasi simpli QR. Desi,
principial, exista toate motivele ca acest lucru sa e posibil, aspectele tehnice sunt
departe de a triviale. Algoritmul QR cu deplasare implicita dateaza din anul
1961 si a fost propus de J.G.F. Francis [ 26 ] si V.N. Kublanovskaia [ 39 ].
Conform celor prezentate mai sus referitor la pasul dublu QR, matricele H
k
si H
k+2
=
Q
T
k
H
k
Q
k
au structura superior Hessenberg si sunt ortogonal asemenea.
Sansele de a gasi o cale alternativa de calcul a matricei succesor H
k+2
si, eventual,
a matricei de transformare asociate, sunt legate nemijlocit de evident ierea gradelor
de libertate existente. Avand n vedere aceasta observat ie, suntem interesat i de
condit iile n care transformarea care deneste un pas QR este unica sau poate
restransa la o clasa bine precizata.
Pentru nceput, observam ca, n general, matricea unitara Q
k
care deneste
relat ia de asemanare dintre matricele superior Hessenberg H
k
si H
k+1
din sirul QR
nu este unica.
Intr-adevar, e V I C
nn
o matrice unitara arbitrara. Aplicarea
algoritmului HQc matricei V
H
H
k
V conduce la obt inerea unei matrice superior
Hessenberg unitar asemenea cu H
k
si care depinde de alegerea lui V .
Restrangerea transformarilor la o clasa de transformari, echivalente din punc-
tul de vedere al convergent ei catre forma Schur, va facuta pentru matricele supe-
rior Hessenberg ireductibile
21
denite mai jos.
Denit ia 4.6 O matrice n n complexa sau reala H superior Hessenberg se nu-
meste ireductibila daca are toate elementele subdiagonale nenule, i.e.
h
j+1,j
,= 0, j 1 : n1. (4.134)
Pentru matricele superior Hessenberg ireductibile prezentam teorema urma-
toare.
21
Problema calculului valorilor proprii ale unor matrice superior Hessenberg reductibile se
reduce la calculul valorilor proprii ale unor matrice superior Hessenberg ireductibile de dimensiuni
mai mici (vezi mai departe).
4.4. ALGORITMUL QR 253
Teorema 4.15 Fie matricea A I C
nn
si matricele unitare U I C
nn
si V I C
nn
astfel ncat matricele
H = U
H
AU, G = V
H
AV (4.135)
sunt ambele superior Hessenberg ireductibile. Daca matricele U si V au aceeasi
prima coloana, i.e.
Ue
1
= V e
1
, (4.136)
atunci
Ue
j
= e
ij
V e
j
,
j
IR, j = 2 : n, (4.137)
i.e. exista o matrice diagonala unitara D = diag(1,
2
, . . . ,
n
) cu
j
= e
ij
, j = 2: n,
astfel ncat
H = D
H
GD. (4.138)
k=1
w
k
h
kj
+w
j+1
h
j+1,j
, j = 1 : n 1.
Intrucat h
j+1,j
,= 0, obt inem urmatoarea exprimare a coloanei j + 1 a matricei W
n funct ie de coloanele precedente
w
j+1
=
1
h
j+1,j
(Gw
j
j
k=1
w
k
h
kj
),
expresie care, cu init ializarea w
1
= e
1
, probeaza faptul ca matricea W este superior
triunghiulara. Cum o matrice unitara triunghiulara este n mod necesar diagonala
cu toate elementele diagonale de modul unitar (vezi exercit iul 4.20), rezulta w
j
=
= We
j
= e
ij
e
j
, j = 2 : n, si, deci, n (4.138) matricea diagonala D este chiar W,
i.e. avem D
def
= W. Relat iile (4.137) sunt o consecint a imediata a relat iei (4.138).
In cazul real demonstrat ia este aceeasi daca se t ine seama de faptul ca operat ia de
conjugare nu are efect si ca singurele numere reale de modul unitar sunt 1 si 1.
Fie
1
= 1. Atunci elementele diagonale ale matricei D se determina cu relat ia de
recurent a
i
=
g
i,i1
h
i,i1
i1
de unde rezulta ca, daca g
i,i1
si h
i,i1
au acelasi semn,
atunci
i
= 1, i = 2: n, i.e. D = I
n
. 3
254 CAPITOLUL 4. VALORI SI VECTORI PROPRII
D. Un pas QR cu deplasare implicita
pentru matrice complexe
Teorema 4.15 reprezinta fundamentul teoretic pentru variantele cu deplasare im-
plicita ale algoritmului QR. Ideea centrala a acestora consta n asigurarea condit iei
ca prima coloana a matricei de transformare cumulate aferente unui pas QR sa
coincida cu prima coloana a matricei de transformare de la varianta cu deplasare
explicita corespunzatoare, simultan cu minimizarea numarului de operat ii aritme-
tice, prin exploatarea ecienta a structurilor de zerouri ale matricelor implicate.
Concret, pentru implementarea unui pas simplu QR cu deplasare implicita se
procedeaza n felul urmator:
1. Se calculeaza prima coloana q
(k)
1
a matricei Q
k
din (4.110) ce de-
neste transformarea unitara aferenta unui pas simplu QR cu de-
plasare explicita.
2. Se determina o matrice unitara U
1
astfel ncat prima sa coloana sa
e q
(k)
1
, i.e. U
1
e
1
= q
(k)
1
.
3. Se calculeaza matricea B = U
H
1
H
k
U
1
(a carei structura nu mai
este superior Hessenberg).
4. Se reface structura superior Hessenberg, aplicand algoritmul HQc
matricei B: [H
k+1
,
Q
k+1
] = HQc(B,
Q
k
, opt). Transformarile im-
plicate de aceasta reducere nu afecteaza prima coloana a matricei
de transformare cumulate.
Aceasta schema de calcul deneste un pas QRcu deplasare implicita. Daca matricea
H
k
este ireductibila, atunci rezultatul H
k+1
al aplicarii schemei de calcul de mai
sus va esent ial acelasi, n sensul observat iei 4.6, cu cel dat de un pas QR cu
deplasare explicita. Pentru ca procedura cu deplasare implicita sa nu e inferioara,
din punctul de vedere al ecient ei, celei cu deplasare explicita, trebuie exploatate
corespunzator avantajele structurale date de forma Hessenberg a matricelor init iala
si nala. Detaliile unei implementari eciente sunt prezentate n continuare.
Fie, pentru simplicarea notat iilor, H
k
not
= H matricea curenta a sirului QR,
presupusa ireductibila, H
k+1
not
= H
matricea succesor,
k
not
= etc. (i.e. renunt am
la indicele k). Aceste notat ii se justica si prin faptul ca atat matricea H
cat si
matricea intermediara B pot suprascrie matricea H, i.e. toate calculele aferente
unui pas simplu QR cu deplasare implicita se pot desfasura pe loc, n tabloul H.
Urmand etapele din schema de calcul de mai sus avem urmatoarele particu-
laritat i.
1. Presupunem ca = h
nn
, (H), i.e. matricea H I
n
este nesingulara.
Prin urmare matricea superior triunghiulara R
k
not
= R din (4.110) este, de asemenea,
4.4. ALGORITMUL QR 255
nesingulara, iar prima coloana a matricei de transformare Q
k
not
= Q este
q
1
= Qe
1
=
1
r
11
_
_
h
11
h
21
0
.
.
.
0
_
_
. (4.139)
Numim vectorul
w =
_
h
11
h
21
_
I C
2
(4.140)
vector de deplasare implicita aferent unui pas QR.
2. Matricea unitara U
1
de la instruct iunea 2 a schemei de calcul de mai sus
poate un reector (complex) sau, si mai simplu, datorita structurii vectorului q
1
din (4.139), o rotat ie (complexa) U
1
= P
12
, astfel calculata ncat
U
H
1
q
1
= |q
1
|e
1
. (4.141)
In diagramele structurale de mai jos zerourile nou create au fost marcate cu , iar
alterarile de zerouri de la transformarea curenta au fost marcate cu +.
Incadrarile
256 CAPITOLUL 4. VALORI SI VECTORI PROPRII
marcheaza liniile si/sau coloanele afectate de transformarea curenta.
H B = U
H
1
HU
1
=
_
_
+
0 0
0 0 0
_
_
,
H P
H
23
H =
_
_
0 0
0 0 0
_
_
,
H HP
23
=
_
0
0
0
+
0 0
_
_
,
H P
H
34
H =
_
_
0
0
0 0 0
_
_
,
H HP
34
=
_
_
0
0 0
0 0
+
_
,
H P
H
45
H =
_
_
0
0
0 0
_
_
,
H HP
45
=
_
_
0
0 0
0 0 0
_
_
.
Calculul elementelor denitorii c
i
si s
i
ale rotat iei P
i,i+1
se face cu funct ia Gc, iar
calculul economic al produselor P
H
i,i+1
B si BP
i,i+1
exploateaza structura (aproape)
4.4. ALGORITMUL QR 257
Hessenberg a matricei B. Varianta adaptata a algoritmului HQc data de schema
de calcul de mai sus calculeaza matricea superior Hessenberg
H H
= P
H
n1,n
P
H
34
P
H
23
BP
23
P
34
P
n1,n
=
= P
H
n1,n
P
H
23
P
H
12
HP
12
P
23
P
n1,n
= Q
H
k
HQ
k
, (4.143)
i.e. matricea succesor a lui H din sirul QR cu pasi simpli.
Din rat iuni de organizare judicioasa a algoritmului QR si, mai ales, a algorit-
mului de ordonare a formei Schur (vezi sect iunea 4.6), vom introduce un algoritm
distinct de calcul al vectorului de deplasare implicita asociat unui pas simplu QR.
Algoritmul 4.4 (VD1 Calculul vectorului de deplasare implicita
pentru un pas simplu QR) (Data o matrice superior Hessenberg ire-
ductibila H I C
nn
, algoritmul calculeaza vectorul w I C
2
de deplasare
implicita pentru un pas simplu QR.)
1. = h
nn
2. w =
_
h
11
h
21
_
Comentarii. Sintaxa de apel a acestui algoritm va
w = VD1(H),
iar execut ia sa implica efectuarea unei singure operat ii cu numere complexe. 3
Cu aceste precizari putem prezenta algoritmul de implementare a unui pas sim-
plu QR cu deplasare implicita. Sunt utilizate proceduri prezentate n tabelul 4.3.
Algoritmul 4.5 (IT QR1 Un pas simplu QR cu deplasare im-
plicita) (Date o matrice superior Hessenberg ireductibila H I C
nn
si
vectorul de deplasare implicita w I C
2
, algoritmul suprascrie matricea
H cu matricea succesor H H
= Q
k
HQ
H
k
din sirul QR. De asemenea,
algoritmul furnizeaza vectorii c IR
n1
si s I C
n1
ale caror elemente
(c
i
, s
i
) denesc rotat iile P
i,i+1
utilizate.)
1. % Calculul si aplicarea rotat iei P
12
1. [ w, c
1
, s
1
] = Gc(w)
2. H(1 : 2, :) = Gcs(c
1
, s
1
, H(1 : 2, :))
3. H(1 : min(3, n), 1 : 2) = Gcd(H(1 : min(3, n), 1 : 2), c
1
, s
1
)
2. % Refacerea structurii Hessenberg
Pentru i = 2 : n 1
1. [ H(i : i+1, i 1), c
i
, s
i
] = Gc(H(i : i+1, i1))
2. H(i : i+1, i : n) = Gcs(c
i
, s
i
, H(i : i+1, i : n))
3. H(1 : min(i+2, n), i : i+1) =
= Gcd(H(1 : min(i+2, n), i : i+1), c
i
, s
i
).
258 CAPITOLUL 4. VALORI SI VECTORI PROPRII
Comentarii. Vom utiliza urmatoarea sintaxa de apel a algoritmului de mai sus
[ H, c, s ] = IT QR1(H, w).
Complexitatea unui pas simplu QR este O(n
2
) n ambele variante de utilizare a
deplasarii. Concret, pentru execut ia algoritmului 4.5 sunt necesari N
op
6n
2
opi
complecsi, carora le corespund N
op
26n
2
opi reali, la care se adauga cele n 1
extrageri de radical.
Preferint a pentru varianta cu deplasare implicita este justicata de o anume
omogenitate a demersului de calcul al valorilor proprii, t inand seama de faptul ca
n cazul matricelor reale aceasta varianta se impune cu necesitate. 3
E. Algoritmul QR pentru matrice complexe
Algoritmul QR pentru matrice complexe
22
se obt ine prin iterarea algoritmului
4.5, anularea efectiva a elementelor subdiagonale devenite neglijabile si exploatarea
structurala a acestor anulari n vederea obt inerii unei ecient e maxime.
Pentru deciziile de anulare a elementelor subdiagonale criteriul uzual este de
forma (4.126), i.e.
[h
i+1,i
[ < tol ([h
ii
[ +[h
i+1,i+1
[), (4.144)
unde scalarul tol deneste nivelul de tolerant a si are, n mod obisnuit, un ordin
de marime comparabil cu eroarea de reprezentare din formatul virgula mobila al
masinii t inta. Acest criteriu si gaseste o fundamentare, n sensul asigurarii unei
erori de evaluare a valorilor proprii de ordinul de marime al tolerant ei tol, mai
ales n situat iile n care are loc o scalare prealabila a matricei date (vezi 4.4 H).
De asemenea, avand n vedere faptul ca testul (4.144) are o pondere importanta n
economia algoritmului, efectuadu-se la ecare iterat ie pentru toate elementele subdi-
agonale ale submatricei superior Hessenberg ireductibile curente, n cazul matricelor
complexe se obt ine un spor semnicativ de ecient a daca se utilizeaza criteriul
[Re h
i+1,i
[ +[Imh
i+1,i
[ < tol ([Re h
ii
[ +[Imh
ii
[ +[Re h
i+1,i+1
[ +[Imh
i+1,i+1
[),
(4.145)
practic echivalent cu criteriul (4.144).
Pentru monitorizarea evolut iei structurale a matricelor din sirul QR, la ecare
iterat ie, dupa anularea elementelor subdiagonale h
i+1,i
, care satisfac condit ia din
(4.145), se va determina cel mai mic ntreg p si cel mai mare ntreg q astfel ncat
matricea Hessenberg curenta sa aiba structura
H =
_
_
H
11
H
12
H
13
0 H
22
H
23
0 0 H
33
_
_
p
n p q
q
, (4.146)
22
Algoritmul ce urmeaza se poate aplica, evident, si matricelor reale, cu condit ia accept arii
efectuarii operat iilor aritmetice cu numere complexe. Cum o operat ie elementar a cu numere com-
plexe implica ntre doua si unsprezece operat ii cu numere reale, utilizarea acestui algoritm pentru
matrice reale este inecienta. De aceea, n cazul real se utilizeaz a algoritmul 4.10 care opereaz a
numai cu date reale.
4.4. ALGORITMUL QR 259
cu H
11
I C
pp
, H
22
I C
(npq)(npq)
superior Hessenberg ireductibila si H
33
IR
qq
superior triunghiulara. Astfel, elementele diagonale ale blocului H
33
repre-
zinta valori proprii deja evident iate
23
, iar iterat ia QR se va aplica, de fapt, numai
blocului H
22
H
22
H
22
= Q
H
22
H
22
Q
22
, (4.147)
echivalenta cu aplicarea transformarii (4.110) cu
Q = diag(I
p
, Q
22
, I
q
). (4.148)
Aceasta transformare afecteaza celelalte blocuri ale matricei H din (4.146) n felul
urmator:
H H
= Q
H
HQ =
_
_
H
11
H
12
Q
22
H
13
0 Q
H
22
H
22
Q
22
Q
H
22
H
23
0 0 H
33
_
_
. (4.149)
Algoritmul QR se termina n momentul n care se anuleaza toate elementele
subdiagonale, i.e. q devine n 1.
Asa cum s-a aratat n exemplul 4.4, exista situat ii n care algoritmul QR, cu
deplasarile utilizate n pasul QR cu deplasare implicita din algoritmul 4.4, nu este
convergent. Conform recomandarilor din observat ia 4.5, n marea majoritate a
acestor situat ii convergent a poate restabilita modicand, pentru o singura iterat ie,
modul de calcul al vectorului de deplasare implicita. Pentru constatarea lipsei de
convergent a sau a unei rate de convergent a prea reduse vom contoriza iterat iile
efectuate pentru evident ierea valorii proprii din pozit ia curenta (n q, n q) (vezi
(4.146)). Daca dupa 10 sau 20 iterat ii elementul subdiagonal (n q, n q 1) nu
satisface condit ia (4.145), vectorul w de deplasare implicita (4.140) va calculat
folosind deplasarea empirica, recomandata e.g. n [ X],
= [Re h
nq,nq1
[ +[Re h
nq1,nq2
[ +i ([Imh
nq,nq1
[ +[Imh
nq1,nq2
[),
(4.150)
unde i este unitatea imaginara. Daca nici aceasta dubla masura nu asigura o
viteza de convergent a satisfacatoare, fapt apreciat prin efectuarea a nca 10 iterat ii
fara satisfacerea condit iei (4.145) de catre elementul (n q, n q 1), atunci se
declara esecul rezolvarii problemei de calcul al valorilor proprii ale matricei date.
Ment ionam ca desi, teoretic, o astfel de posibilitate nu este exclusa, practic ea nu
apare decat pentru date special create n acest scop.
Utilizand sintaxele de apel ment ionate ale algoritmilor 4.4 si 4.5 precum si ale
procedurilor din tabelul 4.3, algoritmul QR cu pasi simpli, cu deplasari implicite,
se scrie astfel.
Algoritmul 4.6 (QR1 Algoritmul QR cu pasi simpli, cu deplasari
implicite) (Date o matrice A I C
nn
, o matrice unitara Q I C
nn
si un nivel de tolerant a tol pentru anularea elementelor subdiagonale,
algoritmul calculeaza forma Schur A S =
Q
H
A
Q a matricei A (si,
deci, valorile proprii ale matricei A care sunt elementele diagonale ale
23
Alte valori proprii evident iate se pot g asi printre elementele diagonale ale blocului H
11
.
260 CAPITOLUL 4. VALORI SI VECTORI PROPRII
lui S). Toate calculele se efectueaza pe loc, n locat iile de memorie ale
tabloului A. Opt ional, se acumuleaza transformarile n matricea unitara
Q Q
Q. Opt iunea se exprima cu ajutorul variabilei logice opt de tipul
sir de caractere care poate lua valorile
da
sau
nu
. Daca nu se doreste
acumularea transformarilor, matricea Q ramane nemodicata.)
1. Daca n = 1 atunci return
2. % Reducerea la forma Hessenberg
1. [ A, Q] =HQc(A, Q, opt)
3. % Faza iterativa
1. p = 0, q = 0, cont it = 0
2. C^at timp q < n
1. % Anularea elementelor subdiagonale neglijabile
1. Pentru i = p + 1 : n q 1
1. Daca [Re a
i+1,i
[ +[Ima
i+1,i
[ <
< tol ([Re a
ii
[+[Ima
ii
[+[Re a
i+1,i+1
[+[Ima
i+1,i+1
[)
atunci a
i+1,i
= 0
2. % Determinarea lui q
1. C^at timp a
nq,nq1
= 0
1. q q + 1
2. % Terminarea normala a algoritmului
Daca q = n 1 atunci return.
3. cont it = 0
3. % Terminarea prin esec a algoritmului
1. Daca cont it > 30 atunci
1. Tipare ste S-au consumat 30 iterat ii QR pentru
evident ierea unei valori proprii fara a se atinge
acest obiectiv. Este posibil ca, pentru aceste date
de intrare, algoritmul QR sa nu e convergent.
2. Return.
4. % Determinarea lui p
1. p = n q 1
2. C^at timp a
p+1,p
,= 0
1. p p 1
2. Daca p = 0 atunci break
5. % Iterat ia curenta
1. k = p+1, l = nq
2. w = VD1(A(k: l, k: l))
3. % Calculul deplasarii implicite modicate
1. Daca cont it = 10 sau cont it = 20 atunci
1. = [Re h
l,l1
[ + i [Imh
l,l1
[
2. Dac a l > k + 1 atunci
= +[Re h
l1,l2
[ + i [Imh
l1,l2
[
3. w = [ h
kk
h
k+1,k
]
T
4.4. ALGORITMUL QR 261
4. [ A(k : l, k : l), c, s ] = IT QR1(A(k: l, k: l), w)
5. Daca k > 1 atunci
1. Pentru i = 1 : lk
1. A(1: p, p+i : p+i+1) =
= Gcd(A(1: p, p+i : p+i+1), c
i
, s
i
).
6. Daca l < n atunci
1. Pentru i = 1 : lk
1. A(p+i : p+i+1, l+1 : n) =
= Gcs(c
i
, s
i
, A(p+i : p+i+1, l+1 : n))
7. cont it cont it + 1
6. Daca opt =
da
atunci
1. Pentru i = 1 : lk
1. Q(:, p+i : p+i+1) = Gcd(Q(:, p+i : p+i+1), c
i
, s
i
)
Comentarii. Algoritmul implementeaza ideile expuse n prezentarea teoretica pre-
mergatoare, iar comentariile incluse asigura, speram, transparent a necesara pentru
identicarea lor. Ment ionam suplimentar ca, pentru contorizarea iterat iilor, a fost
utilizata variabila ntreaga cont it care se reinit ializeza la zero ori de cate ori se a-
nuleaza un nou element subdiagonal. De asemenea, s-a utilizat instruct iunea break
(de iesire fort ata din cicluri de tip pentru sau c^ at timp) pentru ncadrarea in-
dexarilor n limitele permise de dimensiunile matricelor. Vom apela n continuare
acest algoritm utilizand sintaxa
[S, Q] = QR1(A, Q, tol, opt).
In aspectele sale esent iale, algoritmul de mai sus sta la baza tuturor programelor
profesionale de calcul al valorilor proprii ale unei matrice complexe. Utilizarea lui
pentru calculul formei Schur a unei matrice reale este posibila
24
, dar este mai put in
ecienta n raport cu varianta special elaborata pentru aceasta situat ie si prezentata
n continuarea acestui capitol.
Datorita procesului iterativ complexitatea algoritmului depinde de datele de in-
trare precum si de tolerant a practicata. Pentru un nivel de tolerant a de ordinul
de marime al erorilor de reprezentare
25
, evaluarile experimentale converg catre
aprecierea ca, n medie, doua iterat ii sunt suciente pentru a pune n evident a o
valoare proprie.
In aceasta situat ie, pentru matrice de ordin superior (de exemplu
n > 100), se poate aprecia ca algoritmul QR1 are o complexitate O(n
3
). Evaluarea
de mai sus este corecta pentru matrice de dimensiuni medii si mari.
In exem-
plele academice sau aplicat iile student esti apar, de regula, matrice de ordin redus
24
Pentru probleme de mica dimensiune diferent a de ecient a nu este decisiv a astfel c a acest
algoritm poate folosit cu succes. Atragem ns a atent ia c a procedura Gc de calcul a unei rotat ii
complexe (vezi capitolul 3) aplicata unui vector real calculeaz a de fapt o rotat ie real a astfel nc at
pentru date reale acest algoritm va lucra exclusiv cu numere reale privite ca numere complexe si
nu va capabil sa reduca blocurile diagonale 2 2 cu valori proprii complexe. Pentru a dep asi
acest impas se poate proceda, de exemplu, ca n algoritmul special destinat cazului real (vezi mai
departe) prin identicarea unor astfel de situat ii si monitorizarea blocurilor diagonale sau prin
introducerea unor deplasari implicite modicate cu parte imaginar a nenul a.
25
In pachetele comerciale de programe acest nivel de tolerant a este practicat uzual si nu poate
modicat de utilizator.
262 CAPITOLUL 4. VALORI SI VECTORI PROPRII
(e.g. n jurul lui n = 10), pentru care numarul mediu de iterat ii necesar pentru
evident ierea unei valori prorii este ceva mai mare (din experient a noastra didac-
tica apreciem acest numar la 3-4). Aceasta se explica prin faptul ca, simultan cu
elementele subdiagonale din ultima linie si prima coloana, toate elementele subdia-
gonale ale blocului iterat au tendint a de anulare asimptotica astfel ncat, la matrice
de dimensiuni mai mari, ultima faza a procesului iterativ este extrem de rapida.
Evaluari mai ne sunt date la varianta reala.
Utilizarea exclusiva a transformarilor unitare confera algoritmului QR1 o foarte
buna stabilitate numerica. Aspectele cantitative ale acestei aprecieri calitative a al-
goritmului QR1, precumsi specte suplimentare referitoare la condit ionarea valorilor
proprii sunt prezentate n sect iunile 4.10 si 4.11. 3
F. Un pas dublu QR cu deplasare implicita
pentru matrice reale
In cazul matricelor reale un spor important de ecient a se obt ine utilizand o arit-
metica reala si strategia pasilor dubli QR. La fel ca n cazul pasului simplu, un
pas dublu QR cu deplasare implicita are ca baza teoretica aceeasi teorema 4.15. Si
aici, ideea centrala consta n asigurarea coincident ei primei coloane a matricei de
transformare cumulate aferente unui pas dublu QR cu prima coloana a matricei de
transformare cumulate de la doi pasi simpli consecutivi din varianta cu deplasare
explicita. Reducerea efortului de calcul la nivelul a doi pasi cu deplasare explicita se
bazeaza esent ial pe minimizarea numarului de operat ii aritmetice, prin exploatarea
ecienta a structurilor de zerouri ale matricelor implicate.
Concret, un pas dublu QR cu deplasare implicita consta din urmatoarele trans-
formari.
1. Se calculeaza prima coloana q
(k)
1
a matricei
Q = Q
k
Q
k+1
ce de-
neste transformarea ortogonala aferenta unui pas dublu QR cu
deplasare explicita.
2. Se determina o matrice ortogonala U
1
astfel ncat prima sa coloana
sa e q
(k)
1
, i.e. U
1
e
1
= q
(k)
1
.
3. Se calculeaza matricea B = U
T
1
H
k
U
1
(a carei structura nu mai este
superior Hessenberg).
4. Se reface structura superior Hessenberg aplicand algoritmul HQ
matricei B: [H
k+2
,
U] = HQ(B). Transformarile implicate de acea-
sta reducere nu afecteaza prima coloana a matricei de transformare
cumulate.
Daca matricea H
k
este ireductibila atunci rezultatul H
k+2
al aplicarii schemei de
calcul de mai sus va esent ial acelasi, n sensul observat iei 4.5, cu cel dat de un pas
dublu QR cu deplasare explicita. Mai mult, schema de mai sus este determinant
mai ecienta decat varianta cu deplasare explicita.
Intr-adevar, exploatand cores-
punzator avantajele structurale date de forma Hessenberg a matricelor init iala si
nala se poate reduce complexitatea pasului dublu de la O(n
3
) la O(n
2
), ceea ce n
economia ntregului algoritm este esent ial. Detaliile sunt prezentate n continuare.
4.4. ALGORITMUL QR 263
Consideram si aici, pentru simplicarea notat iilor, H
k
not
= H matricea curenta a
sirului QR, presupusa ireductibila, iar H
k+2
not
= H
_
h
2
11
+h
12
h
21
sh
11
+p
h
21
(h
11
+h
22
s)
h
21
h
32
0
.
.
.
0
_
_
, (4.151)
unde s
k
not
= s si p
k
not
= p sunt scalari reali denit i n (4.133). Similar cu cazul pasului
simplu, numim
w =
_
_
h
2
11
+h
12
h
21
sh
11
+p
h
21
(h
11
+h
22
s)
h
21
h
32
_
_
IR
3
(4.152)
vector de deplasare implicita aferent pasului dublu QR.
2. Matricea ortogonala U
1
de la instruct iunea 2 a schemei de calcul de mai sus
poate un reector (real) astfel calculat ncat
U
T
1
q
1
= U
1
q
1
= | q
1
|e
1
. (4.153)
Datorita structurii vectorului q
1
din (4.151), structura matricei U
1
este
U
1
=
_
U
1
0
0 I
n3
_
(4.154)
cu
U
1
IR
33
reector elementar (real) de ordinul 3.
3. Datorita structurii (4.154) a matricei U
1
, alterarea formei Hessenberg prin
calculul matricei B de la instruct iunea 3 are loc numai n pozit iile (3, 1), (4, 1) si
(4, 2).
4. Matricea B avand numai trei elemente nenule ce altereaza forma superior
Hessenberg, sporul de ecient a se obt ine prin adaptarea algoritmului HQr la aceasta
situat ie structurala. Concret, se evita operat iile de adunare si nmult ire cu zerouri,
t inandu-se seama de urmatoarea structura
U
i
=
_
_
I
i1
0 0
0
U
i
0
0 0 I
ni2
_
_
, i = 2 : n2, U
n1
=
_
I
n2
0
0
U
n1
_
(4.155)
a reectorilor U
i
, i = 2 : n1, utilizat i n cadrul algoritmului HQr, unde
U
i
IR
33
si
U
n1
IR
22
sunt reectori elementari de indice 1.
Schema de calcul este urmatoarea:
264 CAPITOLUL 4. VALORI SI VECTORI PROPRII
1. Pentru i = 2 : n2
1. Se calculeaza reectorul elementar U
i
cu structura (4.155)
astfel ncat (U
T
i
B)(i+1 : i+2, i1) = 0.
2. B U
T
i
B. % Se anuleaza elementele (i+1 : i+2, i1).
3. B BU
i
. % Pentru i < n2 sunt alterate zerourile
din pozit iile (i+3, i : i+1).
2. % Ultima transformare
1. Se calculeaza reectorul elementar U
n1
astfel ncat
(U
T
n1
B)(n, n2) = 0.
2. B U
T
n1
B. % Se anuleaza elementul (n, n2).
3. B BU
n1
.
_
+
+ +
0 0 0
_
_
,
H U
T
2
H =
_
_
+
0 0 0
_
_
,
H HU
2
=
_
0
0
0
+
+ +
_
,
H U
T
3
H =
_
_
0
0
0 +
_
_
,
4.4. ALGORITMUL QR 265
H HU
3
=
_
_
0
0 0
0 0
+
_
_
,
H U
T
4
H =
_
_
0
0 0
0 0
_
_
,
H HU
4
=
_
_
0
0 0
0 0 0
_
_
.
Si n aceasta varianta adaptata a algoritmului HQr, atat matricea succesor
H
=
Q
T
H
Q din sirul QR. Algoritmul furnizeaza,
de asemenea, elementele denitorii semnicative ale reectorilor utili-
zat i, i.e. elementele denitorii ale blocurilor reector 3 3 n matricele
V IR
3(n1)
si b IR
n1
.)
1. % Calculul si aplicarea reectorului U
1
1. [ w, V ( : , 1), b
1
] = Hr(w)
2. H(1: 3, :) = Hrs(V (:, 1), b
1
, H(1: 3, :))
3. H(1: min(4, n), 1: 3) = Hrd(H(1: min(4, n), 1: 3), V (:, 1), b
1
)
2. % Refacerea formei superior Hessenberg
1. Pentru i = 2 : n 2
1. [ H(i : i+2, i1), V (:, i), b
i
] = Hr(H(i : i+2, i1))
2. H(i : i+2, i : n) = Hrs(V ( : , i), b
i
, H(i : i+2, i : n))
3. H(1 : min(i+3, n), i : i+2) =
= Hrd(H(1 : min(i+3, n), i : i+2), V (:, i), b
i
)
3. % Ultimul pas
1. [ H(n1 : n, n2), V (1: 2, n1), b
n1
] =
= Hr(H(n1 : n, n2))
2. H(n1 : n, n1 : n) =
= Hrs(V (1: 2, n1), b
n1
, H(n1 : n, n1 : n))
3. H(:, n1 : n) = Hrd(H(:, n1 : n), V (1: 2, n1), b
n1
).
Comentarii. Vom utiliza urmatoarea sintaxa de apel a algoritmului de mai sus
[ H, V, b ] = IT QR2(H, w).
Complexitatea unui pas dublu QR realizat de algoritmul 4.8 este O(n
2
). Con-
cret, pentru execut ia algoritmului sunt necesari N
op
24n
2
opi (reali) la care se
adauga cele n 1 extrageri de radical. Subliniem faptul ca aceasta solut ie este cea
mai ecienta implementare cunoscuta a iterat iilor QR pentru matricele reale, ind
utilizata n toate programele profesionale de calcul al valorilor proprii.
Algoritmul 4.8 nu calculeaza actualizarea matricei de transformare curente Q
dar ofera, prin matricea V si vectorul b, informat ia necesara pentru un eventual
calcul al acesteia. 3
G. Algoritmul QR pentru matrice reale
Algoritmul QR pentru matrice reale
26
se obt ine prin iterarea algoritmului 4.8,
anularea efectiva a elementelor subdiagonale devenite neglijabile si exploatarea
26
Algoritmul ce urmeaza se poate aplica si pentru calculul valorilor proprii ale matricelor
complexe (mai mult, n unele pachete profesionale de calcul numeric asa se si procedeaz a).
Intr-adevar, daca C I C
nn
se scrie C = A + iB cu A, B IR
nn
, atunci este usor de ar atat c a
4.4. ALGORITMUL QR 267
structurala a acestor anulari n vederea obt inerii unei ecient e maxime. Dupa
epuizarea procedurii de iterare se obt ine o matrice cvasisuperior triunghiulara, or-
togonal asemenea cu matricea init iala, cu blocurile diagonale de dimensiune cel
mult 2 2. Pentru obt inerea unei forme Schur reale a matricei init iale, algoritmul
se completeaza cu reducerea la forma superior triunghiulara a blocurilor diagonale
2 2 care au valori proprii reale.
Aspectele tehnice, pe care le trecem succint n revista mai jos, sunt similare cu
cele din cazul complex.
Pentru deciziile de setare la zero a elementelor subdiagonale se utilizeaza criteriul
dat de relat ia (4.144).
Similar cu algoritmul 4.6, pentru monitorizarea evolut iei structurale a matricelor
din sirul QR, la ecare iterat ie, dupa anularea elementelor subdiagonale care satis-
fac condit ia (4.144), se va determina cel mai mic ntreg p si cel mai mare ntreg q
astfel ncat matricea Hessenberg curenta sa aiba structura (4.146) cu H
11
I C
pp
,
H
22
I C
(npq)(npq)
superior Hessenberg ireductibila si H
33
IR
qq
cvasi-
superior triunghiulara (i.e. cu blocurile diagonale de dimensiune cel mult 2 2).
Astfel, blocurile diagonale ale submatricei H
33
au valori proprii pe care le con-
sideram deja evident iate (alte valori proprii evident iate se pot gasi printre valorile
proprii ale blocurilor diagonale de dimensiune cel mult 2 2 ale submatricei H
11
),
iar iterat ia QR se va aplica, de fapt, numai submatricei H
22
(v. (4.146)-(4.148)).
Aceasta transformare afecteaza celelalte blocuri ale matricei H din (4.146) ca n
relat ia (4.149).
Faza iterativa a algoritmului QR se termina n momentul n care ordinul sub-
matricei H
22
scade la cel mult 2, i.e. q devine mai mare sau egal cu n 2.
Supravegherea convergent ei procesului iterativ se efectueaza similar cu cazul
complex, cu urmatoarele aspecte specice:
aprecierea convergent ei se face la nivelul evident ierii unui bloc diagonal n
colt ul din dreapta jos al submatricei H
22
(n 10 sau 20 de iterat ii pentru modicarea
modului de calcul al vectorului de deplasare implicita, respectiv 30 de iterat ii pentru
renunt area la continuarea calculului);
pentru calculul vectorului de deplasare implicita w modicat n (4.152) se vor
utiliza urmatoarele relat ii empirice pentru suma si produsul deplasarilor
1
si
2
_
s = 1.5 ([h
nq,nq1
[ +[h
nq1,nq2
[)
p = ([h
nq,nq1
[ +[h
nq1,nq2
[)
2
,
(4.156)
valorile si vectorii proprii ale matricei C se pot exprima n funct ie de valorile si vectorii proprii ale
matricei F =
_
A B
B A
_
IR
2n2n
. Concret, ec arei valori proprii complexe
k
a matricei C,
cu x
k
= u
k
+iv
k
(u
k
, v
k
IR
n
) vector propriu asociat, i corespund valorile proprii
k
si conjugata
ei
k
, ale matricei reale F, cu vectorii proprii asociat i de forma
_
u
k
v
k
_
i
_
v
k
u
k
_
si, respectiv,
_
u
k
v
k
_
+i
_
v
k
u
k
_
, iar ecarei valori proprii reale
k
, cu vectorul propriu asociat notat identic,
i.e. x
k
= u
k
+ iv
k
cu u
k
, v
k
IR
n
, a matricei C, i corespunde o valoare proprie dubl a
k
si doi
vectori proprii asociat i
_
u
k
v
k
_
si
_
v
k
u
k
_
ai matricei reale F. Dac a se calculeaz a numai valorile
proprii ale matricei F nu se poate deduce prin mijloace simple care din valorile proprii complex
conjugate ale matricei F apart in spectrului lui C.
268 CAPITOLUL 4. VALORI SI VECTORI PROPRII
recomandate n [ X].
La terminarea cu succes a fazei iterative, triangularizarea blocurilor diagonale
2 2 cu valori proprii reale se poate face aplicand procedura standard de deat ie.
Daca G IR
22
are valorile proprii reale, i.e.
= (g
11
g
22
)
2
+ 4g
12
g
21
0, (4.157)
atunci
x
1
=
_
1
g
22
g
21
_
(4.158)
este un vector propriu asociat valorii proprii
1
(G) data de
1
=
g
11
+g
22
+ sgn(g
11
+g
22
)
2
. (4.159)
Atunci rotat ia P IR
22
, care asigura satisfacerea condit iei (P
T
x
1
)(2) = 0, are
prima coloana coliniara cu x
1
si, conform lemei 4.3, realizeaza triangularizarea
urmarita
G = P
T
GP =
_
1
g
12
0
2
_
. (4.160)
Daca blocul diagonal ce trebuie triangularizat, pe care l notam generic cu G, se
aa n pozit ia denita de liniile si coloanele k si k + 1, atunci rezultatul dorit se
obt ine aplicand matricei date o transformare ortogonala de asemanare denita de
matricea diag(I
k1
, P, I
nk1
).
)/2
2. x =
_
s
k+1,k+1
s
k+1,k
_
3. [ x, c, s ] = Gr(x)
4. S(1 : k+1, k: k+1) = Grd(S(1 : k+1, k: k+1), c, s)
4.4. ALGORITMUL QR 269
5. S(k: k+1, k: n) = Grs(c, s, S(k: k+1, k: n))
6. S(k+1, k) = 0 % Zeroul calculat devine un zero efectiv.
Comentarii. Sintaxa de apel a acestui algoritm va
[ S, c, s ] = TRID2(S, k),
iar complexitatea sa este O(n). 3
Cu precizarile de mai sus, algoritmul QR standard cu pasi dubli cu deplasari
implicite pentru calculul formei Schur reale se scrie astfel.
Algoritmul 4.10 (QR2 Algoritmul QR cu pasi dubli, cu deplasari
implicite) (Date o matrice A IR
nn
, o matrice ortogonala Q IR
nn
si un nivel de tolerant a tol pentru anularea elementelor subdiagonale,
algoritmul calculeaza forma Schur reala a matricei A S =
Q
T
A
Q.
Toate calculele se efectueaz a pe loc, n locat iile de memorie ale tabloului
A. Opt ional, se acumuleaz a transformarile prin actualizarea matricei
ortogonale Q, i.e. Q Q
Q. Opt iunea se exprima prin intermediul
variabilei logice opt de tip sir de caractere care poate lua valorile da
sau nu. Daca opt =
nu
.
270 CAPITOLUL 4. VALORI SI VECTORI PROPRII
3. % Terminarea normala a fazei iterative
1. Daca q n 2 atunci break
4. % Terminarea prin esec a algoritmului
1. Daca cont it > 30 atunci
1. Tipare ste S-au consumat 30 iterat ii QR pentru
evident ierea unui bloc diagonal fara a se atinge
acest obiectiv. Este posibil ca, pentru aceste date
de intrare, algoritmul QR sa nu e convergent.
2. Return
5. % Determinarea lui p
1. p = n q 1
2. C^at timp a
p+1,p
,= 0
1. p = p 1
2. Daca p = 0 atunci break
6. % Iterat ia curenta
1. k = p+1, l = nq
2. w = VD2(A(k: l, k: l))
3. % Calculul deplasarii implicite modicate
1. Daca cont it = 10 sau cont it = 20 atunci
1. s = 1.5 ([a
l,l1
[ +[a
l1,l2
[)
2. p = ([a
l,l1
[ +[a
l1,l2
[)
2
3. w =
_
_
a
2
kk
+a
k,k+1
a
k+1,k
sa
kk
+p
a
k+1,k
(a
kk
+a
k+1,k+1
s)
a
k+1,k
a
k+2,k+1
_
_
4. [ A(k : l, k : l), V, b ] = IT QR2(A(k: l, k: l), w)
5. t = 3
6. Pentru i = 1 : lk
1. Daca i = l k atunci t = 2
2. r = min(p+i+2, l)
3. Daca k > 1 atunci
1. A(1 : p, p+i : r) =
= Hrd(A(1 : p, p+i : r), V (1: t, i), b
i
)
4. Daca l < n atunci
1. A(p+i : r, l+1 : n) =
= Hrs(V (1: t, i), b
i
, A(p+i : r, l+1 : n))
7. cont it = cont it + 1
7. Daca opt =da atunci
1. t = 3
2. Pentru i = 1 : lk
1. Daca i = l k atunci t = 2
2. r = min(p+i+2, l)
3. Q(:, p+i : r) = Hrd(Q(:, p+i : r), V (1: t, i), b
i
))
4.4. ALGORITMUL QR 271
4. % Triangularizarea blocurilor diagonale 22 cu valori proprii reale
1. k = 1
2. C^at timp k < n
1. Daca a
k+1,k
= 0 atunci k = k + 1,
altfel
1. [ A, c, s ] =TRID2(A, k)
2. Daca opt =da si c ,= 1 atunci
1. Q( : , k: k+1) = Grd(Q( : , k: k+1), c, s)
3. k = k + 2
Comentarii.
In aspectele sale esent iale, algoritmul de mai sus sta la baza tu-
turor programelor profesionale de calcul al valorilor proprii ale unei matrice reale.
Precizarile referitoare la aspectele de organizare a algoritmului facute la varianta
complexa raman valabile. Sintaxa de utilizare a algoritmului de mai sus va
[A, Q] = QR2(A, Q, tol, opt).
Acceptand evaluarea conform careia sunt suciente, n medie, doua iterat ii
pentru a pune n evident a o valoare proprie, algoritmul necesita un numar de
N
A
op
= 30n
3
opi fara acumularea transformarilor, N
Q
op
= 16n
3
opi suplimen-
tari pentru calculul vectorilor Schur, i.e. al matricei ortogonale Q. Putem, deci,
considera ca pentru matrice de ordin superior (e.g. n > 100) algoritmul QR2 are o
complexitate O(n
3
).
Si aici, utilizarea exclusiva a transformarilor ortogonale confera algoritmului
QR2 o foarte buna stabilitate numerica. Pentru aspecte suplimentare, referitoare
la condit ionarea valorilor proprii si stabilitatea numerica a algoritmului de mai sus,
vezi sect iunile 4.10 si 4.11. 3
H. Permutare si echilibrare
Implementarile profesionale ale algoritmului QR cont in o faza de prelucrari preli-
minare efectuate asupra matricei A care urmaresc doua obiective:
a) cresterea ecient ei prin evident ierea eventualelor valori proprii izolate
utilizand exclusiv transformari de asemanare denite de matrice de permutare (deci
fara efectuarea de operat ii aritmetice);
b) mbunatat irea condit ionarii spectrului de valori proprii prin transformari
de asemanare diagonale si, n acest mod, asigurarea unei acuratet i superioare a
rezultatelor.
Permutare
Daca matricea A I C
nn
are toate elementele extradiagonale ale liniei sau coloanei
i nule, atunci elementul diagonal (i, i) este o valoare proprie a matricelor A
T
si A
si, fapt esent ial, e
i
este un vector propriu al matricei A
T
, respectiv A, asociat ei.
De aceea, elementul diagonal (i, i) poate adus n pozit ia (1,1) sau (n,n) printr-o
272 CAPITOLUL 4. VALORI SI VECTORI PROPRII
deat ie de permutare, i.e. printr-o transformare de asemanare denita de o matri-
ce de permutare elementara P
1i
27
, respectiv P
in
. Evident, acest proces poate con-
tinua examinand matricea ramasa A(2 : n, 2 : n) sau A(1 : n 1, 1 : n 1). Pentru
a sistematiza procesul de cautare si permutare vom deplasa mai ntai liniile cu
elementele extradiagonale nule n jos (i.e. pe ultima linie a matricei ramase curente)
conform schemei prezentate mai jos. Pentru claritate, utilizam instruct iunea break
i pentru iesirea fort ata din ciclul pentru i = ..., variabila de indexare i ramanand
cu valoarea avuta n momentul iesirii din ciclu.
1. Pentru l = n : 1 : 1
1. Pentru i = l : 1 : 1
1. Daca elementele extradiagonale ale liniei i ale matricei A(1 : l, 1 : l)
sunt nule atunci
1. Se permuta liniile i si l ale matricei A
2. Se permuta coloanele i si l ale matricei A
3. break i
altfel daca i = 1 (i.e. nu exista nici o linie a matricei A(1 : l, 1 : l)
cu toate elementele extradiagonale nule) atunci
1. break l
Se obt ine o matrice avand structura
A = P
T
1
AP
1
=
_
A
11
A
12
0
A
22
_
, (4.161)
cu
A
11
I C
ll
fara nici o linie cu toate elementele extradiagonale nule si
A
22
superior
triunghiulara. Matricea de permutare P
1
cumuleaza toate permutarile efectuate.
Procedand similar cu matricea
A
11
prin deplasarea coloanelor cu toate ele-
mentele extradiagonale nule spre stanga (i.e., la ecare pas, n prima coloana a
matricei ramase) se obt ine n nal o matrice cu structura
A = P
T
AP =
_
_
A
11
A
12
A
13
0
A
22
A
23
0 0
A
33
_
_
, (4.162)
cu
A
11
,
A
33
superior triunghiulare si
A
22
fara nici o linie si nici o coloana cu toate
elementele extradiagonale nule. Matricea de permutare P cumuleaza permutarile
efectuate.
Elementele diagonale ale matricelor
A
11
si
A
33
sunt valori proprii ale matricei A
care au fost puse n evident a fara a efectua nici o operat ie aritmetica. Pentru aarea
celorlalte valori proprii algoritmul QR se aplica numai blocului
A
22
. Daca pe langa
calculul valorilor proprii se urmareste si calculul vectorilor proprii, atunci trebuie
ret inuta matricea de permutare P (de obicei, n forma factorizata, prin ret inerea
27
Amintim ca matricea de permutare elementar a P
ij
se obt ine din matricea unitate prin per-
mutarea liniilor (sau coloanelor) i si j. Premultiplicarea (postmultiplicarea) unei matrice cu P
ij
are ca efect permutarea liniilor (coloanelor) i si j.
4.4. ALGORITMUL QR 273
elementelor denitorii ale permutarilor elementare). Transformarile efectuate de
algoritmul QR aplicat blocului
A
22
denite
A
22
S
22
= Q
H
22
A
22
Q
22
vor act iona
si asupra blocurilor
A
12
si
A
23
, i.e. vom efectua
A
12
A
12
Q
22
si, respectiv,
A
23
Q
H
22
A
23
.
Algoritmul de reducere la forma (4.162), n care este utilizata instruct iunea
break avand semnicat ia precizata mai sus, este urmatorul.
Algoritmul 4.11 ( Evident ierea, prin permutari, a valorilor
proprii izolate) (Data matricea A I C
nn
, algoritmul calculeaza o ma-
trice de permutare P astfel ncat matricea
A = P
T
AP sa aiba struc-
tura (4.162) avand blocurile
A
11
=
A(1 : k 1, 1 : k 1) si
A
33
=
=
A(l+1: n, l+1: n) superior triunghiulare iar blocul
A
22
=
A(k : l, k : l)
nu are nici o linie si nici o coloana cu toate elementele extradiagonale
nule. Matricea
A suprascrie matricea A, iar permutarile elementare
sunt memorate prin elementele vectorului p IN
n
, p (i) ,= i avand
drept semnicat ie faptul c a linia (si coloana) i a fost permutata cu
linia (respectiv, coloana) p (i). Ordinea de aplicare a permutarilor este
p (n), p (n 1), . . . , p (l + 1), p (1), p (2), . . . , p (k 1).)
1. p = [ 0 0 . . . 0 ]
2. Pentru l = n : 1 : 1
1. Pentru i = l : 1 : 1
1. Daca A(i, j) = 0, j = 1 : l, j ,= i, atunci
1. A(i, :) A(l, :)
2. A(1 : l, i) A(1 : l, l)
3. p (l) = i
4. break i
altfel dac a i = 1 atunci
1. break l
3. Pentru k = 1 : l
1. Pentru j = k : l
1. Daca A(i, j) = 0, i = k : l, i ,= j, atunci
1. A(j, k : n) A(k, k : n)
2. A(1 : l, j) A(1 : l, k)
3. p (k) = j
4. break j
altfel dac a j = l atunci
1. break k
Comentarii. Vom utiliza n continuare urmatoarea sintaxa pentru apelarea algo-
ritmului de permutare de mai sus:
[ A, p, k, l ] = (A),
unde semnicat ia parametrilor este evidenta.
274 CAPITOLUL 4. VALORI SI VECTORI PROPRII
Trebuie precizat ca algoritmul nu pune n evident a, n cazul general, toate
valorile proprii izolate, i.e. care s-ar putea obt ine fara a efectua calcule aritmetice.
Astfel, daca matricea init iala are, e.g. structura
A =
_
_
0 0
0 0 0
0 0 0 0
0 0 0 0
_
_
,
unde elementele marcate sunt nenule, aceasta nu va modicata de algoritmul
de mai sus (ntrucat nu are nici o linie si nici o coloana cu toate elementele extra-
diagonale nule) desi se vede clar ca elementele (3, 3) si (4, 4) sunt valori proprii.
Obt inerea prin transformari de asemanare cu permutari a structurii bloc (4.162)
nu mai este posibila n acest caz pentru ca vectorii proprii asociat i valorilor proprii
remarcate au o structura mai complexa. 3
Echilibrare
Asa cum vom vedea n 4.10, condit ionarea spectrului de valori proprii ale unei
matrice A este dependenta de |A|
F
si este de dorit ca aceasta norma sa e cat
mai mica. Pe de alta parte, toate transformarile efectuate n diversele variante ale
algoritmului QR sunt unitare (ortogonale) deci, printre altele, asigura conservarea
condit ionarii spectrului. Se ridica n mod natural problema daca, ntr-o faza pre-
liminara, aceasta condit ionare nu ar putea mbunatat ita aplicand transformari de
asemanare neunitare (neortogonale).
Din motive de ecient a, n practica numerica s-a pus numai problema unei pre-
procesari a matricei A n sensul reducerii init iale a normei |A|
F
prin transformari
de asemanare denite de matrice diagonale, i.e. a determinarii matricei diagonale
D = diag(d
1
, d
2
, . . . , d
n
), astfel ncat |D
1
AD|
F
sa e minima
28
.
Fie TIR
nn
mult imea tuturor matricelor diagonale nesingulare de ordinul n.
Procesul de minimizare a normei |D
1
AD|
F
are la baza urmatoarele rezultate [ X].
1
= lim
k
A
k
= A
c
.
3
. Matricea A
c
este echilibrata n sensul ca normele euclidiene ale liniilor si
coloanelor cu acelasi indice sunt egale, i.e. |A
c
(k, :)| = |A
c
(:, k)|, k 1 : n.
4
ki
(pe pozit ia diagonala (i, i)) si
maximizand scaderea de norma
ki
def
= |A
ki
|
F
2
|A
k,i+1
|
F
2
, (4.167)
unde A
ki
= D
1
k,i1
D
1
k2
D
1
k1
A
k
D
k1
D
k2
D
k,i1
, i = 0 : n 1, A
k0
= A
k
,
A
kn
= A
k+1
. Pentru aceasta e, pentru nceput, d
ki
= o variabila reala si
31
Uzual = 2, dar se ntalnesc si situat ii cu = 10 sau = 16.
32
Daca = (m, e) este reprezentarea n FVM a num arului real , unde m este mantisa iar e
exponentul, atunci
= (m, e + ) si /
ki
= |A
ki
(i, :)|,
ki
= |A
ki
(:, i)| normele liniei, respectiv a coloanei i a matricei
A
ki
, singurele afectate de transformarea denita de D
ki
. (Datorita ipotezei ca
matricea A
0
nu are linii sau coloane nule avem
ki
ki
,= 0). Atunci diferent a din
(4.167), ca funct ie de , are expresia
ki
() = |A
ki
|
F
2
|A
k,i+1
|
F
2
=
2
ki
+
2
ki
(
2
ki
2
+
2
ki
2
) (4.168)
si este maxima pentru
=
_
ki
ki
. (4.169)
Acum, consideram d
ki
=
ki
cel mai apropiat de valoarea de mai sus a lui
, i.e.
acel
ki
ntreg (unic determinat) pentru care
ki
1
2
<
ki
+
1
2
(4.170)
sau, echivalent,
2
ki
1
<
ki
ki
2
ki
+1
. (4.171)
Calculul efectiv al lui
def
=
ki
, pentru
def
=
ki
ki
> 0 dat, se poate face ecient
observand ca
21
<
2+1
2+1
<
2
, (4.172)
observat ie care conduce la urmatoarea schema de calcul.
1. = 0
2. = 1
3. =
4. C^at timp <
1. + 1
2. =
3. =
2
5. C^at timp
2
1. 1
2. =
3. =
2
De ret inut ca toate calculele din schema de mai sus se pot efectua exact (i.e.
instruct iunile 4.2, 4.3, 5.2, 5.3 cont in operat ii aritmetice care se efectueaza, esent ial,
n numere ntregi), iar dupa execut ia lor avem =
2+1
si =
, cea mai
apropiata valoare de acest tip de valoarea optima
.
Pentru a se evita cicluri, posibile datorita formei speciale a elementelor ma-
tricelor diagonale de transformare, modicarea efectiva a unei perechi linie-coloana
i are loc numai atunci cand valoarea relativa a lui de la un pas elementar este
superioara unei tolerant e tol impuse, i.e.
ki
(d
ki
) =
2
ki
+
2
ki
(
2
ki
d
2
ki
+
2
ki
d
2
ki
) > tol(
2
ki
+
2
ki
) (4.173)
4.4. ALGORITMUL QR 277
sau
(
ki
d
ki
)
2
+ (
ki
d
ki
)
2
< (
2
ki
+
2
ki
)) (4.174)
unde = 1 tol. Valoarea recomandata n [ X] pentru tol este 0.05, respectiv 0.95
pentru .
Procesul de iterare se opreste atunci cand la pasul curent k nu are loc modicarea
nici unei perechi linie-coloana.
Rezulta urmatorul algoritm.
Algoritmul 4.12 (ECH Echilibrare) (Date matricea A I C
nn
si baza a sistemului de numerat ie, algoritmul calculeaza matricea dia-
gonala D, avand ca elemente diagonale numai puteri ntregi ale bazei ,
astfel ncat matricea
A = D
1
AD sa aiba norma Frobenius minima n
raport cu toate transformarile de acest tip. Matricea
A suprascrie A, iar
puterile
i
ale bazei , care denesc elementele diagonale D(i, i) =
i
,
sunt memorate n vectorul s ZZ
n
.)
1. Pentru i = 1 : n
1. s
i
= 0
2. =
2
3. final =
nu
1. final =
da
2. Pentru i = 1 : n
1. =
n
j=1
j=i
[a
ij
[
2
, =
n
j=1
j=i
[a
ji
[
2
2. =
3. = 1
4. =
5. = s(i)
6. C^at timp <
1. + 1
2. =
3. =
7. C^at timp
1. 1
2. =
3. =
8. Daca
2
+
2
< 0.95( +) atunci
1. s(i) =
2. A(i, :)
A(i, :)
, A(:, i) A(:, i)
3. final =
nu
.
278 CAPITOLUL 4. VALORI SI VECTORI PROPRII
Comentarii. Apelul algoritmului se poate face cu sintaxa
[ A, s ] = ECH(A, ).
Variabila logica final este utilizata pentru sesizarea aparit iei unui pas n care nu
are loc modicarea nici unei perechi linie-coloana si a stabili astfel terminarea al-
goritmului.
altfel
1. c
i
=
c
i
3. Daca l < n
1. Pentru i = k : l
1. A(i, l + 1 : n) A(i, l + 1 : n)/c
i
4. Daca k > 1
1. Pentru j = k : l
1. A(1 : k 1, j) A(1 : k 1, j)c
j
Comentarii. Apelul algoritmului se va face cu sintaxa
[ A, d, k, l ] = ECH(A, ).
Evident, calculele de la instruct iunile 4 si 5 se pot efectua exact. Daca port iunile
de interes se codica n limbaj de asamblare, atunci calculul efectiv al numerelor c
i
nu este necesar, operat iile de la instruct iunile 4 si 5 realizandu-se prin modicarea
exponent ilor.
Complexitatea algoritmului este dictata esent ial de valorile parametrilor k si
l, dar aprecierea ca ponderea sa n economia unui algoritm de calcul al valorilor
proprii este put in semnicativa ramane valabila. 3
4.4.3 Programe principale (driver-e)
Utilizarea algoritmilor prezentat i n aceasta sect iune n cadrul unor programe de cal-
cul al valorilor si vectorilor proprii (vezi si sect iunea urmatoare) se poate face n di-
verse variante, n raport cu tipul datelor init iale si al obiectivelor concrete urmarite.
Desi o astfel de ntreprindere nu prezinta dicultat i de principiu, prezentam, totusi,
o exemplicare pentru urmatoarea situat ie concreta:
date init iale: o matrice reala A IR
nn
, baza a sistemului de numerat ie a
FVM utilizat si tolerant a tol pentru aprecierea elementelor neglijabile;
obiective: calculul formei Schur reale, acumularea tuturor transformarilor si
calculul part ilor reale si complexe ale tuturor valorilor proprii.
Admitem n continuare, pentru simplicare, ca o mult ime de tipul / = n
1
: n
2
, cu
n
2
< n
1
, este vida si ca orice operat ie care implica (cel put in) o mult ime vida nu
se executa. O solut ie posibila pentru problema formulata, incluzand permutarea si
echilibrarea, este urmatoarea.
280 CAPITOLUL 4. VALORI SI VECTORI PROPRII
1. [ A, d, l, k ] = ECH(A, )
2. T = I
n
3. % Acumularea transformarilor din faza de permutare
1. Pentru j = n : 1 : l + 1
1. T(: , j) T(: , d
j
)
2. Pentru j = 1 : k 1
1. T(: , j) T(: , d
j
)
4. % Acumularea transformarilor din faza de echilibrare
1. Pentru j = k : l
1. c = 1
2. Pentru i = 1 : [d
j
[
1. Daca d
j
> 0 atunci
1. c = c
altfel
1. c =
c
da
)
2. A(1 : k 1, k : l) = A(1 : k 1, l : k)Q
3. A(k : l, l + 1 : n) = Q
T
A(k : l, l + 1 : n)
4. T( : , k : l) = T( : , k : l)Q
6. % Calculul vectorilor cu part ile reale si imaginare ale valorilor proprii
1. Pentru i = 1 : k 1
1.
re
(i) = a
ii
,
im
(i) = 0
2. i = k
3. C^at timp i < l
1. Daca a
i+1,i
,= 0 atunci
1. = (a
ii
a
i+1,i+1
)
2
+ 4a
i,i+1
a
i+1,i
2.
re
(i) = (a
ii
+a
i+1,i+1
)/2,
im
(i) =
/2
3.
re
(i + 1) =
re
(i),
im
(i + 1) =
im
(i)
4. i i + 2
altfel
1.
re
(i) = a
ii
,
im
(i) = 0
2. i i + 1
4.5. CALCULUL VECTORILOR PROPRII 281
4. Pentru i = l + 1 : n
1.
re
(i) = a
ii
,
im
(i) = 0
Acest program calculeaza matricea de transformare nesingulara (dar nu n mod
necesar ortogonala) T IR
nn
si matricea A S IR
nn
n forma Schur reala,
astfel ncat A S = T
1
AT, precum si toate valorile proprii. El poate completat
cu calculul vectorilor proprii, al unor baze pentru subspat ii invariante etc., probleme
tratate n alte sect iuni ale capitolului.
4.5 Calculul vectorilor proprii
Este important de precizat ca n multe aplicat ii (cum este, e.g. calculul subspat iilor
invariante) vectorii proprii pot nlocuit i cu succes de catre vectorii Schur.
Daca se doreste totusi determinarea explicita a vectorilor proprii x
i
, i J 1: n,
ai unei matrice nn A date, acestia pot calculat i n urmatoarele doua modalitat i
folosite curent.
a) Daca numarul vectorilor proprii ce trebuie calculat i depaseste 25 de procente
din numarul total, atunci se recomanda urmatoarea schema de calcul:
VP 1 1. Se calculeaza forma Schur (reala), utilizand algoritmul QR corespunza-
tor, cu acumularea transformarilor, i.e. se calculeaza matricea (cvasi-)
superior triunghiulara S si matricea unitara (ortogonala) Q astfel ncat
S = Q
H
AQ.
2. Se calculeaza vectorii proprii v
i
ai matricei S, asociat i valorilor proprii
de interes, prin rezolvarea sistemelor liniare omogene corespunzatoare.
3. Vectorii proprii x
i
ai matricei init iale A se calculeaza cu relat ia
x
i
= Qv
i
.
In cadrul acestei scheme singura problema netratata exhaustiv pana acum este
calculul vectorilor proprii ai formelor Schur (reale).
b) Daca numarul vectorilor proprii ce trebuie calculat i este relativ mic, atunci
se considera mai economica urmatoarea schema de calcul:
VP 2 1. Se determina, utilizand algoritmul HQ, forma superior Hessenberg
H = Q
H
AQ, a matricei A, cu acumularea transformarilor Q.
2. Se calculeaza valorile proprii de interes, cel mai adesea prin execut ia
fazei iterative a algoritmului QR corespunzator, fara acumularea
transformarilor.
3. Se calculeaza vectorii proprii w
i
ai matricei H, asociat i valorilor proprii
de interes, prin cateva iterat ii (teoretic, datorita cunoasterii valorilor
proprii, ntr-o singura iterat ie) ale metodei puterii inverse.
4. Vectorii proprii x
i
ai matricei init iale A se calculeaza cu relat ia
x
i
= Qw
i
.
282 CAPITOLUL 4. VALORI SI VECTORI PROPRII
In cadrul acestei scheme singura problema care necesita o tratare suplimentara este
aplicarea metodei puterii inverse n contextul unei cunoasteri (aproape exacte) a
valorilor proprii asociate.
Prezentam succint unele aspecte importante referitoare la cele doua probleme
semnalate mai sus.
4.5.1 Calculul vectorilor proprii ai formelor Schur
Consideram matricea n n A complexa sau reala. Presupunem obt inute forma
Schur (reala) S si, implicit, valorile proprii ale matricei A, precum si vectorii Schur
denit i de coloanele matricei de transformare unitara (ortogonala) cumulate Q.
j
= s
jj
sunt situat i n coloanele j ale matricei X, i.e. x
j
= X( : , j).
Pentru valorile proprii complex conjugate corespunzatoare blocului di-
agonal S(j : j + 1, j : j + 1), vectorii proprii asociat i x
j,j+1
= u
j
iv
j
sunt obt inut i prin calculul vectorilor reali u
j
si v
j
care se memoreaza n
coloanele j si j +1 ale matricei X, i.e. u
j
= X( : , j) si v
j
= X( : , j +1).)
1. Daca n = 1 atunci
1. X = 1
2. Return
2. j = 1
3. C^at timp j < n
1. Daca s
j+1,j
= 0 atunci
1. X(j + 1 : n, j) = 0
2. x
jj
= 1
3. Daca j > 1 atunci
1. Se rezolva sistemul cvasisuperior triunghiular
(S(1: j1, 1: j1)s
jj
I
j1
)X(1: j1, j) = S(1: j1, j)
4. j j + 1
altfel
284 CAPITOLUL 4. VALORI SI VECTORI PROPRII
1. = (s
jj
+s
j+1,j+1
)/2
2. =
_
(s
jj
s
j+1,j+1
)
2
4s
j+1,j
s
j,j+1
/2
3. X(j + 2 : n, j : j + 1) = 0
4. x
j,j
= 1, x
j+1,j
= 0
5. Fie S
22
= S(j : j + 1, j : j + 1).
Se rezolva sistemul nesingular de doua ecuat ii
(S
22
I
2
)X(j : j + 1, j + 1) = X(j : j + 1, j)
6. Daca j > 1 atunci
1. Fie S
11
= S(1: j1, 1: j1), S
12
= S(1: j1, j : j+1)
si F =
_
S
11
I
j1
I
j1
I
j1
S
11
I
j1
_
.
Se rezolva sistemul nesingular
F
_
X(1 : j1, j)
X(1 : j1, j + 1)
_
=
_
S
12
X(j : j+1, j)
S
12
X(j : j1, j+1)
_
7. j j + 2
4. Daca j = n atunci
1. x
jj
= 1
2. Se rezolva sistemul cvasisuperior triunghiular
(S(1: j1, 1: j1) s
jj
I
j1
)X(1: j1, j) = S(1: j1, j)
Comentarii. Sintaxa de apel a algoritmului este
X = VPS(S).
In cazul n care numarul vectorilor proprii care se calculeaza este inferior procen-
tului de 25%, n practica numeric a s-a format convingerea ca este mai avantajoasa
4.5. CALCULUL VECTORILOR PROPRII 285
schema de calcul VP 2 , care presupune acumularea transformarilor numai n faza
directa (neiterativa) a algoritmului QR si aplicarea metodei puterii inverse matricei
superior Hessenberg rezultata n aceasta faza
34
. De aceea consideram util sa sem-
nalam unele dicultat i ce pot aparea la rezolvarea unor sisteme (de tip Hessenberg)
aproape singulare.
Fie A I C
nn
si H = Q
H
AQ matricea superior Hessenberg obt inuta, e.g. cu al-
goritmul HQ. Reamintim ca metoda puterii inverse (v. 4.3) de calcul al unui vector
propriu al matricei H consta ntr-un proces iterativ bazat pe relat ia de recurent a
(H I
n
)z
k+1
=
k
z
k
, k = 0, 1, . . . , z
0
arbitrar, (4.184)
unde
k
este un factor scalar de normare. Spre deosebire de cazul curent, aici
vom presupune ca deplasarea este o valoare proprie calculata a matricei H (si,
n limitele preciziei de calcul, a matricei A). Notam cu
1
valoarea proprie exacta
a matricei H a carei aproximat ie este . Admit and ca a fost calculata cu un
algoritm numeric stabil (cum este, e.g. algoritmul QR) rezulta ca este o va-
loare proprie exacta a matricei G = H + E unde E este o matrice de perturbat ie
de norma spectrala mica, i.e. satisfacand |E| |H|, unde are ordinul de
marime al erorilor de reprezentare (v. 4.11). Daca, n plus,
1
este o valoare bine
condit ionata (v. 4.10) atunci
=
1
(4.185)
este si ea de ordinul de marime al lui |H|. Presupunand ca matricea H este simpla,
i.e. exista vectorii proprii w
i
, i = 1 : n, care formeaza o baza a lui I C
n
, si scriind
z
0
=
n
i=1
i
w
i
, (4.186)
rezulta
z
k
=
k
(
1
w
1
+
k
n
i=2
i
(
i
)
k
w
i
), (4.187)
unde
k
este un factor cumulat de normare. Daca
1
nu este neglijabila (ceea ce este
o ipoteza plauzibila) si
1
este o valoare proprie simpla si sucient de bine separata
de celelalte, i.e. [
i
[ [[, i = 2 : n (ceea ce nu este ntotdeauna adevarat),
atunci z
k
devine coliniar cu w
1
, cu precizia formatului virgula mobila, practic ntr-o
singura iterat ie, cu toate ca sistemul (4.184) este aproape singular si, deci, posibil
rau condit ionat. Daca nsa
1
nu este simpla, sau nu este sucient de departe
de celelalte sau este rau condit ionata, atunci analiza de mai sus nu poate garanta
acuratet ea rezultatului, chiar dac a se executa mai multe iterat ii. Pentru a depista
astfel de situat ii si pentru a le depasi, n [ X] se propune determinarea unui factor
de crestere denit dupa cum urmeaza. Fie z vectorul propriu de norma euclidiana
unitara (i.e. |z|
2
= z
H
z = 1) calculat cu metoda puterii inverse. Consideram
reziduul
r = Hz z. (4.188)
34
Renunt area completa la acumularea transform arilor si aplicarea, dup a determinarea valorilor
proprii, a metodei puterii inverse matricei init iale se consider a a o procedur a mai put in avanta-
joasa.
286 CAPITOLUL 4. VALORI SI VECTORI PROPRII
Relat ia anterioara poate scrisa si sub forma
(H rz
H
)z = z. (4.189)
Avem |rz
H
| = |r| si, daca norma |r| a reziduului este mica (e.g. de ordinul
de marime al lui
M
|H|), atunci z este un vector propriu al unei matrice foarte
usor perturbate fat a de H, ceea ce este tot ce se poate spera ntr-o aritmetica
aproximativa. Pentru evaluarea normei reziduului r se procedeaza astfel. Fie z
0
vectorul init ial avand |z
0
| = 1 si y solut ia sistemului
(H I
n
)y = z
0
, (4.190)
i.e. rezultatul primei iterat ii a metodei puterii inverse fara normarea acestuia.
Atunci denind vectorul succesor al lui z
0
prin normarea lui y, i.e.
z
1
=
y
|y|
, (4.191)
obt inem
(H I
n
)z
1
=
1
|y|
z
0
. (4.192)
Prin urmare, cu cat |y| este mai mare cu atat norma reziduului denit n (4.188)
este mai mica. De aceea putem deni |y| drept factor de crestere si cere ca acesta
sa e superior unei valori impuse. Mecanismul de realizare a acestui deziderat este
modicarea init ializarii z
0
si reluarea primei iterat ii (n locul continuarii iterat iilor
care nu ofera sansa mbunatat irii rezultatului).
In [ X] este propusa o strategie de
modicare a init ializarii. Pentru detalii recomandam consultarea referint ei citate.
Incheiem acesta sect iune semnaland faptul ca, n majoritatea aplicat iilor, vectorii
proprii pot suplinit i cu succes de catre vectorii Schur, al caror calcul, apeland n
exclusivitate la transformari unitare (ortogonale), este mult mai abil.
4.6 Forma Schur ordonata.
Calculul subspat iilor invariante
Asa cum s-a aratat n sect iunea 4.1, conceptul de subspat iu invariant al unei matrice,
introdus prin denit ia 4.2, este intim legat de valorile si vectorii proprii ale matricei
respective si joaca un rol fundamental n tratarea operatoriala a spat iilor liniare I C
n
sau IR
n
.
In sens larg, subspat iile invariante sunt subspat ii generate de vectori pro-
prii.
In contextul problemelor de calcul numeric abordate n prezenta lucrare, acest
concept a fost folosit pentru a demonstra posibilitatea reducerii, prin transformari
unitare (ortogonale) de asemanare, a unei matrice la forma Schur (propozit ia 4.2 si
lemele 4.2, 4.3).
Reciproc, cunoasterea formei Schur si a vectorilor Schur asociat i permite cal-
culul subspat iilor invariante asociate unor grupuri precizate de valori proprii ale
matricei init iale. Mai precis, prin calculul subspat iilor invariante vom nt elege aici
determinarea unor baze ortonormale pentru acestea.
4.6. CALCULUL SUBSPAT IILOR INVARIANTE 287
Fie o matrice A I C
nn
, S = Q
H
AQ o forma Schur a acesteia si urmatoarele
partit ii ale matricelor S si Q
S =
k
..
nk
..
_
S
11
S
12
0 S
22
_
k
n k
, Q =
k
..
nk
..
_
Q
1
Q
2
. (4.193)
Avem
AQ
1
= Q
1
S
11
(4.194)
i.e., conform propozit iei 4.1, 1 = ImQ
1
este un subspat iu A-invariant, subspat iu
pe care l asociem, n mod natural, cu setul de valori proprii (S
11
) (A), unde
S
11
= A[o este restrict ia lui A la 1. Altfel spus, coloanele matricei Q
1
= Q( : , 1 : k)
formeaza o baza ortonormala a subspat iului A-invariant asociat valorilor proprii ale
matricei A date de primele k elemente diagonale ale matricei S.
In cazul real, considerat iile de mai sus raman valabile cu singurul amendament
ca subspat iile invariante reale ale unei matrice reale se asociaza ntotdeauna unor
seturi simetrice de valori proprii
35
, fapt indus de posibilitatea unor partit ii de forma
(4.193) unde, de data aceasta, S este n forma Schur reala.
T inand seama de cele de mai sus, un subspat iu A-invariant este complet denit
de un set de valori proprii, iar calculul sau se reduce, n denitiv, la obt inerea unei
forme Schur S = Q
H
AQ n care setul de valori proprii precizat coincide cu spec-
trul de valori proprii al submatricei lider principale de dimensiune corespunzatoare.
O data obt inuta aceasta forma Schur, baza cautata este data de primele coloane
ale matricei de transformare Q. Prin urmare, dupa aplicarea algoritmului QR si
obt inerea unei prime forme Schur, n care elementele (blocurile, n cazul real) di-
agonale nu au o ordine predeterminata, calculul unui subspat iu invariant se reduce
la ordonarea elementelor diagonale (i.e. aducerea n primele pozit ii diagonale a
valorilor proprii vizate), prin transformari unitare (ortogonale) de asemanare, si
actualizarea matricei de transformare Q.
Avandu-se n vedere faptul ca, datorita structurii (cvasi)superior triunghiulare
a matricei S, permutarea a doua elemente (blocuri) neadiacente nu este posibila
printr-o transformare elementara (rotat ie sau reector) fara alterarea structurii,
mecanismul de ordonare a formei Schur consta dintr-o secvent a de permutari de
elemente (blocuri) diagonale adiacente.
4.6.1 Ordonarea formei Schur
In cazul complex forma Schur este triunghiulara astfel ca este sucient sa stabilim
o procedura de permutare a dou a elemente diagonale adiacente (vecine). Pentru
aceasta, consideram mai ntai o matrice superior triunghiulara de ordinul doi S
I C
22
cu valorile proprii distincte, i.e. s
11
,= s
22
. Fie x
2
un vector propriu unitar
al matricei S asociat valorii proprii
2
= s
22
, i.e. (exercit iu pentru cititor),
x
2
= e
i
y
|y|
, unde y =
_
s
12
s
22
s
11
_
, (4.195)
35
Reamintim ca prin set simetric nt elegem o mult ime numeric a n care elementele complexe
apar n perechi complex conjugate.
288 CAPITOLUL 4. VALORI SI VECTORI PROPRII
si unde, fara a reduce generalitatea, putem considera = 0, i.e. x
2
= y/|y|.
Conform lemei de deat ie unitara 4.2, o transformare de asemanare S
= P
H
SP,
n care matricea unitara P are ca prima coloana vectorul propriu x
2
, va evident ia,
n pozit ia
11
a matricei S
= P
H
SP =
_
s
22
s
12
0 s
11
_
. (4.197)
S-a realizat astfel permutarea celor doua valori proprii.
Pentru o matrice superior triunghiulara S de ordinul n permutarea valorilor
proprii adiacente s
kk
si s
k+1,k+1
se realizeaza folosind transformarea unitara de
asemanare S
= Q
H
SQ cu
Q = diag(I
k1
, P, I
nk1
), (4.198)
unde transformarea denita de matricea de ordinul doi P asigura permutarea valo-
rilor proprii ale matricei S(k : k+1, k : k+1).
Rezumand cele prezentate mai sus, rezulta urmatoarea schema de calcul
P11 c 1. Daca s
kk
,= s
k+1,k+1
atunci
1. Se calculeaza vectorul y din (4.195).
2. Se calculeaza rotat ia P astfel ncat (P
H
y)(2) = 0.
3. S diag(I
k1
, P
H
, I
nk1
) S
4. S S diag(I
k1
, P, I
nk1
)
iar algoritmul corespunzator, bazat pe procedurile din tabelul 4.3, este prezentat n
continuare.
Algoritmul 4.15 (P11c Permutarea a doua valori proprii adia-
cente) (Date o matrice S I C
nn
n forma Schur, matricea de transfor-
mare init iala Q I C
nn
si ntregul k 1 : n1, algoritmul suprascrie
matricea S cu matricea S
=
Q
H
S
Q care realizeaza permutarea valorilor
proprii s
kk
, s
k+1,k+1
si actualizeaza matricea de transformare Q.)
1. Daca s
kk
,= s
k+1,k+1
atunci
1. y =
_
s
k,k+1
s
k+1,k+1
s
kk
_
2. [ y, c, s ] = Gc(y)
3. s
kk
s
k+1,k+1
4. Daca k > 1 atunci
1. S(1 : k1, k : k+1) = Gcd(S(1 : k1, k, k+1), c, s)
5. Daca k < n 1 atunci
4.6. CALCULUL SUBSPAT IILOR INVARIANTE 289
1. S(k : k+1, k+2 : n) = Gcs(c, s, S(k : k+1, k+2 : n))
6. Q(:, k : k+1) = Gcd(Q(:, k : k+1), c, s)
Comentarii. Sintaxa de apel a algoritmului de mai sus va
[ S, Q] = P11c(S, Q, k).
Complexitatea unei permutari a doua valori proprii vecine distincte este O(n),
numarul asimptotic de opi (reali) ind N
op
= 52n (independent de k). 3
Din momentul n care dispunem de procedura de permutare a doua valori pro-
prii nvecinate, algoritmul de ordonare a formei Schur se reduce, n esent a, la
un algoritm de sortare a unei mult imi bazat pe interschimbarea elementelor adi-
acente. Vom prezenta mai ntai cazul unei ordonari totale care dispune valorile
proprii ale unei forme Schur S a matricei An ordinea impusa de o permutare data
= i
1
, i
2
, . . . , i
n
a mult imii 1 : n, n sensul ca elementul diagonal aat init ial
n pozit ia (k, k) va plasat n nal n pozit ia (i
k
, i
k
). Prin actualizarea matricei
unitare de transformare Q, se calculeaza bazele ortogonale pentru subspat iile A-
invariante asociate unor grupuri impuse de valori proprii. Concret, coloanele 1 : k
ale matricei actualizate, i.e. Q(: , 1: k), formeaza o baza a subspat iului A-invariant
1
k
asociat setului de valori proprii
k
=
i
= s
ii
[ i = 1 : k (n numerotarea
nala). Prezentam un algoritm de ordonare bazat pe o procedura de sortare prin
select ie. Invitam cititorul sa elaboreze alte variante care sa aibe la baza algoritmi
de sortare alternativi.
Algoritmul 4.16 (FSC ORD Ordonarea formei Schur) (Date
o matrice S I C
nn
n forma Schur, matricea unitara Q I C
nn
si per-
mutarea = i
1
, i
2
, . . . , i
n
, algoritmul suprascrie matricea S cu ma-
tricea unitar asemenea S
=
Q
H
S
Q care are s
i
k
,i
k
= s
kk
si actualizeaza
n mod corespunzator matricea de transformare Q.)
1. Pentru k = 1 : n1
1. mut a =nu
2. l = k
3. Pentru j = k+1 : n
1. Daca i
j
< i
l
atunci
1. l = j
2. mut a =da
4. Daca mut a =da atunci
1. Pentru j = (l 1) : 1 : k
1. [ S, Q] = P11c(S, Q, j)
2. i
j
i
j+1
Comentarii. Sintaxa naturala de apel a algoritmului prezentat este
[ S, Q] = FSC ORD(S, Q, ).
290 CAPITOLUL 4. VALORI SI VECTORI PROPRII
Complexitatea unei ordonari este dictata esent ial de natura permutarii. Cazurile
limita sunt permutarea identica, pentru care nu se face nici o operat ie aritmetica, si
inversiunea, pentru care se efectueaza C
2
n
= n(n+1)/2 apelari ale procedurii P11c
care conduc la o complexitate O(n
3
).
De multe ori este mai comod ca n locul permutarii sa utilizam permutarea
inversa =
1
= j
1
, j
2
, . . . , j
n
.
In acest caz, algoritmul suprascrie matricea S
cu matricea unitar asemenea S
=
Q
H
S
Q care are s
kk
= s
j
k
,j
k
. O varianta a unui
astfel de algoritm de ordonare arata astfel.
FSC ORD
1
1. Pentru k = 1 : n1
1. Daca k ,= j
k
atunci
1. Pentru i = (j
k
1) : 1 : k
1. [ S, Q] = P11c(S, Q, i)
2. Pentru i = k+1 : n
1. Dac a j
i
< j
k
atunci j
i
= j
i
+ 1.
Dupa execut ia acestui algoritm coloanele 1 : k ale matricei de transformare actua-
lizate, i.e. Q(: , 1 : k), formeaza o baza ortonormala a subspat iului A-invariant 1
k
asociat setului de valori proprii
k
=
i
= s
ii
[ i j
1
, j
2
, . . . , j
k
(n numerotarea
init iala). Observat iile de mai sus privitoare la complexitate raman valabile.
Algoritmul de mai sus realizeaza o ordonare totala a perechilor diagonale. Daca
se urmareste exclusiv construct ia unei baze unitare pentru un subspat iu A-invariant
k-dimensional (k < n), este sucienta o ordonare part iala constand n aducerea, pe
caile cele mai scurte, a valorilor proprii vizate n primele k pozit ii diagonale. O
varianta posibila pentru rezolvarea acestei probleme este urmatoarea. Presupunem
ca dorim construct ia unei baze ortonormale a subspat iului A-invariant asociat valo-
rilor proprii s
i1i1
, s
i2i2
, . . ., s
i
k
i
k
. Fara a reduce generalitatea, putem considera ca
i
1
< i
2
< . . . < i
k
. Aducerea celor k elemente diagonale ale matricei S n primele k
pozit ii diagonale se face cu urmatorul algoritm simplu.
FSC ORD p 1. Pentru j = 1 : k1
1. Daca i
j
> j atunci
1. Pentru l = (i
j
1) : 1 : j
1. [ S, Q] = P11c(S, Q, l)
_
S
11
S
12
S
1p
0 S
22
S
1p
.
.
.
.
.
.
.
.
.
.
.
.
0 0 S
pp
_
_
. (4.199)
4.6. CALCULUL SUBSPAT IILOR INVARIANTE 291
Problema calculului subspat iilor A-invariante reale asociate unor seturi simetrice
de valori proprii revine la ordonarea corespunzatoare a blocurilor diagonale ale
formei Schur reale.
In acest scop este necesar sa stim sa permutam doua blocuri
diagonale adiacente. Permutarea a doua blocuri vecine 1 1 se face cu algoritmul
P11c, cu singura ment iune ca toate transformarile utilizate sunt reale.
Intrucat
scrierea variantei reale a algoritmului se rezuma la nlocuirea siglei c cu sigla r n
identicatorii procedurilor, ne marginim sa introducem sintaxa de utilizare
[ S, Q] = P11r(S, Q, k),
cu ment iunea ca aici k reprezinta linia (si coloana) pe care se aa primul dintre cele
doua blocuri 1 1 ce se permuta.
Ramane sa aratam cum se pot permuta, prin transformari ortogonale de asema-
nare, doua blocuri diagonale vecine din care cel put in unul are ordinul 2.
Consideram acum matricea de ordinul 3 sau 4
S =
_
S
11
S
12
0 S
22
_
, (4.200)
unde, prin urmare, cel put in unul din blocurile diagonale S
11
, S
22
este 2 2.
In
principiu, putem aplica ideile utilizate la elaborarea algoritmului P11, i.e. calculul
unei baze ortogonale a subspat iului invariant asociat valorilor proprii ale matricei
S
22
si aplicarea lemei de deat ie ortogonala, solut ie propusa cititorului. Aici vom
urma o cale echivalenta care utilizeaza algoritmul QRcu deplasare implicita. Avand
n vedere faptul ca matricea S din (4.200) este deja n forma Schur reala rezulta ca
putem determina deplasarea (n forma implicita) exacta care, utilizata n algoritmul
QR2 pune n evident a, n pozit ia (2, 2), blocul cu valorile proprii dorite, n cazul
nostru, n vederea permutarii, cu valorile proprii ale matricei S
11
. Cunoasterea
exacta a deplasarii face ca, teoretic, sa e sucienta o singura iterat ie QR pentru
obt inerea rezultatului dorit.
In practica, daca nivelul de tolerant a practicat este de
ordinul de marime al erorilor de rotunjire, este posibil sa e necesare cateva (doua-
trei) iterat ii pentru a putea considera elementele blocului (2, 1) neglijabile. De
asemenea, ntrucat algoritmul QR cu deplasare implicita act ioneaza corect numai
asupra matricelor n forma Hessenberg ireductibila este necesar mai ntai un pas QR
articial, cu un vector de deplasare implicita aleator, care sa altereze structura Schur
reala a matricei S n sensul obt inerii formei Hessenberg ireductibile.
In consecint a,
toate cele trei tipuri de permutare se vor supune urmatoarei scheme de calcul.
Pij
1. Se determina elementele denitorii exacte pentru vectorul de deplasare
implicita (i.e. valoarea proprie daca primul bloc este 1 1, respectiv suma
si produsul valorilor proprii n cazul cand primul bloc este 2 2).
2. Se executa un pas QR cu un vector de deplasare implicita xat aleator
(e.g. alegerea w = [ 1 1 1 ]
T
da bune rezultate).
3. Se aplica algoritmul QR cu deplasarea implicita exacta (i.e. calculata cu
elementele de la punctul 1).
292 CAPITOLUL 4. VALORI SI VECTORI PROPRII
Pentru matricea nn din (4.199) permutarea blocurilor adiacente S
rr
si S
r+1,r+1
ale formei Schur reale S IR
nn
se obt ine folosind transformarea ortogonala de
asemanare S
=
Q
T
S
Q denita de
Q = diag(I
k1
,
Q, I
s
), (4.201)
unde transformarea denita de matricea
Q, de ordinul 2, 3 sau 4, asigura permutarea
blocurilor diagonale ale matricei
S =
_
S
rr
S
r,r+1
0 S
r+1,r+1
_
, (4.202)
si unde k este pozit ia diagonala a elementului
11
al blocului diagonal S
rr
, iar s este
ordinul cumulat al blocurilor diagonale r+2 : p.
Vom implementa schema de calcul de mai sus ntr-un algoritm care va trata toate
cazurile dimensionale. Pentru aceasta vom utiliza rezultatele stabilite si procedurile
elaborate n acest capitol.
Pentru o nt elegere mai lesnicioasa a algoritmului facem urmatoarele precizari:
localizarea blocurilor diagonale ale matricei S care vor permutate se face
prin pozit ia diagonala k a elementului
11
al primului bloc diagonal si ordinele i si j
ale celor doua blocuri;
elementele denitorii ale vectorilor de deplasare implicita exacta n vederea
permutarii blocurilor diagonale ale submatricei (4.202) sunt deplasarea = s
kk
n
cazul n care i = 1 si, respectiv, suma si produsul deplasarilor exacte =
1
+
2
=
= s
kk
+ s
k+1,k+1
si =
1
2
= s
kk
s
k+1,k+1
s
k+1,k
s
k,k+1
n cazul n care i = 2;
dupa efectuarea unui pas dublu QR cu deplasare aleatoare, vectorii de deplasare
exacta, n cele doua cazuri, vor
w
exact
=
_
_
s
kk
s
k+1,k
0
_
_
si, respectiv,
w
exact
=
_
_
s
2
kk
+s
k,k+1
s
k+1,k
s
kk
+
s
k+1,k
(s
kk
+s
k+1,k+1
)
s
k+1,k
s
k+2,k+1
_
_
,
vezi (4.140), (4.152);
vom renunt a la apelarea algoritmului QR2 si vom adapta ideile acestuia la
situat ia concreta existenta; pentru aprecierea ca neglijabile a elementelor subdiago-
nale vom utiliza tolerant a tol, uzual de ordinul de marime al erorilor de reprezentare;
actualizarea blocurilor nediagonale de pe bloc-liniile si bloc-coloanele afectate,
conform relat iei (4.201), se va face utilizand elementele denitorii ale reectorilor
implicat i memorate n tablourile de lucru V si b.
Cu convingerea ca pentru cititorul interesat nu va greu sa identice ideile
ment ionate mai sus, prezentam acest algoritm.
Algoritmul 4.17 (Pr Permutarea a doua blocuri diagonale adi-
acente) (Date o matrice S IR
nn
n forma Schur reala, matricea de
4.6. CALCULUL SUBSPAT IILOR INVARIANTE 293
transformare init iala Q IR
nn
, ntregul k care marcheaza pozit ia ele-
mentului
11
al primului bloc diagonal, precum si ordinele i, j 1, 2
ale celor doua blocuri diagonale, algoritmul suprascrie matricea S cu
matricea S
=
Q
T
S
Q care realizeaza permutarea blocurilor diagonale
ment ionate si actualizeaza matricea de transformare Q.)
1. Daca i = 1 si j = 1 atunci
1. [ S, Q] = P11r(S, Q, k)
2. Return
2. Daca i = 1 si j = 2 atunci
1. l = k + 2
2. = s
kk
3. w = [ 1 1 1 ]
T
4. [ S(k : l, k : l), V, b ] = IT QR2(S(k : l, k : l), w)
5. Daca k > 1 atunci
1. S(1 : k 1, k : l) = Hrd(S(1 : k 1, k : l), V (:, 1), b(1))
2. S(1 : k 1, k + 1 : l) =
= Hrd(S(1 : k 1, k + 1 : l), V (1 : 2, 2), b(2))
6. Daca l < n atunci
1. S(k : l, l + 1 : n) = Hrs(V (:, 1), b(1), S(k : l, l + 1 : n))
2. S(k + 1 : l, l + 1 : n) =
= Hrs(V (1 : 2, 2), b(2), S(k + 1 : l, l + 1 : n))
7. Q(:, k : l) = Hrd(Q(:, k : l), V (:, 1), b(1))
8. Q(:, k + 1 : l) = Hrd(Q(:, k + 1 : l), V (1 : 2, 2), b(2))
9. C^at timp [s
k+2,k+1
[ tol([s
k+1,k+1
[ +[s
k+2,k+2
[)
1. w
exact
= [ s
kk
s
k+1,k
0 ]
T
2. [ S(k : l, k : l), V, b ] = IT QR2(S(k : l, k : l), w
exact
)
3. Daca k > 1 atunci
1. S(1 : k 1, k : l) = Hrd(S(1 : k 1, k : l), V (:, 1), b(1))
2. S(1 : k 1, k + 1 : l) =
= Hrd(S(1 : k 1, k + 1 : l), V (1 : 2, 2), b(2))
4. Daca l < n atunci
1. S(k : l, l + 1 : n) = Hrs(V (:, 1), b(1), S(k : l, l + 1 : n))
2. S(k + 1 : l, l + 1 : n) =
= Hrs(V (1 : 2, 2), b(2), S(k + 1 : l, l + 1 : n))
5. Q(:, k : l) = Hrd(Q(:, k : l), V (:, 1), b(1))
6. Q(:, k + 1 : l) = Hrd(Q(:, k + 1 : l), V (1 : 2, 2), b(2))
10. s
k+2,k+1
= 0 % anularea efectiva a elementului neglijabil
11. Return
3. Daca i = 2 atunci
1. l = k + 1 +j
294 CAPITOLUL 4. VALORI SI VECTORI PROPRII
2. = s
kk
+s
k+1,k+1
3. = s
kk
s
k+1,k+1
s
k+1,k
s
k,k+1
4. w = [ 1 1 1 ]
T
5. [ S(k : l, k : l), V, b ] = IT QR2(S(k : l, k : l), w)
6. Daca k > 1 atunci
1. Pentru q = 1 : i +j 2
1. S(1 : k 1, k +q 1 : k +q + 1) =
= Hrd(S(1 : k +q 1, k +q 1 : k +q +1), V (:, q), b(q))
2. S(1 : k 1, l 1 : l) =
= Hrd(S(1 : k 1, l 1 : l), V (1 : 2, i +j 1), b(i +j 1))
7. Daca l < n atunci
1. Pentru q = 1 : i +j 2
1. S(k +q 1 : k +q + 1, l + 1 : n) =
= Hrs(V (:, q), b(q), S(k +q 1 : k +q + 1, l + 1 : n))
2. S(l 1 : l, l + 1 : n) =
= Hrs(V (1 : 2, i +j 1), b(i +j 1), S(l 1 : l, l +1 : n))
8. Pentru q = 1 : i +j 2
1. Q(:, k +q 1 : k +q + 1) =
= Hrd(Q(:, k +q 1 : k +q + 1), V (:, q), b(q))
9. Q(:, l 1 : l) =
= Hrd(Q(:, l 1 : l), V (1 : 2, i +j 1), b(i +j 1))
10. r = k +j 1
11. C^at timp [s
r+1,r
[ tol([s
r,r
[ +[s
r+1,r+1
[)
1. w
exact
=
_
_
s
2
kk
+s
k,k+1
s
k+1,k
s
kk
+
s
k+1,k
(s
kk
+s
k+1,k+1
)
s
k+1,k
s
k+2,k+1
_
_
2. [ S(k : l, k : l), V, b ] = IT QR2(S(k : l, k : l), w
exact
)
3. Daca k > 1 atunci
1. Pentru q = 1 : i +j 2
1. S(1 : k 1, k +q 1 : k +q + 1) =
= Hrd(S(1 : k 1, k +q 1 : k +q + 1), V (:, q), b(q))
2. S(1 : k 1, l 1 : l) =
= Hrd(S(1 : k1, l 1 : l), V (1 : 2, i+j 1), b(i+j 1))
4. Daca l < n atunci
1. Pentru q = 1 : i +j 2
1. S(k +q 1 : k +q + 1, l + 1 : n) =
= Hrs(V (:, q), b(q), S(k +q 1 : k +q + 1, l + 1 : n))
2. S(l 1 : l, l + 1 : n) =
= Hrs(V (1 : 2, i +j 1), b(i +j 1), S(l 1 : l, l +1 : n))
5. Pentru q = 1 : i +j 2
1. Q(:, k +q 1 : k +q + 1) =
= Hrd(Q(:, k +q 1 : k +q + 1), V (:, q), b(q))
4.6. CALCULUL SUBSPAT IILOR INVARIANTE 295
6. Q(:, l1: l) = Hrd(Q(:, l1: l), V (1: 2, i+j 1), b(i+j 1))
12. s
r+1,r
= 0 % anularea efectiva a elementului neglijabil
13. Return
Comentarii. Sintaxa de apel naturala a algoritmului de mai sus este
[ S, Q] = Pr(S, Q, k, i, j, tol).
Numarul de operat ii necesar depinde, evident, de tipul blocurilor permutate dar nu
depinde de pozit ia acestora. Asimptotic, n toate cazurile complexitatea algoritmu-
lui se ncadreaza totusi n categoria O(n). 3
Dispunand de procedura de mai sus, de permutare a doua blocuri diagonale
adiacente, algoritmul de ordonare a formei Schur reale este, n esent a, identic cu cel
de ordonare a formei Schur complexe. Pentru un plus de claritate, facem, si aici,
cateva precizari:
structura blocurilor diagonale ale matricei S n FSR va memorata n vectorul
strbl, i.e. strbl(k), k = 1 : p, este ordinul blocului diagonal k al matricei S la mo-
mentul curent al procesarii; structura init iala este unul din parametrii de intrare;
pentru localizarea blocurilor diagonale ale matricei S vom utiliza vectorul lcbl
care va cont ine pozit iile elementelor
11
ale acestora, i.e. lcbl(k), k = 1 : p, este
linia (si coloana) elementului
11
al blocului diagonal k al matricei S de la momentul
curent al procesarii.
Rezulta urmatorul algoritm.
Algoritmul 4.18 (FSR ORD Ordonarea formei Schur reale)
(Date o matrice S IR
nn
n forma Schur reala (4.199), matricea de
transformare init iala Q IR
nn
, numarul p al blocurilor diagonale,
vectorul strbl IN
p
al ordinelor blocurilor diagonale si permutarea
= i
1
, i
2
, . . . , i
p
, algoritmul suprascrie matricea S cu matricea or-
togonal asemenea S
=
Q
T
S
Q avand s
i
k
i
k
= s
kk
si actualizeaza, n mod
corespunzator, matricea de transformare Q.)
1. Pentru k = 1 : (p 1)
1. mut a =nu
2. l = k
3. Pentru j = (k + 1) : n
1. Daca i
j
< i
l
atunci
1. l = j
2. mut a =da
4. Daca mut a =da atunci
1. Pentru j = (l 1) : 1 : k
1. lcbl(1) = 1
2. Pentru i = 2 : j
1. lcbl(i) = lcbl(i 1) +strbl(i 1)
296 CAPITOLUL 4. VALORI SI VECTORI PROPRII
3. [ S, Q] = Pr(S, Q, lcbl(j), strbl(j), strbl(j + 1), tol)
4. i
j
i
j+1
5. strbl(j) strbl(j + 1)
Comentarii. Sintaxa de apel a algoritmului de mai sus este
[ S, Q] = FSR ORD(S, Q, p, strbl, , tol).
La fel ca n cazul complex, volumul de calcul necesar pentru ordonare este dictat
esent ial de natura permutarii.
In cazul cel mai defavorabil, cand permutarea este o
inversiune si toate blocurile sunt 2 2, se efectueaza
1
2
p(p+1) permutari de blocuri
2 2 adiacente care conduc la o complexitate de O(n
3
).
A 297
cu matricea necunoscutelor X I C
mn
, se numeste ecuat ie matriceala Sylvester
37
si este echivalenta cu un sistem liniar determinat de mn ecuat ii scalare cu mn
necunoscute
38
.
Avand n vedere structurarea matricei coecient ilor acestui sistem n cele doua
matrice de date A si B este interesant si util sa exprimam condit iile de existent a
si unicitate ale solut iei n raport cu aceste matrice si sa gasim metode specice de
rezolvare.
Teorema de existent a si unicitate a solut iei are urmatorul enunt .
Teorema 4.16 Ecuat ia Sylvester (4.203) admite o solut ie X I C
mn
si aceasta
solut ie este unic determinata dac a si numai daca
(A) (B) =
39
. (4.204)
Demonstrat ie. Fie formele Schur
40
S = U
H
AU si T = V
H
BV ale matricelor A
si B. Avem A = USU
H
si B = V TV
H
, expresii care, introduse n (4.203), conduc
la ecuat ia
USU
H
X XV TV
H
= C, (4.205)
echivalenta, datorita nesingularitat ii matricelor unitare U si V , cu ecuat ia (4.203).
Notand
Y = U
H
XV,
C = U
H
CV, (4.206)
ecuat ia (4.205) devine
SY Y T =
C. (4.207)
Cu aceleasi argumente ca mai sus, ecuat ia (4.203) admite o solut ie X si aceasta
solut ie este unic determinata daca si numai daca ecuat ia (4.207) admite o solut ie
Y unic determinata. Dar ecuat ia matriceala (4.207) poate scrisa sub forma unui
sistem bloc-inferior triunghiular de mn ecuat ii cu mn necunoscute.
Intr-adevar,
37
Intr-un context sistemic, ecuat ia (4.203) este cunoscut a sub denumirea de ecuat ie Sylvester
continua, context n care ecuat ia Sylvester discret a are forma AXB X = C.
38
Daca x I C
mn
si c I C
mn
sunt vectorii denit i, de exemplu, prin concatenarea, n ordinea na-
turala, a coloanelor matricelor X si, respectiv C, atunci sistemul de mn ecuat ii si mn necunoscute
(4.203) poate scris explicit sub forma
(In A+B
T
Im) x = c.
In relat ia de mai sus este operatorul pentru produsul Kronecker a dou a matrice denit n felul
urm ator: daca M I C
pq
si N I C
rs
, atunci P
def
= M N I C
prqs
este matricea av and
structura bloc P = [ P
ij
]
i=1:p, j=1:q
cu P
ij
= m
ij
N.
39
Daca (4.204) nu este satisfacut a, atunci ecuat ia Sylvester (neomogen a) (4.203) poate s a
admita sau sa nu admita solut ii (alternativa lui Fredholm) n raport cu matricea termenilor liberi
C. Daca admite solut ii, atunci solut ia general a este de forma X = Xp + Xo, unde Xp este o
solut ie particulara a ecuat iei Sylvester neomogene (4.203), iar Xo este solut ia general a a ecuat iei
omogene AXXB = 0.
In aceasta situat ie, ecuat ia omogen a are solut ia general a Xo dependent a
de N parametri arbitrari (sau, altfel spus, admite un sistem de N solut ii liniar independente). Aici
N =
p
i=1
q
l=1
il
cu
il
= min(m
i
, n
l
) unde m
i
si, respectiv, n
l
sunt ordinele celulelor Jordan
ale matricelor A si, respectiv, B care au aceeasi valoare proprie. Pentru detalii se poate consulta
referint a [ I ].
40
Daca matricele A si B sunt reale atunci S si, respectiv, T sunt forme Schur complexe ale
acestora.
298 CAPITOLUL 4. VALORI SI VECTORI PROPRII
avand n vedere structura superior triunghiulara a matricelor S si T ecuat ia (4.207)
se poate scrie pe coloane sub forma
Sy
j
Y t
j
= c
j
, j = 1 : n, (4.208)
unde y
j
= Y e
j
, t
j
= Te
j
= [ t
1j
t
2j
. . . t
jj
0 . . . 0 ]
T
si c
j
=
Ce
j
. Prin urmare,
ecuat iile (4.208) devin
Sy
j
j
k=1
t
kj
y
k
= c
j
, j = 1 : n, (4.209)
care se scriu sub forma matriceala
41
_
_
St
11
I
m
0 0
t
12
I
m
St
22
I
m
0 0
.
.
.
.
.
.
.
.
.
.
.
.
t
1n
I
m
t
2n
I
m
St
nn
I
m
_
_
_
_
y
1
y
2
.
.
.
y
n
_
_
=
_
_
c
1
c
2
.
.
.
c
n
_
_
. (4.210)
Acest sistem admite o solut ie unica daca si numai daca matricea sistemului este
nesingulara, i.e. daca si numai daca matricele St
jj
I
m
, j = 1 : n, sunt nesingulare,
respectiv
s
ii
t
jj
,= 0, i = 1 : m, j = 1 : n. (4.211)
Avand n vedere faptul ca (A) = s
11
, s
22
, . . . , s
mm
si (B) = t
11
, t
22
, . . . , t
nn
k=1
t
kj
y
k
, j = 1 : n, (4.212)
n ordinea j = 1, 2, . . . , n, necunoscutele scalare y
ij
calculandu-se, n ordinea i =
= n, n 1, . . . , 2, 1, cu formula
y
ij
=
c
ij
+
j1
k=1
y
ik
t
kj
m
k=i+1
s
ik
y
kj
s
ii
t
jj
. (4.213)
Dupa calculul matricei Y , matricea necunoscuta init iala se determina din prima
relat ie (4.206) cu formula
X = UY V
H
. (4.214)
Valoricarea algoritmica a part ii constructive a demonstrat iei teoremei 4.16 o
vom face n doua etape. Mai ntai vom prezenta un algoritm pentru rezolvarea
unei ecuat ii Sylvester triunghiulare de tipul (4.207) care va apoi folosit ntr-un
algoritm pentru rezolvarea ecuat iei Sylvester avand forma generala (4.203).
41
Vezi si una din notele de subsol precedente, referitoare la utilizarea produselor Kronecker.
4.7. FORMA BLOC-DIAGONAL
A 299
Algoritmul 4.19 (SYLVtri - Rezolvarea ecuat iei Sylvester triun-
ghiulare) (Date matricele superior triunghiulare S I C
mm
, T I C
nn
cu (A)(B) = , precumsi matricea C I C
mn
, algoritmul calculeaza
solut ia Y I C
mn
a ecuat iei Sylvester SY Y T = C.
1. Pentru j = 1 : n
1. Daca j > 1 atunci
1. Pentru i = 1 : m
1. c
ij
= c
ij
+
j1
k=1
y
ik
t
kj
.
2. Pentru i = m : 1 : 1
1. Daca i < m atunci
1. c
ij
= c
ij
m
k=i+1
s
ik
y
kj
.
2. y
ij
=
c
ij
s
ii
t
jj
.
Comentarii. Sintaxa de apel a algoritmului 4.19 este
Y = SYLVtri(S, T, C).
Complexitatea algoritmului este O(n
3
) (sau O(m
3
)), numarul de opi complecsi
ind N
(c)
=
1
4
(m
2
n + mn
2
) nmult iri si N
(c)
=
1
4
(m
2
n + mn
2
) adunari si scaderi,
echivalat cu evaluarile uzuale la N = 2(m
2
n + mn
2
) opi reali.
In cazul real, evi-
dent, N
op
=
1
2
(m
2
n + mn
2
). Algoritmul ind, n esent a, o colect ie de rezolvari de
sisteme triunghiulare are, cel put in n parte, proprietat ile algoritmilor de rezolvare
ale acestora. Se poate arma ca daca spectrele matricelor S si T sunt bine sep-
arate, i.e. n acest caz [s
ii
t
jj
[ sunt sucient de mari, atunci algoritmul este
numeric stabil. Asupra conceptului de separare a spectrelor se va reveni, ntr-un
context mai general, n sect iunea 4.10. 3
Algoritmul de rezolvare a ecuat iei Sylvester triunghiulare serveste ca baza, con-
form celor aratate mai sus, pentru rezolvarea ecuat iei Sylvester generale. Avem
urmatorul algoritm.
Algoritmul 4.20 (SYLVc - Rezolvarea ecuat iei matriceale Sylvester
complexe) (Date matricele A I C
mm
, B I C
nn
, C I C
mn
cu (A)
(B) = si tolerant a tol, algoritmul calculeaza solut ia X I C
mn
a
ecuat iei Sylvester continue AX XB = C utilizand algoritmul QR1
pentru reducerea matricelor A si B la forma Schur. Se presupune ca
algoritmul QR1 se termina normal n ambele cazuri.)
1. [ S, U ] = QR1(A, I
m
, tol,
da
)
2. [ T, V ] = QR1(B, I
n
, tol,
da
)
3. C
C = U
H
CV
4. Y = SYLVtri(S, T, C)
5. X = UY V
H
.
300 CAPITOLUL 4. VALORI SI VECTORI PROPRII
Comentarii. Sintaxa de apel a algoritmului 4.20 este
X = SYLVc(A, B, C).
Complexitatea algoritmului este O(n
3
). Evident, efortul de calcul cel mai important
se consuma n execut ia instruct iunilor 1 si 2 de aducere la forma Schur a matricelor
A, B si de acumulare a transformarilor (dar nici efortul pentru rezolvarea ecuat iei
Sylvester triunghiulare si efectuarea produselor matriceale nu poate neglijat).
Daca numim, ad-hoc, metoda prezentata mai sus varianta Schur-Schur, din motive
de asigurare a unei ecient e maxime, se impune analiza alternativelor n care se
renunt a la aducerea la forma Schur a ambelor matrice A si B. Astfel, n asa numita
varianta Hessenberg-Schur numai matricea B este adusa la forma Schur aparand
urmatoarele diferent e n raport cu algoritmul 4.20 de mai sus:
n instruct iunea 1 matricea A este adusa, printr-un algoritm de calcul direct
(neiterativ) algoritmul HQc la forma superior Hessenberg; n acest fel se evita
faza iterativa a algoritmului QR1;
n compensat ie, la instruct iunea 3, n loc de rezolvarea unei ecuat ii Sylvester
triunghiulare se rezolva o ecuat ie Sylvester Hessenberg-triunghiulara, ceea ce pre-
supune rezolvarea a n sisteme de tip Hessenberg, incluzand eliminare gaussiana cu
eventuala pivotare.
Evaluarile existente apreciaza ca varianta Hessenberg-Schur este cu 30 pana la
80 procente mai ecienta. Scrierea explicita a algoritmului Hessenberg-Schur este
propusa cititorului ca exercit iu.
Evident, matricele S si T pot suprascrie matricele A si, respectiv, B dupa cum
matricea Y a rezultatelor intermediare si solut ia X pot suprascrie matricea C dar
s-a preferat scrierea de mai sus pentru claritatea prezentarii algoritmului. 3
_
S
11
S
12
S
1p
0 S
22
S
2p
.
.
.
.
.
.
.
.
.
.
.
.
0 0 S
pp
_
_
, T =
_
_
T
11
T
12
T
1q
0 T
22
T
2q
.
.
.
.
.
.
.
.
.
.
.
.
0 0 T
qq
_
_
, (4.216)
iar C IR
mn
. Algoritmul corespunzator acestei situat ii structurale este cunoscut
sub denumirea de algoritmul Bartels-Stewart [ 4 ].
Procedura urmareste cu delitate ideile din algoritmul 4.19, cu singura de-
osebire ca n locul unor scalari apar blocuri i j cu i, j 1, 2. Partit ionam
matricea necunoscutelor Y = [ Y
ij
]
i=1:p, j=1:q
si matricea termenilor liberi C =
= [ C
ij
]
i=1:p, j=1:q
conform cu partit iile (4.216) ale matricelor S si T.
4.7. FORMA BLOC-DIAGONAL
A 301
In acest fel, corespondentele relat iilor (4.212) sunt ecuat iile bloc
S
ii
Y
ij
Y
ij
T
jj
=
C
ij
+
j1
k=1
T
kj
Y
ik
k=i+1
S
ik
Y
kj
i = 1 : p, j = 1 : q, (4.217)
i.e. ecuat ii Sylvester avand matricele S
ii
si T
jj
de dimensiuni 1 1 sau 2 2 care,
scrise explicit, reprezinta sisteme liniare determinate de ordin 1, 2 sau 4. Termenii
liberi ai acestor sisteme, i.e. matricele din membrul drept al relat iilor (4.218), sunt
calculabili daca rezolvarea acestor sisteme se face n ordinea j = 1, 2, . . . , q, i =
= p, p 1, . . . , 1.
Rezulta urmatorul algoritm.
Algoritmul 4.21 (BS Algoritmul Bartels-Stewart) (Date ma-
tricele cvasi-superior triunghiulare S IR
mm
, B IR
nn
cu blocurile
indexate ca n (4.216), astfel ncat (S) (T) = si matricea terme-
nilor liberi C IR
mn
, partit ionata conform cu partit ilile matricelor
S si T, algoritmul calculeaza solut ia Y IR
mn
a ecuat iei Sylvester
SY Y T = C.)
1. Pentru j = 1 : q
1. Daca j > 1 atunci
1. Pentru i = 1 : p
1. C
ij
= C
ij
+
j1
k=1
Y
ik
T
kj
.
2. Pentru i = p : 1 : 1
1. Daca i < p atunci
1. C
ij
= C
ij
p
k=i+1
S
ik
Y
kj
.
2. Se rezolva ecuat ia Sylvester S
ii
Y
ij
Y
ij
T
jj
= C
ij
(prin
scrierea explicita si utilizarea, e.g. a eliminarii gaussiene)
Comentarii. Sintaxa de apel, cu care a algoritmul 4.21 va utilizat n continuare,
este
Y = BS(S, T, C).
Complexitatea algoritmului este O(n
3
), comparabila cu rezolvarea ecuat iei Sylvester
triunghiulare cu algoritmul 4.19. Concret numarul asimptotic de operat ii aritmetice
ce se efectueaza este N
op
=
1
2
(m
2
n + mn
2
). De asemenea, proprietat ile numerice
sunt similare cu cele ale algoritmului 4.19, ind dependente esent ial de nivelul de
separare al spectrelor celor doua matrice S si T. 3
Revenim la rezolvarea ecuat iei Sylvester (4.203) avand matricele de date A, B
si C reale. Fie U
T
AU = S si V
T
BV = T formele Schur reale ale matricelor A,
respectiv B, unde matricele U IR
mm
si V IR
nn
sunt ortogonale. Introducand
A = USU
T
si B = V TV
T
n (4.203) obt inem ecuat ia
SU
T
XV U
T
XV T = U
T
CV, (4.218)
care poate scrisa n forma (4.215)
SY Y T =
C, (4.219)
302 CAPITOLUL 4. VALORI SI VECTORI PROPRII
unde
Y = U
T
XV,
C = U
T
CV. (4.220)
Dupa calculul matricei Y cu algoritmul Bartels-Stewart, matricea necunoscuta ini-
t iala se determina cu relat ia
X = UY V
T
. (4.221)
Obt inem urmatorul algoritm.
Algoritmul 4.22 (SYLVr Rezolvarea ecuat iei Sylvester reale)
(Date matricele AIR
mm
, BIR
nn
, C IR
mn
, cu (A) (B) = ,
si tolerant a tol, algoritmul calculeaza solut ia X IR
mn
a ecuat iei
Sylvester continue AX XB = C prin reducerea matricelor A si B la
forma Schur reala cu algoritmul QR2 si utilizarea algoritmului Bartels-
Stewart. Se presupune ca algoritmul QR2 se termina normal n ambele
cazuri.)
1. [ S, U ] = QR2(A, I
m
, tol,
da
)
2. [ T, V ] = QR2(A, I
n
, tol,
da
)
3. C
C = U
T
CV
4. Y = BS(S, T, C)
5. X = UY V
T
Comentarii. Sintaxa de apel, cu care algoritmul 4.22 va utilizat n continuare,
este
X = SYLVr(A, B, C).
Pentru alte aspecte, cum sunt aprecierea complexitat ii si memorarea economica,
vezi comentariile de la algoritmul 4.20. 3
Observat ia 4.7 Condit ia (4.204), de existent a si unicitate a solut iei ecuat iei
Sylvester (4.203), sugereaza ideea ca solut ia este cu atat mai robusta cu cat
spectrele matricelor A si B sunt mai bine separate. Masura separarii spectrelor
matricelor A si B este data de scalarul
sep(A, B) = min
V =0
|AV V B|
F
|V |
F
(4.222)
(pentru mai multe detalii vezi 4.10). Concret, se poate arata [ 54 ] ca solut ia X a
ecuat iei Sylvester (4.203) satisface condit ia
|X|
F
|C|
F
sep(A, B)
. (4.223)
Deci, daca separarea matricelor A si B este redusa, atunci este posibil ca norma
Frobenius a solut iei sa e mare. 3
4.7. FORMA BLOC-DIAGONAL
A 303
4.7.2 Descompunerea bloc-diagonala
Posibilitatea reducerii, prin transformari de asemanare, a unei matrice bloc-tri-
unghiulare la o matrice bloc-diagonala are la baza urmatoarea lema.
Lema 4.5 Fie o matrice T I C
nn
2 2 superior bloc-triunghiulara
T =
_
T
11
T
12
0 T
22
_
, T
11
I C
n1n1
, T
22
I C
n2n2
, n
1
+n
2
= n. (4.224)
Daca (T
11
) (T
22
) = , atunci exista o matrice nesingulara X I C
nn
avand
structura
X =
_
I
n1
X
12
0 I
n2
_
, (4.225)
astfel ncat
D = X
1
TX =
_
T
11
0
0 T
22
_
. (4.226)
Demonstrat ie. Este simplu de constatat ca
X
1
=
_
I
n1
X
12
0 I
n2
_
(4.227)
si, n consecint a,
D = X
1
TX =
_
T
11
T
11
X
12
X
12
T
22
+T
12
0 T
22
_
. (4.228)
Conform teoremei 4.16, n condit iile lemei, ecuat ia matriceala Sylvester continua
T
11
X
12
X
12
T
22
+T
12
= 0 (4.229)
admite o solut ie X
12
unic determinata. Utilizand aceasta solut ie n denirea matri-
cei X asert iunea lemei este probata evident. 3
Lema 4.5 se generalizeaza imediat n urmatorul rezultat.
Teorema 4.17 Daca matricea T I C
nn
are o structura q q superior bloc-tri-
unghiulara
T =
_
_
T
11
T
12
T
1q
0 T
22
T
2q
.
.
.
.
.
.
.
.
.
.
.
.
0 0 T
qq
_
_
, T
ii
I C
nini
,
q
i=1
n
i
= n, (4.230)
si satisface condit iile
(T
ii
) (T
jj
) = , i ,= j, (4.231)
atunci exista o matrice nesingulara X I C
nn
avand structura
X =
_
_
I
n1
X
12
X
1q
0 I
n2
X
2q
.
.
.
.
.
.
.
.
.
.
.
.
0 0 I
nq
_
_
, (4.232)
304 CAPITOLUL 4. VALORI SI VECTORI PROPRII
astfel ncat
D = X
1
TX =
_
_
T
11
0 0
0 T
22
0
.
.
.
.
.
.
.
.
.
.
.
.
0 0 T
qq
_
_
. (4.233)
Demonstrat ie. Dovada se obt ine imediat prin aplicarea repetata a lemei 4.5 pentru
a proba existent a si pentru a calcula submatricele X
ij
care denesc matricea de
transformare X. Procedura are q 1 pasi.
Pasul 1
. Fie partit ia
T =
_
T
11
T
12
0
T
22
_
, unde
T
12
=
_
T
12
T
1q
,
T
22
=
_
_
T
22
T
2q
.
.
.
.
.
.
.
.
.
0 T
qq
_
_.
Din (4.231) rezulta (T
11
) (
T
22
) = . Prin urmare, conform lemei 4.5, transfor-
marea denita de T T
(1)
= X
1
1
TX
1
cu
X
1
=
_
I
n1
X
12
0 I
nn1
_
,
unde
X
12
este solut ia ecuat iei Sylvester
T
11
X
12
X
12
T
22
+
T
12
= 0
asigura anularea blocurilor extradiagonale de pe prima bloc-linie a matricei T.
Pasul k
T
11
0 0
0 T
kk
T
k,k+1
0 0
T
k+1,k+1
_
_
,
unde
T
11
=
_
_
T
11
0
.
.
.
.
.
.
.
.
.
0 T
k1,k1
_
_,
T
k,k+1
=
_
T
k,k+1
T
kq
T
k+1,k+1
=
_
_
T
k+1,k+1
T
k+1,q
.
.
.
.
.
.
.
.
.
0 T
qq
_
_.
Din aceleasi motive ca la pasul 1
, daca
X
k,k+1
este solut ia ecuat iei Sylvester
T
kk
X
k,k+1
X
k,k+1
T
k+1,k+1
+
T
k,k+1
= 0, (4.234)
4.7. FORMA BLOC-DIAGONAL
A 305
atunci matricea
T T
(k)
= X
1
k
T
(k1)
X
k
, (4.235)
unde
X
k
=
_
_
I
n1
0 0
0 I
n
k
X
k,k+1
0 0 I
n n1n
k
_
_
, n
1
=
k1
i=1
n
i
, (4.236)
asigura anularea blocurilor extradiagonale de pe bloc-linia k. Prin urmare, proce-
dura init iata la pasul 1
X
k,k+1
=
_
X
k,k+1
X
kq
,
conforma cu partit ia lui
T
k,k+1
. Atunci ecuat ia (4.234) se reduce la setul de ecuat ii
Sylvester
T
kk
X
kj
X
kj
T
jj
=
j1
l=k+1
X
kl
T
lj
T
kj
, j = k + 1 : q, (4.239)
(unde, pentru j = k + 1 suma se considera nula) care pot rezolvate n ordinea
impusa j = k + 1, k + 2, . . . , q. Acumularea transformarilor, se poate face si ea pe
masura ce se calculeaza blocurile.
Intrucat bloc-diagonalizarea urmeaza, de obicei,
reducerii la forma bloc-triunghiulara si unei eventuale ordonari a blocurilor diago-
nale (e.g. calculul formei Schur ordonate), pentru a nu reduce generalitatea vom
considera ca matricea init iala de transformare este Q, posibil diferita de matricea
unitate. Astfel, acumularea transformarilor consta n calculul Q QX.
Rezulta urmatoarea schema de calcul.
42
Pentru diagonalizarea matricelor bloc inferior triunghiulare se aplic a aceast a procedur a ma-
tricei transpuse, dupa care se transpune rezultatul.
306 CAPITOLUL 4. VALORI SI VECTORI PROPRII
BD 1. Pentru k = 1 : q 1
1. Pentru j = k + 1 : q
1. Se rezolva ecuat ia Sylvester T
kk
X
kj
X
kj
T
jj
= T
kj
2. T
kj
= 0
3. Daca k < q 1 atunci
1. Pentru l = j + 1 : q
1. T
kl
= T
kl
X
kj
T
jl
2. Pentru i = 1 : q
1. Q
ij
= Q
ij
+Q
ik
X
kj
Algoritmul de implementare al schemei de calcul BD arata astfel.
Algoritmul 4.23 (BDc Diagonalizarea bloc a unei matrice bloc
superior triunghiulare) (Date matricea bloc superior triunghiulara T
I C
nn
, avand blocurile diagonale T
ii
I C
nini
, i = 1 : q, astfel ncat
(T
ii
) (T
jj
) = , i ,= j, matricea de transformare init iala Q I C
nn
si vectorul nd = [n
1
n
2
. . . n
q
] al ordinelor blocurilor diagonale, algo-
ritmul calculeaza matricea unitar bloc triunghiulara X I C
mn
astfel
ncat T X
1
TX este bloc-diagonala T = diag(T
11
, T
22
, . . . , T
qq
) si
acumuleaza transformarile actualizand matricea Q: Q QX. Matricea
X nu se formeaza explicit.)
1. r
1
= 1
2. s
1
= n
1
3. Pentru k = 1 : q 1
1. r
k+1
= r
k
+n
k
2. s
k+1
= s
k
+n
k+1
4. Pentru k = 1 : q 1
1. Pentru j = k + 1 : q
1. Y = SYLV(T(r
k
: s
k
, r
k
: s
k
), T(r
j
: s
j
, r
j
: s
j
),
T(r
k
: s
k
, r
j
: s
j
))
2. T(r
k
: s
k
, r
j
: s
j
) = 0
3. Daca k < q 1 atunci
1. Pentru l = j + 1 : q
1. T(r
k
: s
k
, r
l
: s
l
) = T(r
k
: s
k
, r
l
: s
l
) Y T(r
j
: s
j
, r
l
: s
l
)
4. Q( : , r
j
: s
j
) = Q( : , r
j
: s
j
) +Q( : , r
k
: s
k
)Y
Comentarii. Sintaxa de apel pentru algoritmul 4.23 este
[ T, Q] = BD(T, Q, nd).
Pentru simplicarea scrierii algoritmului s-au introdus vectorii de indici init iali (r)
si nali (s) ai blocurilor, i.e. astfel ncat T
ij
= T(r
i
: s
i
, r
j
: s
j
).
Intrucat matricea
X nu se formeaza explicit (n afara cazului cand Q init ial este I
n
) pentru solut iile
X
kj
ale ecuat iilor Sylvester s-a utilizat aceeasi variabila matriceala Y .
4.7. FORMA BLOC-DIAGONAL
A 307
Versiunea pentru date init iale reale s-o numim BDr este absolut simi-
lara, singura diferent a constand n utilizarea algoritmului SYLVr pentru rezolvarea
ecuat iilor Sylvester implicate.
Complexitatea algoritmului este O(n
3
) numarul concret de operat ii ind depen-
dent de structura blocurilor diagonale. Daca blocurile diagonale sunt toate 1 1,
atunci n cazul real N
op
=
2
3
n
3
opi, iar n cazul complex numarul echivalent de
opi reali este de patru ori mai mare. 3
Observat ia 4.8
In majoritatea aplicat iilor calitatea formei boc-diagonale calculate
de algoritmul BD este apreciata prin condit ionarea (X) = |X| |X
1
| a matricei
de transformare X. Data o matrice T n forma Schur (reala), se poate formula
problema unei ordonari prealabile a acesteia si apoi a xarii blocurilor diagonale
astfel ncat sa se obt ina o condit ionare cat mai buna a matricei de transformare
X. Consideram, spre exemplicare, cazul a numai doua blocuri diagonale. Din
structura (4.225) si (4.227) a matricelor X si X
1
avem
F
(X) = |X|
F
|X
1
|
F
= n +|X
12
|
2
F
.
Prin urmare, condit ionarea matricei X este cu atat mai buna cu cat norma solut iei
X
12
a ecuat iei Sylvester (4.229) este mai mica, i.e. conform observat iei 4.7, sepa-
rarea spectrelor blocurilor T
11
si T
22
este mai mare. Revenind la problema formulata
mai sus, ordonarea formei Schur si xarea blocurilor diagonale trebuie facuta astfel
ncat spectrele blocurilor diagonale sa e cat mai bine separate. 3
4.7.3 Aspecte numerice privitoare la calculul
formei canonice Jordan
In cazul general, cea mai simpla structura care poate obt inuta, prin transformari
de asemanare corespunzatoare, este asa numita forma canonica Jordan denita n
teorema urmatoare.
Teorema 4.18 Oricare ar matricea A I C
nn
exista o matrice nesingulara T
I C
nn
astfel ncat
J = T
1
AT = diag( J
1
, J
2
, ... , J
q
), (4.240)
unde blocurile diagonale J
k
se numesc celule Jordan si sunt e scalari J
k
=
k
, e
au structura
J
k
=
_
k
1 0 0
0
k
.
.
. 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0
k
1
0 0 0
k
_
_
I C
n
k
n
k
. (4.241)
Unei valori proprii multiple i pot corespunde una sau mai multe celule Jordan.
Numarul si dimensiunile celulelor Jordan asociate ecarei valori proprii sunt unic
determinate, dar ordonarea blocurilor n (4.240) poate arbitrara.
308 CAPITOLUL 4. VALORI SI VECTORI PROPRII
Demonstrat ie. Demonstrat ii complete pot gasite n lucrarile clasice de algebra
liniara sau analiza matriceala, cum sunt, de exemplu, [ I ], [ II ]. 3
Desi forma canonica Jordan joaca un rol esent ial n analiza matriceala, cont inand
maximum de informat ie structurala privitor la o matrice data, totusi rolul ei n cal-
culul numeric este mult diminuat de sensibilitatea structurii Jordan la perturbat ii
numerice n elementele matricei init iale, perturbat ii inerente datorita erorilor de
reprezentare a informat iei numerice ntr-un format virgula mobila. De asemenea,
ncercarile de a calcula forma canonica Jordan a unei matrice presupuse ca avand
o reprezentare exacta, ntr-un mediu de calcul aproximativ, prezinta dicultat i ma-
jore datorita inuent elor structurale, posibil decisive, ale erorilor de rotunjire. Din
pacate (sau din fericire) nu s-a putut degaja un concept de forma canonica Jordan
aproximativa sau, mai bine zis, acest rol poate jucat de o structura diagonala,
ntrucat oricat de aproape (n sensul unei norme matriceale consistente) de o ma-
trice cu o structura Jordan oricat de complexa se gasesc matrice cu structura Jordan
cea mai simpla, i.e. diagonala.
Trebuie subliniat nsa ca, practic n toate aplicat iile, forma canonica Jordan
poate suplinita cu succes de catre forma Schur, al carei calcul se poate efectua cu
o nalta acuratet e.
Privind acum determinarea formei canonice Jordan ca o provocare la adresa
calculului numeric, ne propunem sa scoatem n evident a, la un nivel mai put in
formal, natura dicultat ilor ce apar ntr-o astfel de ntreprindere.
_
0 1 0 0
0 0
.
.
. 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 1
0 0 0 0
_
_
I C
n
k
n
k
. (4.244)
4.7. FORMA BLOC-DIAGONAL
A 309
O prima dicultate majora este determinarea ordinelor n
k
, k = 1 : q, ale celulelor.
O modalitate de a face acest lucru pleaca de la urmatoarele observat ii: a) J
l
k
= 0
pentru tot i l n
k
si b) dimKerJ
l
k
= l, pentru l < n
k
. Cum
J
l
= T
1
N
l
T = diag( J
l
1
, J
l
2
, ... , J
l
q
), (4.245)
si
dimKerJ
l
= dimKerN
l
=
q
i=1
dimKerJ
l
i
, (4.246)
rezulta ca, daca putem calcula m
l
def
= dimKerN
l
pentru l 1 : n
43
, atunci dimen-
siunile n
i
ale celulelor Jordan pot determinate din (4.246) pe baza urmatoarelor
constatari:
a) numarul celulelor Jordan de ordin l sau mai mare este
l
= m
l
m
l1
(se
considera m
0
= 0), ntrucat o data ce l a atins valoarea n
i
, J
l
i
a devenit nula,
i.e. dimKerJ
l
i
a atins valoarea maxima n
i
si nu mai contribuie la variat ia sumei la
trecerea la valoarea urmatoare a lui l;
b) numarul celulelor Jordan de ordin l este dat de
l
=
l
l+1
(se considera
lmax+1
= 0).
Exemplul 4.5 Fie n = 8 ordinul matricei strict superior triunghiulare N. O
situat ie structurala posibila ce poate dedusa din determinarea dimKerN
l
, pentru
toate valorile de interes ale lui l, este rezumata n tabelul 4.6. Deci structura Jordan
a matricei N are o celula scalara, doua celule de ordinul 2 si o celula de ordinul 3.
3
l 1 2 3
m
l
= dimKerN
l
4 7 8
l
= m
l
m
l1
4 3 1
l
=
l
l+1
1 2 1
Tabelul 4.6: Determinarea dimensiunii celulelor Jordan pentru o matrice strict
superior triunghiulara de ordinul 8
Pentru aplicarea celor aratate mai sus este necesar un mijloc abil de deter-
minare a dimensiunilor subspat iilor implicate sau, echivalent, de calcul al rangului
unor matrice. Aici este de fapt punctul critic al procedurii, ntrucat deciziile de
rang exact ntr-un mediu de calcul aproximativ sunt dicile, daca nu imposibile,
iar conceptul de rang numeric (i.e. ntr-un sens, de rang aproximativ, v. cap. 5),
singurul instrument de care putem dispune n condit iile precizate, trebuie utilizat
cu multa grija ntr-o abordare structurala n care structura este foarte sensibila la
variat iile elementelor.
43
Evident, este sucient sa ne rezum am la l s, unde s este cel mai mic ntreg pentru care
N
s
= 0.
310 CAPITOLUL 4. VALORI SI VECTORI PROPRII
Pentru a ncheia constructiv acest paragraf, vom considera ca ind exact ran-
gul oferit de instrumentele numerice existente si, pentru a apela la proceduri deja
familiare cititorului, vom folosi n acest scop triangularizarea unitara (ortogonala)
completa
44
(v. cap. 3). Reamintim ca, data o matrice A I C
mn
, procedura de
triangularizare unitara completa presupune o triangularizare unitara cu pivotarea
coloanelor care calculeaza matricea unitara Q I C
mm
si matricea (ortogonala) de
permutare P IR
nn
astfel ncat
Q
H
AP = R =
_
R
11
R
12
0 0
_
, R
11
I C
rr
, (4.247)
unde R
11
este superior triunghiulara nesingulara (i.e. r este rangul matricei A),
urmata de anularea blocului R
12
printr-o transformare unitara (ortogonala) aplicata
pe dreapta, obt inandu-se
Q
H
APV = Q
H
AZ = RV =
_
R
11
0
0 0
_
, Z = PV. (4.248)
In cele ce urmeaza, vom utiliza variante ale descompunerii (4.248) obt inute prin
permutari suplimentare ale blocurilor.
In acest scop vom introduce sintaxa de apel
[ R, Q, Z, r ] = QRCij(A),
unde ij marcheaza pozit ia blocului triunghiular nesingular R
11
, indexat n conti-
nuare n funct ie de necesitat ile contextului. Subliniem nca o data ca, desi rangul
calculat r este esent ial dependent de nivelul erorilor de calcul si al tolerant elor
practicate n procesul de triangularizare, n cele ce urmeaza acesta va considerat
exact.
Trecem la construct ia formei canonice Jordan a matricei strict superior tri-
unghiulare (deci nilpotente) N I C
nn
, si vom presupune N ,= 0
45
. Esent a
procedurii de construct ie a formei Jordan consta n urmatoarele etape.
Etapa 1
1
, (4.249)
cu R
1
I C
r1r1
nesingulara si
m
1
= dimKerN = n r
1
=
1
. (4.250)
44
Un mijloc mai bun de evaluare a rangului este descompunerea valorilor singulare, tratat a n
capitolul 5.
45
Daca N = 0, atunci ea se aa deja n form a canonic a Jordan cu n celule de ordinul 1.
4.7. FORMA BLOC-DIAGONAL
A 311
In continuare e matricea N
1
, unitar asemenea cu N, denita de
N
1
= Z
H
1
NZ
1
= Z
H
1
Q
1
R =
1
..
r1
..
_
0 K
1
0 L
1
_
1
r
1
, (4.251)
unde, evident, (L
1
) (N), i.e. blocul L
1
are toate valorile proprii nule, respectiv
este nilpotent. Putem determina acum m
2
= dimKerN
2
= dimKerN
2
1
.
Intr-adevar,
m
2
= dimKerN
2
1
= dimKer
_
0 K
1
L
1
0 L
2
1
_
=
= m
1
+ dimKer
_
K
1
L
1
L
2
1
_
= m
1
+ dimKerL
1
, (4.252)
ntrucat
_
K
1
L
1
L
2
1
_
=
_
K
1
L
1
_
L
1
, iar matricea
_
K
1
L
1
_
este monica. Daca L
1
= 0
se trece la etapa a doua. Daca L
1
,= 0 continuam procesul init iat mai sus, prin
aplicarea unor transformari similare matricei nilpotente L
1
, obt inand
N
2
=
Z
H
2
L
1
Z
2
=
2
..
r2
..
_
0 K
2
0 L
2
_
2
r
2
, (4.253)
cu matricea L
2
nilpotenta, matricea
_
K
2
L
2
_
monica, m
2
= m
1
+
2
si
2
= r
1
r
2
.
Considerand matricea de transformare unitara
Z
2
=
_
I
m1
0
0
Z
2
_
, (4.254)
obt inem
N
2
= Z
H
2
N
1
Z
2
= Z
H
2
Z
H
1
NZ
1
Z
2
=
_
_
0 K
1
Z
2
0
0 K
2
0 L
2
_
_
=
1
..
2
..
r2
..
_
_
0 K
12
K
13
0 0 K
23
0 0 L
2
_
_
2
r
2
,
(4.255)
n care matricele K
12
si
_
K
23
L
2
_
sunt monice.
In aceasta faza putem anula blocul
K
13
printr-o transformare de asemanare (neunitara) denita de o matrice de trans-
formare de tipul
T
2
=
_
I
1
S
0 I
r1
_
, (4.256)
312 CAPITOLUL 4. VALORI SI VECTORI PROPRII
unde S I C
1r1
este o solut ie a ecuat iei matriceale
46
S
_
K
23
L
2
_
= K
13
. (4.257)
Cu aceasta transformare rezulta
N
2
= T
1
2
N
2
T
2
= T
1
2
Z
H
2
Z
H
1
NZ
1
Z
2
T
2
=
1
..
2
..
r2
..
_
_
0 K
12
0
0 0 K
23
0 0 L
2
_
_
2
r
2
, (4.258)
Acest proces se desfasoara ntr-un numar s de pasi, unde s este primul ntreg
pentru care L
s
=0, obt inandu-se, n nalul acestei etape, o matrice avand o structura
bloc supradiagonala
K = N
s
= T
1
s
Z
H
s
. . . T
1
2
Z
H
2
Z
H
1
NZ
1
Z
2
T
2
. . . Z
s
T
s
=
=
1
..
2
..
3
..
s
..
_
_
0 K
12
0 0
0 0 K
23
0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0
.
.
. K
s1,s
0 0 0 0
_
2
.
.
.
s1
s
, (4.259)
cu toate blocurile K
i1,i
, i = 2 : s, monice. Din dimensiunile
l
l
ale blocurilor
diagonale se pot deduce, dupa cum s-a aratat mai sus, numarul
l
=
l
l+1
,
l = 1 : s, al celulelor Jordan de ordinul l.
Etapa 2
K
23
= Q
H
23
K
23
Z
23
=
_
0
R
23
_
2
3
=
2
3
=
3
, (4.260)
cu R
23
I C
33
nesingulara. Acum, cu transformarea de asemanare denita de
matricea
T
23
=
_
_
I
1
0 0
0 Q
23
0
0 0 Z
23
R
1
23
_
_
, (4.261)
46
Ecuat ia (4.257) are ntotdeauna (cel put in) o solut ie S ntruc at matricea sistemului
_
K
23
L
2
_
este monica. O solut ie poate calculat a cu mijloacele descrise n capitolele 2 si 3. De exem-
plu, daca Q
H
_
K
23
L
2
_
=
_
R
0
_
este triangularizarea unitar a a matricei
_
K
23
L
2
_
, atunci S =
=
_
R
1
K
13
Y
Q
H
, cu Y I C
2
arbitrar a, este o astfel de solut ie. Pentru Y = 0 se obt ine
solut ia normala, i.e. de norma Frobenius minim a.
4.7. FORMA BLOC-DIAGONAL
A 313
rezulta
M = T
1
23
KT
23
=
_
_
0 K
12
Q
23
0
0 0
_
0
2
I
3
_
0 0 0
_
_
. (4.262)
Continuand n acelasi mod, consideram descompunerea unitara completa a blocului
K
12
actualizat [
K
12
, Q
12
, Z
12
,
2
] = QRC21(K
12
Q
23
) si transformarea de asema-
nare denita de matricea
T
12
=
_
_
Q
12
0 0
0 Z
12
R
1
12
0
0 0 I
3
_
_
. (4.263)
Rezulta
M = T
1
12
MT
12
=
_
_
0
_
0
1
I
2
_
0
0 0
_
0
2
I
3
_
0 0 0
_
_
. (4.264)
In concluzie, parcurgand cele trei etape, se obt ine forma canonica Jordan J
0
a
matricei strict superior triunghiulare N. Forma canonica Jordan a matricei init iale
A din (4.242) este J = I
n
+J
0
.
Matricea nesingulara care deneste transformarea de asemanare ce evident iaza
forma canonica Jordan se obt ine cumuland toate transformarile efectuate pe par-
cursul procedurii.
Rezumand cele prezentate mai sus, avem urmatoarea schit a a unei posibile pro-
ceduri de calcul a formei canonice Jordan.
314 CAPITOLUL 4. VALORI SI VECTORI PROPRII
J 1. Se calculeaza forma Schur (complexa) utilizand algoritmul QR.
2. Se ordoneaza forma Schur astfel ncat valorile proprii apreciate
ca ind egale sa e grupate.
3. Se calculeaza forma bloc-diagonala astfel ncat ecarui bloc sa-i
corespunda o valoare proprie distincta.
4. Se calculeaza forma canonica Jordan a ecarui bloc diagonal
conform indicat iilor din prezenta sect iune.
Subliniem n nal complexitatea sarcinii de a calcula forma canonica Jordan,
dependent a critica a structurii obt inute de delicate decizii de rang ce trebuie luate la
pasul 4, precum si posibile condit ionari nesatisfacatoare sau instabilitat i numerice
n rezolvarea ecuat iilor matriceale Sylvester din pasul 3, mai ales n situat ia n
care separarea valorilor proprii considerate distincte este insucienta. De aceea,
n aplicat iile de calcul numeric, se evita utilizarea formei canonice Jordan. Asa
cum s-a precizat, din fericire, forma Schur, mult mai robusta, este sucienta pentru
rezolvarea practic a tuturor problemelor de interes aplicativ.
4.8 Algoritmul QR simetric
Matricele reale simetrice A = A
T
IR
nn
apar n numeroase aplicat ii specice.
In
particular, problema generala a celor mai mici patrate presupune rezolvarea (mai
mult sau mai put in explicita a) sistemului normal de ecuat ii a carui matrice este
simetrica. Mai mult, cazul simetric este important pentru calculul valorilor singulare
ale unei matrice, problema ce apare n toate aplicat iile ce fac apel la conceptul de
rang matriceal.
Din punct de vedere procedural, exploatarea simetriei n determinarea valorilor
si vectorilor proprii conduce la dezvoltari elegante si la importante simplicari ale
calculelor. Algoritmul QR simetric ramane un instrument fundamental pentru
calculul ntregului spectru al unei matrice simetrice. Totusi, spre deosebire de cazul
general, n care algoritmul QR nu are rival, n cazul simetric, n situat ii specice,
exista solut ii alternative viabile, cele mai importante ind prezentate n 4.9.
Sursa importantelor facilitat i de calcul care apar n cazul simetric se aa n
rezultatul fundamental dat de teorema 4.2
47
, conform careia orice matrice simetrica
A IR
nn
este ortogonal diagonalizabila, i.e. exista o matrice ortogonala Q
IR
nn
astfel ncat
Q
T
AQ = = diag(
1
,
2
, . . . ,
n
), (4.265)
adica toate matricele simetrice reale sunt simple, au un spectru real (A) IR, iar
direct iile proprii, denite de coloanele matricei Q din (4.265), sunt ortogonale doua
cate doua.
_
T
(k)
11
T
(k)
12
0
T
(k)
21
T
(k)
22
T
(k)
23
0 T
(k)
32
T
(k)
33
_
_
k 1
1
n k
(4.269)
316 CAPITOLUL 4. VALORI SI VECTORI PROPRII
matricea obt inuta dupa primii k 1 pasi, partit ionata convenabil, n care T
(k)
11
este
tridiagonala, simetrica, iar
T
(k)
21
= (T
(k)
12
)
T
= [ 0 0 0 t
(k)
k,k1
].
Avand n vedere faptul ca reectorul elementar U
k+1
are structura
U
k+1
=
_
I
k
0
0
U
k+1
_
, (4.270)
unde
U
k+1
= I
nk
u
k+1
u
T
k+1
k+1
, u
k+1
IR
nk
, (4.271)
este un reector elementar de ordin n k si indice 1, transformarile efectuate la
pasul k au ca efect
A T
(k+1)
= U
k+1
T
(k)
U
k+1
=
_
_
T
(k)
11
T
(k)
12
0
T
(k)
21
T
(k)
22
T
(k)
23
U
k+1
0
U
k+1
T
(k)
32
U
k+1
T
(k)
33
U
k+1
_
_
. (4.272)
Cum
T
(k)
23
U
k+1
= (
U
k+1
T
(k)
32
)
T
= [ 0 0 0 ],
cu = sgn(T
(k)
32
(1, 1))|T
(k)
32
|
48
, ramane sa efectuam n mod ecient calculul ma-
tricei simetrice
A(k + 1 : n, k + 1 : n) T
(k+1)
33
=
U
k+1
T
(k)
33
U
k+1
. (4.273)
Consideram necesar sa precizam aici faptul ca performant ele deosebite privind
memoria utilizata si ecient a calculatorie din cazul simetric se datoresc unei ju-
dicioase exploatari a proprietat ii de simetrie. Astfel, o memorare economica a unei
matrice simetrice se face ret inand numai elementele din triunghiul sau inferior sau
superior. De asemenea, cand se cunoaste faptul ca rezultatul unei procesari este
o matrice simetrica, se calculeaza, evident, numai elementele sale din triunghiul
inferior sau superior.
) T
(k)
33
(I
nk
u u
T
) =
48
Pentru calculul reectorilor si semnicat ia notat iilor utilizate, vezi capitolul 3.
4.8. ALGORITMUL QR SIMETRIC 317
= T
(k)
33
u u
T
T
(k)
33
T
(k)
33
u u
T
+
u u
T
T
(k)
33
u u
T
2
. (4.274)
Notand
v =
T
(k)
33
u
IR
nk
(4.275)
obt inem
T
(k+1)
33
= T
(k)
33
uv
T
v u
T
+
u u
T
v u
T
= T
(k)
33
u(v
T
u
T
v
2
u
T
)(v
u
T
v
2
u) u
T
. (4.276)
Introducand acum notat ia
w = v
u
T
v
2
u, (4.277)
(4.276) devine
T
(k+1)
33
= T
(k)
33
uw
T
w u
T
, (4.278)
relat ie care, mpreuna cu (4.275) si (4.277), va folosita pentru calculul triunghiului
inferior al matricei A(k + 1 : n, k + 1 : n) T
(k+1)
33
=
U
k+1
T
(k)
33
U
k+1
.
Forma tridiagonala simetrica obt inuta constituie punctul de plecare pentru di-
verse tehnici iterative de calcul a valorilor proprii. De aceea, n cele ce urmeaza,
vom considera ca matricea tridiagonala A T = T
T
IR
nn
este memorata nu-
mai prin elementele sale semnicative, date de componentele vectorilor f IR
n
si
g IR
n1
conform scrierii
A T =
_
_
f
1
g
1
0 0 0
g
1
f
2
g
2
0 0
0 g
2
f
3
.
.
. 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0
.
.
. f
n1
g
n1
0 0 0 0 g
n1
f
n
_
_
. (4.279)
Aplicarea ideilor ment ionate mai sus conduce la urmatorul algoritm.
Algoritmul 4.24 (TQ Reducerea la forma tridiagonala)
(Date matricea simetrica A IR
nn
si matricea de transformare init iala
Q IR
nn
, algoritmul calculeaza secvent a de reectori U
2
, U
3
, , U
n1
astfel ncat matricea A T = U
n1
U
3
U
2
AU
2
U
3
U
n1
are o struc-
tura tridiagonala. Se considera ca A este data numai prin triunghiul sau
inferior n care sunt efectuate calculele curente. Algoritmul extrage vec-
torii f IR
n
si g IR
n1
, conform (4.279), care denesc matricea
tridiagonala rezultata. Opt ional se actualizeaza matricea de transfor-
mare Q QU
2
U
3
U
n1
. Opt iunea se exprima prin intermediul unei
variabile logice opt, de tipul sir de caractere, care poate lua valorile
da sau nu. Daca nu se doreste actualizarea, matricea Q ramane
nemodicata.)
318 CAPITOLUL 4. VALORI SI VECTORI PROPRII
1. Pentru k = 1 : n 2
1. % Calculul reectorului elementar
U
k+1
1. [ A(k + 1 : n, k), u, ] = Hr(A(k + 1 : n, k))
2. % Calculul A (U
k+1
A)U
k+1
numai n triunghiul inferior
1. Pentru i = 1 : n k 1
1. l = k +i
2. v
i
=
A(l, k+1: l) u(1: i) +A(l+1: n, l) u(i+1: nk)
2. v
nk
=
A(n, k + 1 : n) u
3. =
u
T
v
2
4. w = v u
5. Pentru j = 1 : n k
1. Pentru i = j : n k
1. A(k +i, k +j) A(k +i, k +j) u
i
w
j
w
i
u
j
3. % Acumularea transformarilor
1. Daca opt =
da
atunci
1. Q(:, k + 1 : n) = Hrd(Q(:, k + 1 : n), u, )
2. % Extragerea vectorilor f si g
1. f
1
= A(1, 1)
2. Pentru i = 1 : n 1
1. g
i
= A(i + 1, i)
2. f
i+1
= A(i + 1, i + 1).
Comentarii. Sintaxa de apel a algoritmului TQ va
[ f, g, Q] = TQ(A, Q, opt).
Utilizarea relat iei de calcul (4.276) reduce efortul de calcul la mai put in de jumatate
n raport cu cazul nesimetric.
Intr-adevar, calculul vectorilor v si w la pasul curent
k necesita N
1
(k) (n k)
2
opi si, respectiv N
2
(k) (n k) opi. Cum de-
terminarea elementelor denitorii ale reectorilor necesita, de asemenea, N
3
(k)
(n k) opi, rezulta ca num arul asimptotic de opi necesari pentru calculul
tridiagonalizarii este
N
op
n2
k=1
N
1
(k)
2
3
n
3
,
fat a de
5
3
n
3
opi necesari pentru reducerea la forma superior Hessenberg n cazul
nesimetric. Acumularea transformarilor, i.e. calculul explicit al matricei de trans-
formare Q din (4.274), implica efectuarea a N
op
2
3
n
3
opi suplimentari
49
. Volu-
49
Daca matricea Q init iala este In, se poate obt ine o reducere a num arului de operat ii n calculul
acumularii transformarilor daca se memoreaz a (economic) elementele denitorii ale reectorilor si
acumularea se face n afara ciclului principal, n ordine invers a, cu exploatarea structurii de zerouri
a matricei Q curente.
4.8. ALGORITMUL QR SIMETRIC 319
mul de memorie este M 3n
2
/2 locat ii, necesar pentru memorarea elementelor
triunghiului inferior al matricei A si a elementelor matricei Q
50
.
Algoritmul TQ este numeric stabil, i.e. matricea tridiagonala calculata ntr-o
aritmetica n virgula mobila este o matrice exact ortogonal asemenea cu o ma-
trice usor perturbata A + E, unde matricea de perturbat ie E satisface condit ia
|E| p(n)
M
|A|, cu p(n) o funct ie cu crestere modesta de dimensiunea n a
problemei. 3
Observat ia 4.10 Spre deosebire de cazul nesimetric n care reducerea la forma
superior Hessenberg se putea face, sucient de performant, si prin transformari
de asemanare neortogonale, aici astfel de transformari altereaza simetria si, prin
urmare, nu sunt recomandate. 3
4.8.2 Faza iterativa a algoritmului QR simetric
Etapa iterativa a algoritmului QR simetric beneciaza de importante simplicari
calculatorii care se datoreaza, n principal, conservarii simetriei matricei init iale la
transformari ortogonale de asemanare si constau n:
conservarea structurii tridiagonale la transformarile implicate de iterat iile
QR; n consecint a toate transformarile aferente sirului QR se pot desfasura n
locat iile de memorie ale vectorului f al elementelor diagonale si ale vectorului g al
elementelor subdiagonale ale matricei tridiagonale curente (v. (4.279));
valorile proprii ale unei matrice simetrice reale ind reale nu sunt necesare
deplasari complexe si, prin urmare, nu este necesara strategia pasilor dubli.
Vom folosi aceste observat ii n vederea elaborarii unui algoritm QR simetric cat
mai performant.
A. Algoritmul QR simetric cu deplasare explicita
Presupunem matricea simetrica tridiagonala T IR
nn
data prin vectorii f si g din
(4.279). Pentru claritatea expunerii vom utiliza si indexarea obisnuita a elementelor
matricei T urmand ca algoritmul sa e scris exclusiv n raport cu elementele vecto-
rilor f si g.
Algoritmul QR simetric cu deplasare explicita construieste un sir de matrice
tridiagonale, ortogonal asemenea
T = T
1
, T
2
, , T
k
, T
k+1
, (4.280)
pe baza relat iei de recurent a
_
T I
n
= QR
T T
= RQ+I
n
, (4.281)
unde T semnica matricea curenta din sirul (4.280), iar indicele superior
mar-
cheaza matricea succesor. Deplasarea se poate alege ca n cazul nesimetric
= t
nn
= f
n
(4.282)
50
Asiguram cititorul ca unele licent e minore, cum este utilizarea explicit a a doi vectori (v si
w) c and sunt suciente locat iile de memorie ale unuia singur, servesc exclusiv clarit at ii prezent arii
algoritmului.
320 CAPITOLUL 4. VALORI SI VECTORI PROPRII
sau, si mai ecient, egala cu valoarea proprie, ntotdeauna reala, cea mai apropiata
de t
nn
, a blocului 2 2 din colt ul din dreapta jos al matricei curente T
T(n 1 : n, n 1 : n) =
_
f
n1
g
n1
g
n1
f
n
_
. (4.283)
Deplasarea din cea de a doua varianta, numita deplasare Wilkinson, are expresia
(vericat i!)
=
1
2
(f
n1
+f
n
sgn(f
n1
f
n
)
_
(f
n1
f
n
)
2
+ 4g
2
n1
) (4.284)
si se calculeaza economic si abil cu relat iile
=
f
n1
f
n
2
, = g
2
n1
, = f
n
+ (sgn)
_
2
+
. (4.285)
Se poate arata [ VI ] ca, pentru oricare din deplasarile (4.282) sau (4.284), n partea
nala a procesului iterativ se obt ine o convergent a cubica a sirului QR simetric
(4.280) catre o structura diagonala. Exista, totusi, unele argumente de natura
euristica n favoarea deplasarii Wilkinson.
Avandu-se n vedere structura tridiagonala a tuturor matricelor sirului QR si-
metric (4.280), pentru factorizarea QR din (4.281) se recomanda utilizarea rotat iilor.
Este usor de constatat ca matricea superior triunghiulara R a acestei factorizari va
avea numai doua supradiagonale nenule. Mai mult, pentru necesitat ile de calcul ale
matricei succesor, conform (4.281), cea de a doua supradiagonala nici nu trebuie
calculata.
In consecint a, pentru memorarea elementelor utile sunt sucient i doi
vectori de dimensiuni n si n 1 care pot vectorul f al elementelor diagonale ale
matricei T si un vector suplimentar pe care l notam cu h. Cu aceste precizari, un
pas simplu QR simetric cu deplasare explicita (fara acumularea transformarilor)
consta n efectuarea urmatoarelor calcule.
Algoritmul 4.25 (IT QRsim Un pas QR simetric cu deplasare
Wilkinson explicita) (Data o matrice simetrica tridiagonala ireductibila
T IR
nn
prin vectorul f IR
n
al elementelor diagonale si vectorul
g IR
n1
al elementelor subdiagonale, algoritmul calculeaza vectorii
denitorii f si g ai matricei succesor din sirul QR simetric. Toate
calculele se efectueaza pe loc, n locat iile de memorie ale elementelor
vectorilor f si g. Algoritmul furnizeaza, de asemenea, vectorii c si s ale
elementelor ce denesc rotat iile utilizate.)
1. % Calculul deplasarii Wilkinson
1. =
f
n1
f
n
2
, = g
2
n1
, = f
n
+ (sgn)
_
2
+
2. % T T I
n
1. Pentru i = 1 : n
1. f
i
f
i
In forma de mai sus, execut ia unui pas QR simetric cu deplasare explicita necesita
un numar N
op
20n opi la care se adauga n 1 extrageri de radical. 3
Exemplul 4.6 Consideram matricea tridiagonala simetrica
T =
_
_
1 1 0
1 2 1
0 1 1
_
_
denita de vectorii f = [ 1 2 1 ]
T
si g = [ 1 1 ]
T
si avand valorile proprii exacte
(T) = 0, 1, 3 . Iterarea bruta (i.e. fara supravegherea si anularea elementelor
neglijabile) a algoritmului IT QRsim conduce la evolut ia elementelor vectorilor
g si f prezentata n tabelele 4.7 si 4.8. Se conrma anularea rapida a ultimului
322 CAPITOLUL 4. VALORI SI VECTORI PROPRII
k g
(k)
1
g
(k)
2
0 1.00000000000000 1.00000000000000
1 0.85065080835204 0.52573111211913
2 0.25379174838439 0.06711070517530
3 0.08564664424607 0.00000629541717
4 0.02859558021545 0.00000000000000
5 0.00953359280112 0.00000000000000
6 0.00317792845516 0.00000000000000
7 0.00105931186244 0
.
.
.
.
.
.
.
.
.
10 0.00003923378367 0
.
.
.
.
.
.
.
.
.
15 0.00000016145590 0
.
.
.
.
.
.
.
.
.
25 0.00000000000273 0
Tabelul 4.7: Date numerice privind evolut ia elementelor vectorului g din exemplul
4.5.
k f
(k)
1
f
(k)
2
f
(k)
3
0 1.00000000000000 2.00000000000000 1.00000000000000
1 2.61803398874990 1.00000000000000 0.38196601125011
2 2.96739091997935 1.02821618974253 0.00447471825954
3 2.99632557546692 1.00367442449350 0.00000000003958
4 2.99959106278125 1.00040893721875 0.00000000000000
5 2.99995455427149 1.00004544572851 0.00000000000000
.
.
.
.
.
.
.
.
.
.
.
.
10 2.99999999923036 1.00000000076964 0.00000000000000
.
.
.
.
.
.
.
.
.
.
.
.
15 2.99999999999999 1.00000000000001 0.00000000000000
16 3.00000000000000 1.00000000000000 0.00000000000000
.
.
.
.
.
.
.
.
.
.
.
.
25 3.00000000000000 1.00000000000000 0.00000000000000
Tabelul 4.8: Date numerice privind evolut ia elementelor vectorului f din exemplul
4.5.
4.8. ALGORITMUL QR SIMETRIC 323
element al vectorului g (convergent a cubica!) si evolut ia ntregii matrice T catre o
structura diagonala. 3
La fel ca si n cazul nesimetric, diminuarea modulului elementelor vectorului g
are loc are loc mai rapid la cele doua capete (cel mai rapid n zona terminala,
vezi tabelul 4.7).
In cadrul unui algoritm global, iterarea schemei de calcul de mai
sus se completeaza cu anularea efectiva a elementelor extradiagonale ale matricei
curente T, i.e. ale vectorului g, atunci cand acestea devin inferioare, n modul, unei
tolerant e precizate. Prin urmare, pasul QR simetric de mai sus se ajusteaza la
dimensiunea curenta a problemei, pe masura ce se pun n evident a valorile proprii
calculate. O modalitate concreta de gestionare a valorilor proprii calculate va
prezentata n cadrul algoritmului QR simetric cu deplasare implicita. Un algoritm
de calcul, bazat pe iterarea pasului QR simetric de mai sus, se termina, evident, n
momentul n care toate elementele vectorului g au fost declarate nule.
B. Un pas QR simetric cu deplasare implicita
Consideram important sa subliniem de la nceput faptul ca, spre deosebire de cazul
real nesimetric, aici utilizarea variantei cu deplasare implicita nu aduce un spor de
ecient a fat a de varianta cu deplasare explicita, astfel ncat preferint a pentru de-
plasarea implicita poate justicata numai prin dorint a asigurarii unei omogenitat i
a tratarii tuturor problemelor de calcul al valorilor proprii ale matricelor reale.
Varianta cu deplasare implicita a algoritmului QR simetric are la baza teorema
4.15 conform careia transformarea ortogonala de asemanare denita de un pas QR
simetric cu deplasare explicita pentru o matrice tridiagonala ireductibila (i.e. cu
toate elementele subdiagonale nenule)
T T
= Q
T
TQ (4.287)
este esent ial determinata, n sensul observat iei 4.6, de prima coloana a matricei
de transformare Q. Similar cazului deplasarii explicite, vom considera matricea
ortogonala de transformare Q sub forma secvent ei de rotat ii plane (4.286).
Intrucat
P
j,j+1
e
1
= e
1
, j = 2 : n 1, prima coloana a matricei Q este prima coloana a
matricei P
12
, i.e.
q
1
= Qe
1
= P
12
e
1
=
_
_
c
1
s
1
0
.
.
.
0
_
_
. (4.288)
La fel ca n cazul nesimetric, un pas QR simetric cu deplasare implicita va consta
din urmatoarele transformari.
1. Se calculeaza prima coloana q
1
a matricei de transformare Q din
pasul QR simetric cu deplasare explicita.
2. Se determina rotat ia P
12
ce satisface (4.288).
3. Se calculeaza matricea T P
T
12
TP
12
n care este alterata structura
tridiagonala n pozit iile (3, 1) si (1, 3) dar se conserva simetria.
324 CAPITOLUL 4. VALORI SI VECTORI PROPRII
4. Se reface structura tridiagonala prin transformari ortogonale de
asemanare utilizand o secvent a de rotat ii plane (o adaptare a algo-
ritmului de tridiagonalizare TQ).
In acest fel, se obt ine o matrice succesor ortogonal asemenea cu matricea init iala,
tridiagonala, simetrica si cu prima coloana a matricei de transformare identica cu
prima coloana a matricei de transformare din cadrul pasului QR simetric cu de-
plasare explicita. Asa cum am ment ionat mai sus, conform teoremei 4.15, daca
matricea T este ireductibila, i.e. vectorul g are toate elementele nenule, atunci ma-
tricea succesor T T
_
t
11
t
21
0
.
.
.
0
_
_
=
1
r
11
_
_
f
1
g
1
0
.
.
.
0
_
_
. (4.289)
Numim, si aici, vectorul
w =
_
f
1
g
1
_
IR
2
(4.290)
vector de deplasare implicita aferent unui pas simplu QR simetric.
2. Din (4.288) si (4.290) rezulta ca elementele denitorii c
1
si s
1
ale rotat iei P
12
pot furnizate de funct ia Gr (vezi tabelul 4.3) aplicata vectorului w.
3. Se vede imediat ca (P
T
12
TP
12
)(3, 1) = (P
T
12
TP
12
)(1, 3) = s
1
g
2
,= 0, i.e.
aplicarea transformarii ortogonale denite de P
12
altereaza structura tridiagonala
a matricei T n pozit iile ment ionate.
4. Pentru refacerea structurii tridiagonale - un invariant al sirului QR simetric
- se aplica algoritmul TQ adaptat corespunzator pentru asigurarea unei ecient e
maxime. Concret, se utilizeaza o secvent a de rotat ii care elimina elementele nenule
din afara structurii tridiagonale prin deplasarea lor de-a lungul unor trasee paralele
cu diagonala principala conform urmatoarei scheme de calcul.
1. Pentru k = 2 : n 1
1. Se calculeaza rotat ia P
k,k+1
astfel ncat (P
T
k,k+1
T)(k + 1, k 1) = 0.
2. T P
T
k,k+1
T % Se anuleaza elementul (k+1, k1) si se altereaza
(pentru k < n1) zeroul din pozit ia (k, k+2).
3. T TP
k,k+1
% Se anuleaza automat (datorita simetriei) elemen-
tul (k 1, k + 1) si se altereaza (pentru k < n1)
zeroul din pozit ia (k+2, k).
4.8. ALGORITMUL QR SIMETRIC 325
Pentru exemplicare prezent am evolut ia structurala a matricei T n cazul
n=5. La fel ca n diagramele structurale precedente, si aici semnul + marcheaza
elementul nul alterat iar elementul anulat la pasul curent.
Incadrarile indica
liniile sau coloanele afectate la pasul curent.
T P
T
12
T =
_
_
+ 0 0
0 0
0 0
0 0
0 0 0
,
_
_
, T TP
12
=
_
_
+
0 0
0 0
0 0
0 0
0
0
_
_
T P
T
23
T =
_
_
0 0
+ 0
0
0 0
0 0 0
_
_
, T TP
23
=
_
0
0
0
+
0 0
0 0
0
0
_
_
T P
T
34
T =
_
_
0 0 0
0
0 +
0
0 0 0
_
_
, T TP
34
=
_
_
0
0 0
0 0
0 0
+
0
0
_
T P
T
45
T =
_
_
0 0 0
0 0
0
0 0
0 0
_
_
, T TP
45
=
_
_
0
0
0 0
0 0 0
0 0
0 0
_
_
.
Calculul elementelor denitorii c
k
si s
k
ale rotat iei P
k,k+1
se face cu procedura
Gr (v. tabelul 4.3), iar pentru calculul economic al produselor P
T
k,k+1
T si TP
k,k+1
se renunt a la utilizarea procedurilor Grs si Grd pentru a exploata ecient structura
tridiagonala si simetria matricei T.
Cu aceste precizari putem prezenta algoritmul de implementare al unui pas QR
simetric cu deplasare Wilkinson implicita.
Algoritmul 4.26 (IT QRsim Un pas QR simetric cu deplasare
Wilkinson implicita) (Data o matrice simetrica tridiagonala ireductibila
T IR
nn
prin vectorul f IR
n
al elementelor diagonale si vectorul
g IR
n1
al elementelor subdiagonale, algoritmul calculeaza vectorii
denitorii f si g ai matricei succesor din sirul QR simetric. Toate
calculele se efectueaza pe loc, n locat iile de memorie ale elementelor
vectorilor f si g. Pentru elementul ratacitor, care afecteaza temporar
structura tridiagonala se utilizeaza o variabila scalara locala . Algorit-
mul furnizeaza, de asemenea, vectorii c si s ale caror elemente denesc
rotat iile utilizate.)
326 CAPITOLUL 4. VALORI SI VECTORI PROPRII
1. % Calculul deplasarii Wilkinson
1. =
f
n1
f
n
2
, = g
2
n1
, = f
n
+ (sgn)
_
2
+
2. % Calculul si aplicarea rotat iilor P
12
si P
k,k+1
, k = 2 : n 1.
1. Pentru k = 1 : n 1
1. Daca k = 1 atunci
1. w = [ f
1
g
1
]
T
2. [ w, c
1
, s
1
] = Gr(w)
altfel
1. [
_
g
k1
_
, c
k
, s
k
] = Gr(
_
g
k1
_
)
2.
1
= c
2
k
,
2
= c
k
s
k
,
3
= s
2
k
3. = 2
2
g
k
4.
1
=
1
f
k
+
3
f
2
,
2
=
2
(f
k
f
k+1
) + (
1
3
)g
k
5. f
k+1
=
1
f
k+1
+
3
f
k
+
6. f
k
=
1
, g
k
=
2
7. Daca k < n 1 atunci
1. = s
k
g
k+1
% elementul ratacitor
2. g
k+1
= c
k
g
k+1
Comentarii. Avand n vedere echivalent a performant elor algoritmilor, cu de-
plasare explicita si implicita, de implementare a unui pas QR simetric, utilizam
aceeasi sintaxa de apel, i.e.
[ f, g, c, s ] = IT QRsim(f, g).
Complexitatea unei iterat ii QR simetrice cu deplasare implicita este O(n), pentru
execut ia algoritmului 4.26 ind necesari N
op
20n opi, la care se adauga cele
n 1 extrageri de radical. Si aici, algoritmul ofera, prin vectorii c si s, informat ia
necesara pentru o eventuala actualizare a matricei de transformare. 3
Exemplul 4.7 Invitam cititorul sa reia datele de intrare din exemplul precedent si
sa itereze pasul QR simetric cu deplasare implicita de mai sus. Va avea satisfact ia
sa constate ca elementele calculate ale vectorului g coincid n primele 15 cifre sem-
nicative, iar cele ale vectorului f n primele 14 cifre semnicative cu cele produse
de iterarea pasului QR cu deplasare explicita. 3
C. Algoritmul QR simetric pentru matrice reale simetrice
Algoritmul QR simetric se obt ine prin iterarea algoritmului 4.26, anularea efectiva
a elementelor nediagonale devenite neglijabile si exploatarea structurala a acestor
anulari n vederea obt inerii unei ecient e maxime. Pentru deciziile de anulare efec-
tiva a elementelor extradiagonale si monitorizarea evolut iei structurale a matricelor
4.8. ALGORITMUL QR SIMETRIC 327
tridiagonale din sirul QR simetric vom urma ideile folosite la algoritmul QR nesi-
metric. Astfel, condit ia de anulare a elementelor extradiagonale, i.e. a elementelor
vectorului g, este
[g
k
[ tol([f
k
[ +[f
k+1
[), (4.291)
unde scalarul real tol deneste nivelul de tolerant a si are, uzual, un ordin de marime
comparabil cu eroarea de reprezentare din formatul virgula mobila al masinii t inta.
De asemenea, pentru gestionarea evolut iei structurale, la ecare iterat ie, dupa anu-
larea elementelor vectorului g care satisfac condit ia (4.291), se va determina cel mai
mic ntreg p si cel mai mare ntreg q astfel ncat matricea tridiagonala curenta din
sirul QR simetric sa aiba structura
T =
_
_
T
11
0 0
0 T
22
0
0 0 T
33
_
_
, (4.292)
cu T
11
IR
pp
, T
22
IR
(npq)(npq)
tridiagonala ireductibila si T
33
IR
qq
diagonala, i.e. g(p+1 : nq) are toate elementele nenule, iar g(nq+1 : n1) = 0.
22
= Q
T
22
T
22
Q
22
, (4.293)
echivalenta cu aplicarea transformarii (4.287) cu
Q = diag(I
p
, Q
22
, I
q
). (4.294)
Algoritmul QRsimetric se termin an momentul n care se anuleaza toate elementele
vectorului g, i.e. q devine n1. Cu precizarile de mai sus, putem prezenta algoritmul
QR simetric.
Algoritmul 4.27 (QRsim Algoritmul QR simetric cu deplasari
Wilkinson implicite) (Date o matrice simetrica A IR
nn
, o matrice
ortogonala Q IR
nn
si un nivel de tolerant a tol pentru anularea ele-
mentelor extradiagonale, algoritmul calculeaza vectorul f IR
n
al valo-
rilor proprii ale matricei A si, opt ional, actualizeaza matricea de trans-
formare ortogonala Q. Opt iunea se exprima prin intermediul variabilei
logice opt care poate lua valorile da sau nu. Daca nu se doreste
acumularea transformarilor, matricea Q se returneaza nemodicata.)
1. % Reducerea la forma tridiagonala
1. [ f, g, Q] =TQ(A, Q)
2. % Faza iterativa
1. p = 0, q = 0
2. C^at timp q < n
1. % Anularea elementelor neglijabile
Pentru i = p + 1 : n q 1
1. Daca [g
i
[ tol([f
i
[ +[f
i+1
[ atunci g
i
= 0
328 CAPITOLUL 4. VALORI SI VECTORI PROPRII
2. % Determinarea lui q
C^at timp g
nq1
= 0
1. q q + 1
3. % Terminarea algoritmului
Daca q = n 1 atunci return
4. % Determinarea lui p
1. p = n q 1
2. C^at timp g
p
,= 0
1. p p 1
5. [f(p + 1 : n q), g(p + 1 : n q 1), c, s] =
=IT QRsim(f(p + 1 : n q), g(p + 1 : n q 1))
6. Daca opt=da atunci
1. Pentru i = 1 : n p q
1. Q(:, p+i : p+i +1) = Grd(Q(:, p+i : p+i +1), c
i
, s
i
)
Comentarii. Sintaxa de apel a algoritmului QR simetric este
[ f, Q] = QRsim(A, Q, tol, opt).
Algoritmul QR simetric reprezinta cel mai bun instrument numeric de calcul al
ntregului spectru al unei matrice simetrice reale. Daca nu se acumuleaza trans-
formarile, algoritmul este foarte rapid, numarul de opi necesar pentru calculul
tuturor valorilor proprii ind estimat, n medie, la N
op
= 4n
3
/3 fara acumula-
rea transformarilor si la N
op
= 9n
3
daca transformarile se acumuleaza. Pen-
tru o tolerant a de ordinul
M
valorile proprii calculate sunt valori proprii ex-
acte pentru o matrice simetrica foarte apropiata, algoritmul avand o buna sta-
bilitate numerica. Mai mult, spre deosebire de cazul nesimetric, aici se poate
arma ca eroarea absoluta pentru ecare valoare proprie calculata este mica, i.e.
[
i
f
i
[ tol|A|
2
. Daca se doreste calculul vectorilor proprii, atunci se utilizeaza
apelul [ f, Q] = QRsim(A, I
n
, tol,
da
).
In aceasta situat ie x
j
= Q( : , j) este un
vector propriu calculat asociat valorii proprii
j
f
j
. Acuratet ea vectorului propriu
calculat este dependenta de separarea valorii proprii asociate de restul spectrului.
Algoritmul asigura o foarte buna ortogonalitate a vectorilor proprii calculat i. Pen-
tru detalii suplimentare asupra stabilitat ii numerice a se vedea 4.11. 3
4.8.3 Algoritmul QR pentru matrice hermitice
Fie C = A + iB cu A, B IR
nn
o matrice hermitica, i.e. C
H
= C, ceea ce
implica simetria matricei A si antisimetria matricei B. Deci A
T
= A si B
T
= B.
Asa cum s-a aratat n sect iunea 4.1 matricele hermitice au spectrul real si sunt
unitar diagonalizabile. Pentru calculul valorilor proprii ale unei matrice hermitice
cu algoritmul QR, n practica numerica se ntalnesc doua abordari.
I. Fie (C) si x = u + iv, cu u, v IR
n
, un vector propriu asociat. Atunci
Cx = x
_
Au Bv = u,
Bu +Av = v,
(4.295)
4.9. METODE ALTERNATIVE 329
egalitat ile din dreapta scriindu-se compact n forma
_
A B
B A
_ _
u
v
_
=
_
u
v
_
sau
_
A B
B A
_ _
v
u
_
=
_
v
u
_
. (4.296)
Vectorii
_
u
v
_
si
_
v
u
_
, ind ortogonali, sunt liniar independent i.
In consecint a,
daca (C) =
1
,
2
, . . . ,
n
, atunci matricea simetrica reala F
def
=
_
A B
B A
_
are spectrul (F) =
1
,
1
,
2
,
2
, . . . ,
n
,
n
, iar daca w IR
2n
este un vector
propriu al matricei F asociat valorii proprii
k
, atunci x = w(1 : n) +iw(n+1 : 2n)
sau y = w(n + 1 : 2n) + iw(1 : n) este un vector propriu
51
al matricei C asociat
aceleiasi valori proprii.
Din cele de mai sus rezulta esent a calculatorie a primei abordari care consta n
aplicarea algoritmului QR simetric matricei F. Utilizarea exclusiva a aritmeticii
reale face aceasta solut ie deosebit de atractiva. Scrierea algoritmului este imediata
si este lasata n sarcina cititorului.
II. Cea de a doua modalitate de calcul al valorilor proprii ale unei matrice her-
mitice utilizata n practica numerica (de exemplu, n LAPACK [ XV]) utilizeaza
o aritmetica n numere complexe numai n faza directa a algoritmului QR, i.e.
n faza de reducere la forma tridiagonala. Este posibil ca matricea tridiagonala
rezultata sa e reala astfel ncat faza iterativa apeleaza exclusiv la o aritmetica
reala, procedurile utilizate n faza iterativa ind cele descrise n aceasta sect iune.
Posibilitatea obt inerii, prin transformari unitare de asemanare a unei matrice tridi-
agonale reale este condit ionata de utilizarea unor reectori complecsi nehermitici
(v. cap. 3).
Intr-adevar, dat un vector complex x I C
n
se poate calcula un astfel
de reector
U
1
I C
nn
care sa asigure
U
H
1
x = e
1
cu un numar real. Notand
cu U
k
def
=
_
I
k1
0
0
U
1
_
, unde
U
1
I C
(nk+1)(nk+1)
este un reector de tipul
ment ionat, daca U
2
este astfel calculat ncat (U
H
2
C)(3 : n, 1) = 0, atunci ma-
tricea C C
1
= U
H
2
CU
2
este hermitica si tridiagonala n prima linie si prima
coloana. Cum o matrice hermitic a are elementele diagonale reale, rezulta ca blocul
C
1
(1 : 2, 1 : 2) este real. Continuand acest proces, n nal matricea
C C
n2
= U
H
n1
. . . U
H
3
U
H
2
CU
2
U
3
. . . U
n1
(4.297)
va tridiagonala, simetrica si reala. Scrierea efectiva a algoritmului face obiectul
exercit iului 4.58.
4.9 Alte metode de calcul al valorilor proprii
pentru matrice simetrice
Algoritmul QR simetric ramane un instrument fundamental pentru calculul ntre-
gului spectru al unei matrice simetrice. Totusi, spre deosebire de cazul general,
51
De observat ca y = ix, i.e. vectorii x si y sunt coliniari n I C
n
.
330 CAPITOLUL 4. VALORI SI VECTORI PROPRII
nesimetric, n care algoritmul QR s-a impus denitiv ca ind fara rival, n cazul
simetric exista solut ii alternative, cu performant e comparabile cu cele ale algorit-
mului QR. Utilizarea tehnicilor alternative este recomandata mai ales n situat ii
particulare. Ment ionam, n acest sens, problemele de calcul al unui grup restrans
de valori proprii sau implementari pe masini cu arhitecturi specice, e.g. calcula-
toarele paralele cu memorie distribuita.
Vom prezenta mai ntai unele tehnici de calcul al unei valori proprii sau al
unui grup redus de valori proprii, cum sunt iterarea catului Rayleigh sau metoda
bisect iei, iar apoi metodele de tip Jacobi, consacrate calculului ntregului spectru.
Pentru metodele ale caror iterat ii conserva structura tridiagonala simetrica, vom
presupune parcursa etapa directa, de reducere la forma tridiagonala cu ajutorul
algoritmului TQ.
In consecint a, n aceste situat ii, matricea tridiagonala simetrica
T IR
nn
se va considera data prin vectorul f IR
n
al elementelor diagonale si
vectorul g IR
n1
al elementelor sub- si supradiagonale.
4.9.1 Metoda catului Rayleigh
Asa cum s-a vazut la metoda puterii inverse, de calcul iterativ al unui vector propriu
(vezi sect iunea 4.3), ind cunoscut a aproximat ia x ,= 0 a vectorului propriu x asociat
valorii proprii a unei matrice T IR
nn
, catul Rayleigh al vectorului x n raport
cu matricea T, denit prin
= r( x) =
x
T
T x
x
T
x
, (4.298)
constituie cea mai buna aproximat ie, n sens CMMP, a valorii proprii . Aplicand
acum un pas al metodei puterii inverse cu deplasarea , obt inem o aproximat ie si mai
buna pentru vectorul propriu asociat lui si, pe baza catului Rayleigh din (4.298),
o aproximat ie superioara pentru nsusi . Altfel spus, adaptand algoritmul 4.2, de
implementare a metodei puterii inverse cu deplasare Rayleigh, la cazul matricelor
simetrice se obt ine un mijloc performant de calcul al unei valori proprii (n general,
fara posibilitat i de select ie a acesteia) si al unui vector propriu asociat. Invitam
cititorul sa faca aceasta adaptare prin exploatarea simetriei n rezolvarea sistemului
liniar ce deneste o iterat ie a metodei puterii inverse. Precizam ca o prealabila
reducere la forma tridiagonala nu se justica decat daca se urmareste calculul,
pe aceasta cale, al mai multor valori si vectori proprii.
In [ VI ] se arma (si se
demonstreaza ntr-un caz particular) convergent a globala si asimptotic cubica (i.e.
extrem de rapida) a algoritmului si se evident iaza conexiunea cu algoritmul QR
simetric care, ntr-o forma implicita, uzeaza de aceasta tehnica.
4.9.2 Metoda bisect iei
Metoda bisect iei (sau metoda Givens [ IV]) este utilizata pentru determinarea unei
valori proprii sau a unui grup relativ redus de valori proprii
52
.
Fie matricea tridiagonala simetrica T IR
nn
denita prin vectorul f IR
n
al elementelor diagonale si vectorul g IR
n1
al elementelor extradiagonale. Pre-
52
Se apreciaza ca metoda poate considerat a ecient a pentru determinarea a cel mult 40% din
valorile proprii ale unei matrice.
4.9. METODE ALTERNATIVE 331
supunem, de asemenea, ca toate elementele vectorului g sunt nenule
53
.
In esent a,
pentru calculul unei valori proprii, metoda bisect iei consta n localizarea acesteia
ntr-un interval [ , ] si reducerea acestui interval, prin njumatat ire succesiva, cu
pastrarea valorii proprii n interval.
In acest fel, dupa t njumatat iri lungimea inter-
valului devine =
2
t
si, n consecint a, ntr-o aritmetica exacta, se poate obt ine
orice precizie dorita.
Pentru determinarea intervalului init ial [ , ] putem utiliza teorema discurilor
lui Gershgorin, de localizare a ntregului spectru, conform careia (T) este situat
n reuniunea intervalelor
J =
n
_
i=1
_
IR [ f
i
[ [g
i1
[ +[g
i
[
_
, (4.299)
unde, pentru simplicarea scrierii, am introdus numerele g
0
= 0 si g
n
= 0. Evident,
avem
J [ , ], unde
_
_
= min
i 1 : n
(f
i
[g
i1
[ [g
i
[),
= max
i 1 : n
(f
i
+[g
i1
[ +[g
i
[).
(4.300)
_
T
[k1]
I
k1
0
.
.
.
g
k1
0 g
k1
f
k
_
_
=
53
Altfel, problema se sparge n dou a sau mai multe probleme de dimensiune mai mic a.
332 CAPITOLUL 4. VALORI SI VECTORI PROPRII
= det
_
_
T
[k2]
I
k2
0 0
.
.
.
.
.
.
g
k2
0
0 g
k2
0 0
f
k1
g
k1
g
k1
f
k
_
_
, (4.302)
relat ie din care, prin dezvoltare dupa elementele ultimei linii sau ultimei coloane,
obt inem
p
k
() = (f
k
)p
k1
() g
2
k1
p
k2
(). (4.303)
Relat ia (4.303), mpreuna cu init ializarile p
0
() = 1, p
1
() = f
1
din (4.301),
permit calculul recurent al polinoamelor p
k
(), k=2: n, si, pentru o valoare xata
a lui , valorile acestor polinoame n punctul . Polinoamele p
k
(), k=0: n, denite
mai sus, formeaza asa numitul sir Sturm asociat matricei tridiagonale simetrice
ireductibile T.
Notam cu
[k]
i
, i = 1 : k, valorile proprii ale matricei T
[k]
(care sunt, simultan,
zerourile polinoamelor p
k
()) pe care le vom presupune ordonate crescator, i.e.
54
[k]
1
<
[k]
2
< . . . <
[k]
k
. (4.304)
Metoda bisect iei are la baza urmatoarele rezultate clasice.
Teorema 4.20 Daca vectorul g are toate elementele nenule, i.e. matricea tridi-
agonala, simetrica T, denita de vectorii f si g, este ireductibila, atunci valorile
proprii ale matricei T
[k1]
separa strict valorile proprii ale matricei T
[k]
, i.e.
[k]
1
<
[k1]
1
<
[k]
2
<
[k1]
2
< . . . <
[k]
k1
<
[k1]
k1
<
[k]
k
(4.305)
pentru tot i k 2 : n.
Demonstrat ie. Conform teoremei 4.5 inegalitat ile (4.305) au loc ntr-o forma
nestricta. Vom arata ca, n condit iile teoremei, egalitat ile nu pot avea loc. Pre-
supunem, prin absurd, ca exista i astfel ncat
[k]
i
=
[k1]
i
def
= sau
[k1]
i
=
=
[k]
i+1
def
= .
In ambele cazuri polinoamele p
k
si p
k1
au pe radacina comuna.
Cum tot i g
j
sunt nenuli, din relat iile de recurent a (4.303) rezulta p
k
() = p
k1
() =
= . . . = p
1
() = p
0
() = 0 ceea ce este n contradict ie cu faptul ca p
0
() = 1. 3
Teorema 4.21 Numarul valorilor proprii ale matricei tridiagonale, simetrice, ire-
ductibile T IR
nn
, mai mici decat un numar xat IR este egal cu numarul
() al schimbarilor de semn din mult imea numerica ordonata
55
p() = p
0
(), p
1
(), . . . , p
n
() , (4.306)
unde p
k
(), k = 0 : n, este sirul Sturm asociat matricei T.
54
O matrice tridiagonala simetric a ireductibila nu are valori proprii multiple (exercit iul 4.63).
Evident, daca T este ireductibila, atunci toate submatricele T
[k]
sunt ireductibile.
55
In cazurile n care unele din elementele mult imii sunt nule (fapt put in probabil n calculele
efectuate ntr-o aritmetica aproximativ a), convenim c a o pereche ordonat a (, ) se consider a
schimbare de semn daca = 0, = 0 si nu se consider a schimbare de semn dac a = 0, = 0.
Intr-un astfel de caz () este numarul de valori proprii mai mici sau egale cu . Dou a zerouri
consecutive n secvent a numerica p() nu sunt posibile.
4.9. METODE ALTERNATIVE 333
Demonstrat ie. Vom considera numai cazul generic n care tot i p
k
() sunt nenuli,
lasand n sarcina cititorului sa analizeze cazurile n care unele valori p
k
() sunt
nule. Pentru demonstrat ie vom utiliza induct ia dupa n. Fie
n
() numarul valorilor
proprii mai mici decat si
n
() numarul schimbarilor de semn din sirul (4.306).
Se verica imediat ca
1
() =
1
(). Presupunem ca
k1
() =
k1
()
def
= l.
In
ipoteza ordonarii crescatoare a valorilor proprii ale submatricelor T
[k]
rezulta ca
este situat n intervalul deschis (
[k1]
l
,
[k1]
l+1
). Acum, datorita separarii stricte a
valorilor proprii ale submatricei T
[k]
de catre valorile proprii ale lui T
[k1]
(teorema
4.20), sunt posibile urmatoarele doua situat ii
a) (
[k]
l
,
[k]
l+1
) sau b) (
[k]
l+1
,
[k]
l+2
). (4.307)
In cazul a) avem
k
() = l, iar n cazul b), evident,
k
() = l + 1. Ramane sa
aratam ca n cazul a) perechea (p
k1
(), p
k
()) nu este schimbare de semn, iar n
cazul b) este schimbare de semn. Conform (4.301) putem scrie
p
k1
() =
k1
i=1
(
[k1]
i
), p
k
() =
k
i=1
(
[k]
i
). (4.308)
Avandn vedere situarea lui n raport cu valorile proprii ale celor doua submatrice,
este evident faptul ca sgn(
[k1]
i
) = sgn(
[k]
i
) pentru i = 1 : l precum si
faptul ca sgn(
[k1]
i
) = sgn(
[k]
i+1
) pentru i = l + 1 : k 1. Rezulta
sgn(p
k
()) = sgn(p
k1
()) sgn(
l+1
), (4.309)
de unde obt inem, evident, situat ia necesara a semnelor n cazurile a) si b). Induct ia
este completa. 3
Exemplul 4.8 Consideram matricea tridiagonala T, de ordinul 3, din exemplele
numerice 4.6 si 4.7, denita de vectorii f = [ 1 2 1 ]
T
si f = [ 1 1 ]
T
. Spectrul
matricei T este (T) = 0, 1, 3 , iar sirul Sturm asociat
p
0
() = 1, p
1
() = + 1, p
2
() =
2
3 + 1, p
3
() =
3
+ 4
2
3.
Valorile proprii ale submatricelor lider principale sunt (T
[1]
) = 1 si (T
[2]
) =
=
_
3
5
2
,
3 +
5
2
_
, vericandu-se imediat sirurile de inegalitat i din (4.305).
Avem, de asemenea,
p(1) = 1, 0, 1, 0 , p(2) = 1, 1, 2, 1 ,
i.e. ecare din mult imile p(1) si p(2) are cate doua schimbari de semn care corespund
cu numerele de valori proprii ale matricei T mai mici sau egale cu 1, respectiv mai
mici decat 2. 3
Utilizarea teoremei 4.21 ridica probleme dicile n practica [ X] datorita frecven-
telor depasiri inferioare si superioare n format virgula mobila de catre valorile p
k
()
pentru k apropiat i de n, chiar pentru un ordin n modest. Acest fenomen apare mai
334 CAPITOLUL 4. VALORI SI VECTORI PROPRII
ales cand matricea are valori proprii apropiate si nu poate evitat printr-o scalare
prealabila a matricei T init iale.
Pentru depasirea acestor dicultat i, n [ X] se recomanda utilizarea mult imii
numerice
q() = q
1
(), q
1
(), . . . , q
n
() , unde q
i
() =
p
i
()
p
i1
()
, i = 1 : n, (4.310)
ale carei elemente pot calculate cu relat ia recurenta
q
i
() = f
k
g
2
i1
q
i1
()
, i = 2 : n, q
1
() = f
1
. (4.311)
Pentru situat iile n care q
k1
= 0 (sau, n general, cand apar depasiri inferioare) se
recomanda calculul lui q
k
() cu formula
q
i
() = f
i
[g
i1
[
M
, (4.312)
unde
M
este epsilon masina al calculatorului utilizat.
Evident, numarul de schimbari de semn al mult imii p() din (4.306) si, simultan,
numarul () al valorilor proprii ale matricei T mai mici decat , este egal cu
numarul de elemente negative al mult imii q(). Mai mult, numarul
[,]
al valorilor
proprii ale matricei T situate n intervalul [ , ], este dat de relat ia
[,]
= () (). (4.313)
Calculul lui () pentru un numar dat se face cu urmatoarea procedura.
() 1. = 0
2. q = f
1
M
2. Daca q < 0 atunci + 1
1
<
2
< . . . <
k
< . . . <
n
, (4.314)
unde egalitat ile nu sunt posibile ntrucat T este ireductibila (vezi exercit iul 4.63).
Metoda bisect iei pentru calculul valorii proprii
k
poate rezumata prin urmatoarea
schema de calcul.
4.9. METODE ALTERNATIVE 335
BISECT k 1. [ , ] = Int(f, g)
2. C^at timp > tol
1. =
+
2
2. = (f, g, )
3. Daca < k atunci
altfel
3.
k
=
Este usor de vericat faptul ca aceasta procedura evalueaza corect, n limitele xate
de tolerant a tol, valoarea proprie
k
din (4.314).
Pentru localizarea si calculul unui grup contiguu de valori proprii ale matricei
T din secvent a (4.314), e acesta
k1
,
k1+1
, . . . ,
k2
, k
2
k
1
, se aplica, n esent a,
de k
2
k
1
+ 1 ori procedura de mai sus, cu unele amendamente care conduc la
obt inerea unui spor de ecient a. Aceste amendamente urmaresc exploatarea inten-
siva a informat iei obt inute n procesul iterativ de localizare a valorii proprii curente
pentru reducerea intervalelor de separare a valorilor proprii care se calculeaza ulte-
rior. Concret, vom realiza o actualizare, la ecare iterat ie, a extremitat ilor inferioare
ale intervalelor de localizare a valorilor proprii
i
, i = k
1
: k
2
. Pentru aceasta ob-
servam ca valoarea calculata la instruct iunea 2.2 a procedurii de mai sus, permite
aprecierea ca, la iterat ia curenta de evaluare a valorii proprii
k
, un numar de k
valori proprii se gasesc n intervalul [ ,
k
]. Prin urmare, daca < k
1
atunci n
intervalul [ ,
k
] se gasesc valorile proprii
i
, i = k
1
: k 1, iar daca k
1
atunci
n acest interval se aa valorile proprii
i
, i = +1 : k 1. Utilizarea informat iilor
de mai sus presupune:
calculul valorilor proprii n ordine inversa, i.e. n ordinea k = k
2
: 1 : k
1
;
introducerea unui vector IR
k2k1+1
, al extremitat ilor stangi ale inter-
valelor de localizare, ale carui elemente vor actualizate, la ecare iterat ie, pe baza
observat iilor de mai sus.
Utilizand, pentru elementele vectorului , o indexare conforma cu cea a valorilor
proprii (i.e.
k
, k = k
1
: k
2
, este extremitatea stanga a intervalului de localizare a
valorii proprii
k
), la o iterat ie curenta de calcul al lui
k
, actualizarea consta n
atribuirile
i
= pentru i =
_
k
1
: k 1, daca < k
1
+ 1 : k 1, daca k
1
.
(4.315)
Prezentam direct algoritmul care implementeaza ideile de mai sus.
Algoritmul 4.28 (BISECT Calculul unui grup de valori proprii
prin metoda bisect iei) (Dat i vectorii f IR
n
si g IR
n1
care de-
nesc matricea tridiagonala, simetrica, ireductibila T IR
nn
precum
si ntregii k
1
< k
2
n si tolerant a tol, algoritmul calculeaza valorile
proprii
k
, k k
1
: k
2
.)
1. [ , ] = Int(f, g)
2. % Init ializarea vectorului extremitat ilor stangi ale intervalelor de
separare si a extremitat ii din dreapta pentru
k2
.
336 CAPITOLUL 4. VALORI SI VECTORI PROPRII
1. Pentru i = k
1
: k
2
1.
i
2.
k2
3. % Calculul iterativ al grupului impus de valori proprii
1. Pentru k = k
2
: 1 : k
1
% Calculul valorii proprii curente
k
si actualizarea intervalelor
de localizare pentru valorile proprii
j
, j = k 1 : 1 : k
1
1.
k
2. C^at timp > tol
1. =
+
2
2. = (f, g, )
3. Daca < k atunci
1.
2. Daca < k
1
si k > k
1
atunci
1. Pentru i = k
1
: k 1
1.
i
=
altfel
1. Pentru i = + 1 : k 1
1.
i
=
altfel
3.
k
=
4.
Comentarii. O sintaxa de utilizare naturala a algoritmului este
= BISECT(f, g, k
1
, k
2
, tol),
unde este vectorul valorilor proprii calculate. Desi este dicil de stabilit o com-
plexitate corecta a algoritmului datorita, n primul rand, caracterului sau iterativ,
practica a aratat ca algoritmul BISECT, n varianta prezentata, este sensibil mai
rapid decat aplicarea repetata a aceleiasi metode pentru ecare valoare proprie in-
dividuala, mai ales atunci cand exista valori proprii multiple sau apropiate.
In [ X]
se arma ca algoritmul poate utilizat si pentru calculul valorilor proprii ale unei
matrice tridiagonale nesimetrice T daca elementele nediagonale satisfac condit ia
t
i,i+1
t
i+1,i
> 0.
In acest scop se utilizeaza datele de intrare f
i
= t
ii
, i = 1 : n, si
g
i
=
t
i,i+1
t
i+1,i
, i = 1 : n 1.
Acuratet ea rezultatelor este considerata a foarte buna, calculul ntr-un format
virgula mobila cu baza de numerat ie si un numar t de cifre al mantisei, conducand
la un nivel al erorilor absolute de ordinul
t
max([
min
[, [
max
[), nivel care nu poate
redus prin cresterea numarului de iterat ii [ X]. 3
4.9.3 Metode Jacobi
Metodele tip Jacobi, de calcul al valorilor proprii ale unei matrice simetrice, sunt
inferioare din punctul de vedere al ecient ei, apreciate prin numarul necesar de
4.9. METODE ALTERNATIVE 337
operat ii n format virgula mobila, algoritmului QR simetric. Renvierea interesului
pentru metodele Jacobi se datoreaza modicarii contextului arhitectural al echipa-
mentelor de calcul de nalta performant a actuale, mai precis dezvoltarii calcula-
toarelor paralele. Ecient a unui algoritm paralel se evalueaza pe principii diferite,
avandu-se n vedere efectuarea calculelor simultan de mai multe procesoare.
In
acest context, metodele Jacobi devin competitive datorita faptului ca au o structura
granulara, bogata n act iuni de calcul practic independente, care pot executate,
n acelasi timp, de procesoare diferite. Desi prezentarea unor algoritmi paraleli nu
face obiectul acestei lucrari, am considerat oportun sa introducem metodele Jacobi,
n variantele lor secvent iale, ca punct de plecare, de altfel uzual, pentru dezvoltarea
variantelor paralele.
Fie A IR
nn
o matrice simetrica, D
A
= diag( a
11
, a
22
, . . . , a
nn
) si B = AD
A
matricea elementelor sale extradiagonale. Precizam ca transformarile din cadrul
metodelor Jacobi nu conserva structura tridiagonala astfel ca etapa de reducere la
aceasta structura nu este necesara.
def
= A
k+1
, B
def
= B
k+1
= A
k+1
diag(A
k+1
), J
def
= J
k
si
A B
def
= B
k+1
.
_
1
.
.
.
c s
.
.
.
s c
.
.
.
1
_
_
p q
p
q
, p < q, c = cos , s = sin ,
(4.317)
toate elementele extradiagonale nemarcate ale matricei J ind nule. Pentru para-
metrii p si q xat i, unghiul de rotat ie optimal este cel care minimizeaza norma
338 CAPITOLUL 4. VALORI SI VECTORI PROPRII
Frobenius a matricei B. Se poate arata (v. exercit iul 4.64) ca valoarea optimala
a lui este situata n intervalul [
4
,
4
) si asigura anularea elementului a
qp
si,
simultan, datorita simetriei, a elementului a
pq
.
In consecint a, parametrii c si s pot
determinat i din aceasta condit ie, respectiv, din condit ia ca matricea
D =
_
d
11
d
12
d
21
d
22
_
def
=
_
c s
s c
_
T
_
a
pp
a
pq
a
qp
a
qq
_ _
c s
s c
_
(4.318)
sa e diagonala. Prin calcul direct obt inem
_
_
_
d
11
= a
pp
c
2
2a
qp
cs +a
qq
s
2
d
12
= (a
pp
a
qq
)cs +a
pq
(c
2
s
2
) = d
21
d
22
= a
pp
s
2
+ 2a
qp
cs +a
qq
c
2
.
(4.319)
Daca a
pq
,= 0 (altfel J = I
n
), atunci impunand d
12
= d
21
= 0, din (4.319) rezulta
c
2
s
2
cs
=
a
qq
a
pp
a
qp
. (4.320)
Introducand, acum, notat iile
t =
s
c
= tg, =
a
qq
a
pp
2a
qp
, (4.321)
relat ia (4.320) se scrie sub forma unei ecuat ii de gradul 2 n t
t
2
+ 2t 1 = 0. (4.322)
Radacina t a acestei ecuat ii care corespunde valorilor optimale ale parametrilor c si
s trebuie sa asigure satisfacerea condit iei [[ <
4
, i.e. [t[ < 1. Prin urmare, valorile
optimale ale lui t, c si s se calculeaza cu relat iile
t =
sgn
[[ +
1 +
2
, c =
1
1 +t
2
, s = ct. (4.323)
Dupa determinarea valorilor optimale ale parametrilor c si s, calculul produsului
A J
T
AJ se poate face economic t inand seama de simetria rezultatului. Evident,
n acest produs vor afectate numai liniile si coloanele p si q. La fel ca la algoritmul
QR simetric, vom presupune ca matricea A este memorata numai prin triunghiul
ei inferior.
In acest fel elementele afectate sunt cele evident iate n gura 4.9.3, iar
relat iile de calcul sunt deja familiare cititorului care a parcurs capitolul 3. Pentru
o redactare mai concisa si mai clara a algoritmilor de implementare a metodelor
Jacobi vom scrie un algoritm pentru implementarea unui pas descris mai sus.
Algoritmul 4.29 (IT J Iterat ie Jacobi) (Date matricea simetrica
A IR
nn
, prin triunghiul sau inferior, precum si ntregii 1 p <
< q n, algoritmul calculeaza parametrii optimali c, s ai rotat iei Jacobi
si suprascrie triunghiul inferior al matricei A cu triunghiul inferior al
matricei succesor A
= J
T
AJ.)
4.9. METODE ALTERNATIVE 339
,
,
p
q
p q
0
O
Fig. 4.3: Elementele afectate de un pas al metodelor de tip Jacobi.
1. Daca a
qp
= 0 atunci
1. c = 1, s = 0
2. Return
2. % Determinarea parametrilor rotat iei Jacobi
1. =
a
qq
a
pp
2a
qp
2. t =
sgn
[[ +
1 +
2
3. c =
1
1 +t
2
, s = ct
3. % Calculul A J
T
AJ numai n triunghiul inferior
1. = a
pp
c
2
2a
qp
cs +a
qq
s
2
2. a
qq
a
pp
s
2
+ 2a
qp
cs +a
qq
c
2
3. a
pp
, a
qp
0
4. Daca p > 1 atunci
1. Pentru j = 1 : p 1
1. = ca
pj
sa
qj
2. a
qj
sa
pj
+ca
qj
3. a
pj
5. Daca p < q 1 atunci
1. Pentru j = p + 1 : q 1
1. = sa
jp
+ca
qj
2. a
jp
ca
jp
sa
qj
3. a
qj
.
6. Daca q < n atunci
1. Pentru i = q + 1 : n
1. = ca
ip
sa
iq
2. a
iq
sa
ip
+ca
iq
3. a
ip
340 CAPITOLUL 4. VALORI SI VECTORI PROPRII
Comentarii. Sintaxa de apel a algoritmului IT J va
[ A, c, s ] = IT J(A, p, q),
iar complexitatea sa este O(n), ind necesari numai N
op
6n opi. 3
Parametrii p, q ai transformarii Jacobi ce deneste iterat ia curenta se pot deter-
mina aplicand strategii diverse. Oricare ar strategia aplicata, un element anulat
la o iterat ie poate deveni nenul la iterat iile ulterioare (acesta este cazul obisnuit),
astfel ca, asa cum era de asteptat, procesul de diagonalizare este, teoretic, innit.
Criteriile practice de terminare se refera la situat iile n care toate elementele extra-
diagonale devin, n valoare absoluta, neglijabile. Dintre criteriile uzuale de apreciere
a acestui fapt amintim
n max
i,j1:n
i =j
[a
ij
[ < tol, (4.324)
sau
|Adiag(A)|
F
< tol|A|
F
, (4.325)
unde scalarul pozitiv tol exprima nivelul de tolerant a acceptat, si are, n mod
obisnuit, valori de ordinul de marime al erorilor de reprezentare n formatul vir-
gula mobila folosit.
Prezentam n continuare doua strategii de alegere a parametrilor p si q, care
s-au impus n practica numerica, si algoritmii de calcul corespunzatori.
Metoda Jacobi clasica
atunci
1. Pentru i = 1 : n
1. = cq
ip
sq
iq
2. q
iq
sq
ip
+cq
iq
3. q
ip
.
Comentarii. Sintaxa de apel a algoritmului J clasic va
[ A, Q] = J clasic(A, Q, tol, opt),
iar complexitatea sa, pentru n relativ mari poate apreciata statistic la O(n
3
) si
la O(n
4
) pentru n relativ reduse. 3
Metoda Jacobi ciclica
Dezavantajul principal al metodei Jacobi clasice consta n necesitatea cautarii, la
ecare iterat ie, a elementului extradiagonal de modul maxim, o operat ie de com-
plexitate O(n
2
) comparat ii, n timp ce complexitatea de calcul a unei iterat ii este
de numai O(n). De aceea, pentru a se asigura o ecient a sporita, metoda Jacobi ci-
clica evita efectuarea comparat iilor prin anularea elementelor extradiagonale ntr-o
ordine predeterminata. Avand n vedere ca elementele anulate pot deveni nenule
ntr-o faza ulterioara a aceleiasi iterat ii sau ntr-o iterat ie ulterioara, anularile se
reiau, ciclic, pana la satisfacerea criteriului de oprire a iterat iilor.
Presupunand ca operam exclusiv n triunghiul inferior al matricei A si efectuam
anularile pe linii, n ordinea naturala, i.e. n cadrul unui ciclu, n ordinea (2,1),
(3,1), (3,2), . . . (n, 1), . . . (n, n 1), obt inem urmatorul algoritm.
Algoritmul 4.31 (J ciclic Diagonalizare iterativa a unei matrice
simetrice prin metoda Jacobi ciclica) (Date matricea simetrica A
IR
nn
, prin triunghiul sau inferior, matricea ortogonala Q IR
nn
si
tolerant a tol < 1, algoritmul calculeaza valorile proprii ale matricei A
prin diagonalizarea iterativa cu rotat ii Jacobi care anuleaza elementele
extradiagonale ciclic, pe linii. Acumularea transformarilor se realizeaza
opt ional, pe baza opt iunii exprimate prin intermediul unei variabile logi-
ce opt, care poate lua valorile da sau nu. Daca opt =
nu
, matricea
Q ramane nemodicata.)
1. =
n
i=2
i1
j=1
a
2
ij
2.
A
=
_
2 +
n
i=1
a
2
ii
,
E
=
2
3. C^at timp
E
> tol
A
1. Pentru q = 2 : n
342 CAPITOLUL 4. VALORI SI VECTORI PROPRII
1. Pentru p = 1 : q 1
1. [ A, c, s ] = IT J(A, p, q)
2. Daca opt =
da
atunci
1. Pentru i = 1 : n
1. = cq
ip
sq
iq
2. q
iq
sq
ip
+cq
iq
3. q
ip
3.
E
=
_
2
n
i=2
i1
j=1
a
2
ij
Comentarii. Sintaxa de apel a algoritmului J ciclic va
[ A, Q] = J ciclic(A, Q, tol, opt),
iar complexitatea sa poate apreciata, statistic, la O(n
3
) daca n este relativ mare.
Pentru a mari ecient a, exista versiuni cu prag ale algoritmului J ciclic (v. [ IV])
la care anularea elementelor extradiagonale are efectiv loc numai daca modulul lor
este superior unui anumit prag. O reducere progresiva a pragului pe parcursul
procesului iterativ asigura conservarea si chiar o mbunatat ire a proprietat ilor de
convergent a. 3
Calculul vectorilor proprii prin intermediul metodelor tip Jacobi se realizeaza,
n esent a, prin acumularea transformarilor. Concret, coloanele matricei de transfor-
mare Q obt inute n urma apelului [ A, Q] = J clasic(A, I
n
,
da
) sau, respectiv, al
apelului [ A, Q] = J ciclic(A, I
n
,
da
2
+. . . ,
x() = x +z
1
+z
2
2
+. . . ,
(4.326)
convergente ntr-o vecinatate a punctului = 0. Evident, avem (0) = , x(0) = x,
iar () si x() sunt funct ii continue si derivabile n domeniul de convegent a, n
particular lim
0
() = si lim
0
x() = x.
Intrucat, n general, n dezvoltarile
de mai sus,
1
,= 0 si z
1
,= 0, o prima evaluare a dependent ei valorilor proprii simple
si a vectorilor proprii asociat i de perturbat iile din elementele matricei este data de
[() [ = O(),
|x() x| = O(),
(4.327)
utila n aprecierea condit ionarii n cazul practic al perturbat iilor mici, i.e. al
celor pentru care
2
este neglijabil n raport cu . Evaluarile calitative (4.327) se
pot aprecia cantitativ prin [
1
[ si, respectiv, prin |z
1
| (sau margini superioare ale
acestora), care pot servi drept numere de condit ionare pentru valoarea proprie si
vectorul propriu asociat x.
4.10.1 Condit ionarea valorilor si vectorilor proprii
pentru matrice generale (nehermitice)
A. Condit ionarea valorilor proprii
Fie A I C
nn
, (A) o valoare proprie simpla a matricei A si x, y I C
n
vectori
proprii la dreapta, respectiv la stanga, de norma euclidiana unitara, asociat i valorii
56
Daca nu se ment ioneaza altfel, norma matriceal a este norma spectral a, i.e.
2
.
344 CAPITOLUL 4. VALORI SI VECTORI PROPRII
proprii , i.e. avem Ax = x si, respectiv, y
H
A = y
H
. Consideram, ca mai
sus, matricea perturbata F = A + E, cu E = G, si (), x() denite n (4.326).
Derivand, n raport cu , relat ia de denit ie
(A +G)x() = ()x() (4.328)
si facand = 0 obt inem
Gx +Az
1
=
1
x +z
1
, unde
1
=
d()
d
=0
, z
1
=
dx()
d
=0
. (4.329)
Dar, ntrucat este o valoare proprie simpla, avem y
H
x ,= 0 (v. exercit iul 4.9).
Prin urmare, nmult ind relat ia (4.329) la stanga cu y
H
, obt inem
y
H
Gx +y
H
Az
1
=
1
y
H
x +y
H
z
1
,
de unde rezulta
[
1
[ =
[y
H
Gx[
[y
H
x[
|y| |G| |x|
[y
H
x[
=
1
[y
H
x[
. (4.330)
Numarul
def
=
1
[y
H
x[
= max
G I C
nn
|G| = 1
[
1
[ (4.331)
(maximul ind atins pentru G = xy
H
) deneste sensibilitatea sau numarul de
condit ionare al valorii proprii simple .
In literatura de specialitate (v. [ IV],
[ VI ], [ XV] ) se utilizeaza nsa curent inversul numarului de condit ionare, i.e. asa
numitul parametru s denit de
s
def
= [y
H
x[. (4.332)
Evident, cu cat
reprezinta cosinusul
unghiului ascut it dintre direct iile vectorilor proprii la stanga si la dreapta asociat i
valorii proprii simple . Cazul cel mai favorabil apare atunci cand vectorii proprii
la stanga si la dreapta sunt aceiasi (e.g. matricele normale au toate valorile proprii
perfect condit ionate, v. teorema 4.1).
Este evident faptul ca sensibilitatea unei valori proprii, denita de parametrul
s sau de condit ionarea , se refera la erorile absolute introduse de perturbat iile
numerice n datele init iale. Prin urmare, erorile relative vor cu atat mai mari cu
cat valorile proprii sunt mai mici n modul.
Fie Q I C
nn
o matrice unitara oarecare, B = Q
H
AQsi (A) = (B). Daca
x si y sunt vectori proprii la dreapta si, respectiv, la stanga, de norma unitara, ai
matricei A, asociat i valorii proprii , atunci x = Q
H
x si, respectiv, y = Q
H
y sunt
vectori proprii de norma unitara ai matricei B, asociat i aceleiasi valori proprii. Se
4.10. CONDIT IONARE 345
constata imediat ca s
= [ y
H
x[ = [y
H
x[ = s
2
[
_
2
+ (
1
2
)
2
,
respectiv,
1
=
2
=
1 +
2
(
1
2
)
2
.
Daca [[ [
1
2
[, atunci
1
=
2
[[
[
1
2
[
.
In cazul numeric A =
_
0.1 100
0 0.2
_
, avem
1
=
2
10
3
. Valorile proprii ale
matricei perturbate F = A+G =
_
0.1 100
10
6
0.2
_
, unde = 10
6
si G =
_
0 0
1 0
_
(cu |G| = 1), sunt
1
= 0.0990098 si
2
= 0.2009902, i.e. o perturbare cu numai
10
6
a unui singur element al matricei init iale are ca efect modicari de ordinul a
10
3
ale celor doua valori proprii, deci de aproximativ 1000 mai mari.
Expresia de mai sus a numerelor de condit ionare sugereaza o justicare a faptu-
lui, armat deja, ca valorile proprii multiple au o condit ionare mai rea decat valorile
proprii simple. 3
Atragem atent ia asupra faptului ca, desi exemplul de mai sus arata ca sensibili-
tatea unei valori proprii poate inuent ata decisiv de distant a de la ea pana la
restul spectrului, exista situat ii de valori proprii bine separate de restul spectrului
si, n acelasi timp, foarte rau condit ionate. Exemple celebren acest sens fac obiectul
exercit iilor 4.69 si 4.70.
Numerele
i
(sau s
i
) denesc condit ionarea valorilor proprii
i
ale unei matrice
n raport cu variat ii mici dar arbitrare ale tuturor elementelor matricei, i.e. n raport
cu perturbat ii nestructurate. Desigur, putem sa formulam problema condit ionarii
valorilor proprii n raport cu variat ia unui anumit element (v. exercit iul 4.68) sau cu
variat iile elementelor dintr-un grup precizat structural (perturbat ii structurate).
In
continuare ne vomndrepta nsa atent ia ntr-o direct ie considerata mai importanta
n aplicat ii si anume a exprimarii sintetice a condit ionarii unui grup de valori proprii
sau a ntregului spectru n raport cu perturbat ii nestructurate.
In acest scop pot
utilizate teoremele de localizare a spectrului de valori proprii n planul complex
(dintre care amintim teorema lui Gershgorin, vezi teorema 4.11, 4.1). O alta
cale este de a deni condit ionarea ntregului spectru printr-o norma a vectorului
condit ionarilor valorilor proprii individuale, i.e.
s
def
= |s|,
def
= ||, (4.333)
unde
s = [ s
1
s
2
s
n
]
T
, = [
1
2
n
]
T
, (4.334)
346 CAPITOLUL 4. VALORI SI VECTORI PROPRII
denit ie care ar putea utilizata si pentru un grup de valori proprii.
Pentru denirea condit ionarii unui grup de valori proprii vom urma totusi o cale
alternativa care generalizeaza o interpretare interesanta a numerelor de condit ionare
individuale denite mai sus.
In acest scop vom introduce si utiliza conceptul de
proiector spectral. Pentru simplitate, consideram o matrice A I C
nn
cu valori
proprii distincte si e J = i
1
, i
2
, . . . , i
q
o mult ime ordonata (i.e. i
1
< i
2
<
. . . < i
q
) de indici din 1 : n. Notam
I
(A) =
i1
,
i2
, . . . ,
iq
(A). Fie,
acum, |
I
I C
n
subspat iul A-invariant asociat setului de valori proprii
I
(A) si
1 I C
n
subspat iul A-invariant complementar, asociat setului
J
(A) = (A)
I
(A).
Intrucat avem I C
n
= | 1, pentru orice vector x I C
n
exista vectorii u | si v 1,
unic determinat i, astfel ncat x = u +v. Vectorul u se numeste proiect ia vectorului
x pe subspat iul | paralela cu subspat iul 1, iar vectorul v proiect ia vectorului x pe
subspat iul 1 paralela cu subspat iul |. Aplicat ia liniara P
I
: I C
n
| se numeste
proiect ia spectrala asociata setului de valori proprii
I
(A), iar pentru o baza xata
a spat iului I C
n
, matricea P
I
I C
nn
asociata aplicat iei P
I
se numeste proiector
spectral pe subspat iul |. Evident, P
I
x = u, x I C
n
si P
2
I
= P
I
.
Fie, acum, o matrice U I C
nq
ale carei coloane formeaza o baza a subspat iului
|. Conform propozit iei 4.1, avem AU = UB, unde B I C
qq
este o restrict ie a
matricei A la subspat iul A-invariant | si (B) =
I
(A). Similar, e V I C
n(nq)
o matrice ale carei coloane formeaza o baza a subspat iului 1 si AV = V C. Evident,
matricea T = [ U V ] este nesingulara. Consideram partit ia T
1
=
_
Y
Z
_
a inversei
matricei T, unde Y I C
qn
si Z I C
(nq)n
. Avem imediat Y AU = B, Y AV = 0,
ZAU = 0 si ZAV = C. Prin urmare, T
1
AT = diag(B, C). Mai mult, este simplu
de vazut ca matricele
P
I
= UY, P
J
= V Z = I
n
P
I
(4.335)
sunt proiectorii spectrali pe subspat iile A-invariante | si, respectiv, 1.
Consideram, n continuare, o valoare proprie simpla (A), un vector propriu
la dreapta x si un vector propriu la stanga y, ambii de norme euclidiene unitare,
asociat i valorii proprii . Subspat iul A-invariant unidimensional | = Imx are drept
complement subspat iul A-invariant n 1 dimensional 1 = Kery
H
, iar P
=
xy
H
y
H
x
este proiectorul spectral pe subspat iul |. Avem urmatoarea exprimare posibila a
condit ionarii valorii proprii .
Intrucat |xy
H
| = |x| |y| (demonstrat i!), rezulta
s
=
1
|P
|
, respectiv
= |P
|. (4.336)
Aceste relat ii pot generalizate, n modul cel mai natural, la denirea condi-
t ionarii unor seturi de mai multe valori proprii. Fara a intra n detalii, vom deni
parametrul s
I
si condit ionarea
I
a unui set
I
(A) de valori proprii prin
s
I
=
1
|P
I
|
, respectiv
I
= |P
I
|, (4.337)
unde P
I
este proiectorul spectral pe subspat iul A-invariant asociat valorilor proprii
I
. La fel ca n cazul valorilor proprii individuale, s
I
si
I
sunt invariante la trans-
formari unitare (n cazul real, ortogonale) de asemanare.
In consecint a, evaluarea
4.10. CONDIT IONARE 347
condit ionarii unui set
I
de valori proprii se poate face n felul urmator. Fie
S = Q
H
AQ =
_
S
11
S
12
0 S
22
_
(4.338)
forma Schur ordonata a matricei A astfel ncat
I
= (S
11
), (S
11
) (S
22
) = si
solut ia X I C
q(nq)
a ecuat iei Sylvester
S
11
X XS
22
= S
12
. (4.339)
Atunci, asa cum s-a aratat n 4.7, transformarea de asemanare denita de ma-
tricea T =
_
I
q
X
0 I
nq
_
conduce la obt inerea matricei cu structura bloc-diagonala
T
1
ST = diag(S
11
, S
22
), iar proiectorul spectral pe subspat iul S-invariant asociat
valorilor proprii (S
11
), conform (4.335), este
P = T( : , 1 : q)T
1
(1 : q, : ) =
_
I
q
X
0 0
_
. (4.340)
Rezulta
s
I
=
1
|P|
=
1
_
1 +|X|
2
, respectiv
I
= |P| =
_
1 +|X|
2
. (4.341)
Avandu-se n vedere dicultat ile legate de calculul normei spectrale, n pachetele
profesionale de calcul al valorilor proprii
57
, se utilizeaza norme matriceale mai
usor de calculat. Astfel, n LAPACK [ XV], n locul relat iei (4.341) de calcul al
parametrului s
I
se foloseste expresia
s
I
=
1
_
1 +|X|
2
F
, (4.342)
care, avandu-se n vedere relat ia dintre norma spectrala si norma Frobenius, da o es-
timare care difera de valoarea reala printr-un factor cel mult egal cu
_
min(q, n q).
p
(V ) a numarului max
(A+E)
e()
|E|
pentru aprecierea sensibilitat ii spectrului ma-
tricei simple A.
Intrucat vectorii proprii sunt determinat i pana la nmult irea cu un
scalar nenul, pentru a elimina aceasta nedeterminare, denirea condit ionarii spec-
trului unei matrice diagonalizabile se poate face prin intermediul numarului
(p)
(A) = min
V VA
p
(V ), (4.344)
unde 1
A
este mult imea tuturor matricelor de vectori proprii ai matricei A pentru
care avem V
1
AV = .
4.10. CONDIT IONARE 349
Pentru p = 2, aceasta caracterizare a condit ionarii spectrului de valori proprii al
unei matrice simple este ntr-o conexiune stransa cu cea introdusa n relat ia (4.333).
Intr-adevar, daca V 1
A
, atunci x
i
=
V e
i
|V e
i
|
este un vector propriu la dreapta,
de norma euclidiana unitara, asociat valorii proprii
i
, iar y
i
=
(e
T
i
V
1
)
H
|V
H
e
i
|
este un
vector propriu unitar la stanga asociat aceleiasi valori proprii. Avem
s
i
= [y
H
i
x
i
[ =
[e
T
i
V
1
V e
i
[
|V
H
e
i
| |V e
i
|
=
1
|V e
i
| |V
H
e
i
|
.
T inand seama de faptul ca |V e
i
| |V | |e
i
| = |V | si, analog, |V
H
e
i
|
|V
1
|, rezulta
s
i
1
2
(V )
, respectiv
i
2
(V )
pentru tot i i = 1 : n. Cum V 1
A
era arbitrara, aceasta nseamna
||
= max
i=1:n
(
i
)
(2)
(A). (4.345)
Pe de alta parte, e matricele X = [ x
1
x
2
x
n
], avand drept coloane
vectori proprii la dreapta de norma euclidiana unitara si Y =
_
_
y
H
1
y
H
2
.
.
.
y
H
n
_
_
, cu vectorii
y
i
vectori proprii la stanga, de asemenea de norma euclidiana unitara. Atunci,
t inand seama de faptul ca y
H
i
x
j
= 0 pentru tot i i ,= j (v. exercit iul 4.8), avem
Y X = diag(s
1
, s
2
, . . . , s
n
). Prin urmare, matricea
V = XD = Xdiag(
1
,
2
, . . . ,
n
)
apart ine mult imii 1
A
si V
1
= D
1
X
1
= DY . Rezulta
(V ) = |V | |V
1
| |V |
F
|V
1
|
F
= |XD|
F
|DY |
F
= |D|
2
F
=
n
i=1
i
= ||
1
.
Reunind acest rezultat cu (4.345) putem scrie n concluzie
||
(2)
(A) ||
1
. (4.346)
Avand n vedere rolul determinant al structurii direct iilor proprii asupra sensi-
bilitat ii valorilor proprii, este interesant de vazut n ce condit ii
2
(V ) = |V | |V
1
| |V V
1
| = 1.
Prin urmare si
(2)
(A) = 1. 3
Prin urmare spectrele matricelor normale sunt perfect condit ionate.
O alta problema foarte importanta este legata de existent a mijloacelor de mbu-
natat ire si de conservare a condit ionarii numerice a spectrului de valori proprii
ale unei matrice date.
Intrucat spectrul nsusi trebuie conservat, aceste mijloace se
refera la existent a unor transformari de asemanare astfel ncat matricea
A = TAT
1
sa aiba
(
A)
(A).
In acest sens avem urmatorul rezultat.
Propozit ia 4.5 Transformarile unitare (n cazul real, ortogonale) de asemanare
conserva numarul de condit ionare
(2)
V ) = |
V | |
V
1
| =
= |UV | |V
1
U
H
| =
2
(V ) de unde rezulta si conservarea numarului de condit io-
nare min
V VA
2
(V ), q.e.d. 3
Implicat iile importante ale propozit iei de mai sus constau n utilizarea, practic
exclusiva, a transformarilor unitare (ortogonale) de asemanare n tot i algoritmii
de calcul al valorilor proprii (vezi sect iunile precedente). De asemenea, rezulta
ca o eventuala ameliorare a condit ionarii spectrului de valori al unei matrice nu
este posibila decat prin recurgerea la transformari de asemanare neunitare, care sa
realizeze o apropiere a matricei init iale de o matrice normala.
Intrucat o matrice
normala este caracterizata, printre altele, de faptul ca este perfect echilibrata, i.e.
are normele euclidiene ale liniilor si coloanelor de acelasi indice egale, procedurile de
ameliorare a condit ionarii spectrului unei matrice urmaresc o echilibrare a acesteia,
asa cum s-a prezentat n detaliu n sect iunea 4.4.
B. Condit ionarea vectorilor proprii si a subspat iilor invariante
La fel ca si n cazul valorilor proprii, din motive de simplitate, ne vom margini la
analiza condit ionarii vectorilor proprii asociat i valorilor proprii simple. De aseme-
nea, precizam de la nceput ca subspat iile invariante generate de vectori proprii rau
condit ionat i pot avea o condit ionare mult mai buna. Acesta si este unul din motivele
principale pentru care n practica numerica nu se recomanda, n general, calculul
explicit al vectorilor proprii, subspat iile invariante de interes putand generate
mult mai abil, de exemplu, de vectorii Schur.
Fie matricea A I C
nn
cu valorile proprii distincte
k
si vectorii proprii asociat i,
de norma euclidiana unitara, x
k
, k = 1 : n. Consideram matricea perturbata
4.10. CONDIT IONARE 351
F = A + E, cu E = G, |G| = 1, si
k
(), x
k
() (cu |x
k
| = 1) valorile si vectorii
proprii ai matricei perturbate, denit i ca n (4.326). Adaptand notat iile la noul
context, relat ia (4.329) se poate scrie sub forma
Gx
k
+Az
(k)
1
=
(k)
1
x
k
+
k
z
(k)
1
, unde
(k)
1
=
d
k
()
d
=0
, z
(k)
1
=
dx
k
()
d
=0
.
(4.347)
n
i=1
(k)
i
x
i
, relat ie care, introdusa n (4.347),
conduce la
n
i=1
i=k
(k)
i
(
k
i
)x
i
= (G
k
I
n
)x
k
. (4.348)
(k)
i
=
y
H
i
Gx
k
(
k
i
)y
H
i
x
i
, i = 1 : n, i ,= k. (4.349)
Prin urmare, dezvoltarean serie (4.326) conduce la urmatoarea evaluare a inuent ei
perturbat iei asupra vectorului propriu x
k
:
x
k
() = x
k
+
n
i=1
i =k
y
H
i
Gx
k
(
k
i
)y
H
i
x
i
x
i
+O(
2
). (4.350)
x
k
= |
n
i=1
i =k
y
H
i
Gx
k
(
k
i
)y
H
i
x
i
x
i
| (4.351)
drept numar de condit ionare al vectorului propriu x
k
. Relat ia (4.351) arata ca
sensibilitatea unui vector propriu este dependenta esent ial atat de sensibilitat ile
tuturor valorilor proprii cat si de distant a (separarea) valorii proprii asociate fat a
de celelalte valori proprii.
Exemplul 4.10 Reluam matricea din exemplul precedent, respectiv consideram
A =
_
1
0
2
_
IR
22
cu
1
,=
2
si notam =
1
2
. Vectorii proprii, de
norma unitara, au expresiile (facand abstract ie de semn)
x
1
=
_
1
0
_
, x
2
=
1
_
2
+
2
_
_
, y
1
=
1
_
2
+
2
_
_
, y
2
=
_
0
1
_
.
Prin urmare, relat iile (4.351) se scriu n acest caz sub forma
x1
= |
y
T
2
Gx
1
y
T
2
x
2
x
2
|,
x2
= |
y
T
1
Gx
2
y
T
1
x
1
x
1
|.
352 CAPITOLUL 4. VALORI SI VECTORI PROPRII
In cazul numeric A =
_
1.01 0.01
0 1
_
, avem
1
=
2
=
2, i.e. ambele
valori proprii sunt foarte bine condit ionate. Vectorii proprii normat i ai matricei
neperturbate sunt
x
1
=
_
1
0
_
, x
2
=
1
2
_
2
2
_
_
0.70710
0.70710
_
.
Valorile proprii ale matricei perturbate F = A + G =
_
1.01 0.01
10
3
1
_
, unde =
= 10
3
si G =
_
0 0
1 0
_
(cu |G| = 1), sunt
1
1.0109 si
2
0.99908, i.e.
cu perturbari de ordinul de marime al lui .
In schimb, vectorii proprii normat i ai
matricei perturbate sunt
x
1
= x
1
(10
3
)
_
0.995830
0.091226
_
, x
2
= x
2
(10
3
)
_
0.67549
0.73737
_
.
Se observa inuent a mult mai puternica a perturbat iei asupra vectorilor proprii
decat asupra valorilor proprii. De exemplu, x
2
are un element fara nici o cifra
zecimala corecta desi perturbat ia a modicat numai a treia cifra zecimala a unui
element al matricei init iale. Aceasta se datoreste faptului ca vectorul propriu x
2
este relativ rau condit ionat ntrucat
x2
= 100/
2. 3
Exprimarea condit ionarii vectorilor proprii si, mai general, evaluarea erorilor n
calculul vectorilor proprii prin expresii de genul | xx| nu este ntotdeauna semni-
cativa datorita faptului ca vectorii proprii, chiar normat i, nu sunt unic determinat i.
De exemplu, daca x = x, i.e. x este un vector propriu exact, avem| xx| = 2. De
aceea, este preferabila aprecierea inuent ei perturbat iilor asupra vectorilor proprii
prin evaluarea diferent ei unghiulare dintre vectorul exact si cel perturbat, denita
prin
(x, x) = arccos
[x
H
x[
|x| | x|
= arccos [x
H
x[, (4.352)
ultima expresie ind adevarata n cazul utilizarii vectorilor normat i |x| = | x| = 1.
Prin denit ie, unghiul (x, x), introdus n relat ia (4.352), este unghiul ascut it dintre
direct iile vectorilor x si x.
Aceasta abordare poate extinsa la exprimarea condit ionarii subspat iilor in-
variante. Fie doua subspat ii |, 1 I C
n
. Denim diferent a unghiulara sau unghiul
ascut it dintre subspat iile | si 1 prin
(|, 1) = max
uU
u =0
min
vV
v=0
(u, v). (4.353)
Evident, (|, 1) = (1, |). Relat ia de denit ie (4.353) nu permite calculul unghiu-
lui dintre doua subspat ii dar mijloace pentru a face acest lucru exista
58
. Fiind data
o matrice A si
I
(A) un set de valori proprii ale acesteia, prin condit ionarea
58
O relat ie care exprima unghiul dintre dou a subspat ii si generalizeaz a expresia (4.352) a unghiu-
4.10. CONDIT IONARE 353
subspat iului A-invariant | asociat setului
I
vomnt elege variat ia unghiulara (sau
o margine superioara a acesteia) a subspat iului | raportata la nivelul perturbat iilor
n elementele matricei A.
Condit ionarea subspat iilor invariante este determinata n mod decisiv de lo-
calizarea valorilor proprii asociate. Este nsa posibil ca un subspat iu generat de
vectori proprii rau condit ionat i sa aiba o condit ionare foarte buna daca grupul
corespunzator de valori proprii este bine separat de restul valorilor proprii.
Pentru a aborda constructiv aceasta problema introducem cateva not iuni noi.
Vom deni mai ntai separarea dintre spectrele a doua matrice A I C
mm
si B
I C
nn
.
In acest scop, e aplicat ia liniara L : I C
mn
I C
mn
denita de L(X) =
= AXXB. Distant a (sau separarea) dintre spectrele matricelor A si B se masoara
prin scalarul
sep(A, B)
def
= min
X=0
|L(X)|
F
|X|
F
= min
X=0
|AX XB|
F
|X|
F
. (4.354)
j
[
[
i
+
j
[
. (4.356)
Proprietatea evident iata n cazul particular de mai sus se generalizeaza n mod
natural si justica utilizarea parametrului sep(A, B) ca masura a separarii spectrelor
matricelor A si B.
In cazul general se pot face urmatoarele armat ii:
sep(A, B) = 0 daca si numai daca matricele A si B au cel put in o valoare
proprie comuna;
sep(A, B) este mica daca si numai daca exista o perturbare mica a uneia
dintre matrice care face ca cele doua matrice sa aibe cel put in o valoare proprie
comuna;
daca matricele Asi B sunt hermitice (n cazul real, simetrice), atunci separarea
coincide cu distant a dintre spectre, i.e. sep(A, B) = gap(A, B);
daca matricele A si B nu sunt hermitice (n cazul real, simetrice), atunci
sep(A, B) < gap(A, B) si chiar poate mult inferioara lui gap(A, B);
XI
def
=
1
sep
I
. (4.358)
60
Variantele rapide se obt in de obicei prin utilizarea unor norme matriceale care se calculeaz a
mai usor (cum sunt
1
sau ).
In acest fel se obt in estim ari care difer a de valoarea real a
printr-un factor cel mult egal cu
mn, perfect acceptabil n practica numeric a.
4.10. CONDIT IONARE 355
Xi
def
=
1
sep
i
(4.359)
exprima condit ionarea vectorului propriu asociat valorii proprii
i
a matricei A.
Pentru detalii recomandam consultarea referint elor bibliograce [ IV], [ VI ], [ VIII ].
4.10.2 Condit ionarea valorilor si vectorilor proprii
pentru matrice hermitice
A. Condit ionarea valorilor proprii
Desigur, toate dezvoltarile privitoare la condit ionarea valorilor proprii pentru ma-
tricele nehermitice raman valabile si pentru matricele hermitice, iar n cazul real,
pentru matricele simetrice. Pe de alta parte matricele hermitice
61
prezinta nu-
meroase particularitat i interesante si din acest punct de vedere.
i
=
1
s
i
=
1
[x
H
i
x
i
[
= 1, i = 1 : n. (4.360)
Prin urmare, valorile proprii ale matricelor hermitice (n cazul real, simetrice) sunt
perfect condit ionate, variat iile (absolute) ale valorilor proprii induse de perturbat ii
n matricea init iala nedepasind nivelul acestor perturbat ii.
Exemplul 4.11 Fie matricea simetrica A =
_
1.000 0.900
0.900 1.000
_
IR
22
cu val-
orile proprii exacte
1
= 1.9 si
2
= 0.1. Valorile proprii ale matricelor simetrice
perturbate F
1
= A + G
1
=
_
1.001 0.900
0.900 1.001
_
, F
2
= A + G
2
=
_
1.000 0.901
0.901 1.000
_
si F
3
= A+G
3
=
_
1.001 0.900
0.900 1.000
_
, unde, de ecare data perturbat iile sunt sime-
trice, = 10
3
si |G
i
| = 1, sunt (F
1
) = 1.901, 0.101, (F
2
) = 1.901, 0.101,
(F
3
) = 1.9005, 0.1005, n toate cazurile variat iile absolute ale valorilor proprii
nedepasind valoarea lui .
In schimb, variat iile relative ale valorii proprii mai mici
sunt de aproximativ 20 de ori (i.e raportul celor doua valori proprii) mai mari decat
variat iile relative ale valorii proprii mai mari.
Condit ionarea excelenta a valorilor proprii ale unei matrice simetrice se mani-
festa si la perturbat ii nesimetrice (desi nu se mai poate garanta ca matricele per-
turbate au un spectru real). Astfel pentru F
4
= A+G
4
=
_
1.000 0.901
0.900 1.000
_
avem
(F
4
) = 1.9005, 0.0995. 3
61
Majoritatea rezultatelor sunt adev arate pentru cazul mai general al matricelor normale.
356 CAPITOLUL 4. VALORI SI VECTORI PROPRII
Subliniem, n ncheierea acestui paragraf, ca alte evaluari utile ale efectelor
perturbat iilor n datele init iale sunt consecint e directe ale teoremelor 4.6 si 4.7.
B. Condit ionarea vectorilor proprii si a subspat iilor invariante
Desi valorile proprii ale matricelor hermitice sunt perfect condit ionate nu acelasi
lucru se poate spune despre vectorii proprii si subspat iile invariante, a caror condi-
t ionare este dependenta, la fel ca n cazul general, de separarea seturilor de valori
proprii carora le sunt asociate de restul spectrului matricei date. Singura particu-
laritate, ment ionata deja ntr-unul din paragrafele precedente, consta n faptul ca
parametrii de separare sep
i
, respectiv sep
I
, denite n (4.354), coincid cu distant ele
dintre spectre gap
i
, respectiv gap
I
, denite n (4.355) si, n consecint a, se calculeaza
mult mai usor.
4.11 Stabilitatea numerica a algoritmului QR
O problema de calcul numeric rau condit ionata nu poate rezolvata bine ntr-un
mediu de calcul aproximativ.
In schimb, o problema bine condit ionata poate
rezolvata prost daca nu se utilizeaza un algoritm corespunzator. Contribut ia unor
algoritmi concret i de calcul la nivelul erorilor din rezultate, un atribut esent ial al
calitat ii lor, este apreciata cu ajutorul conceptului de stabilitate numerica si se face
curent prin evaluarea acestei contribut ii n echivalent erori n datele init iale (vezi
cap. 0).
In acest sens, amintim ca un algoritm este considerat numeric stabil daca
rezultatele oferite de execut ia sa sunt rezultate exacte ale problemei cu date init iale
ce difera de datele reale la nivelul erorilor de reprezentare, eventual multiplicate cu o
funct ie de dimensiunea problemei avand o crestere modesta. Garant ia t inerii sub
control a erorilor de calcul se poate da numai pentru probleme bine condit ionate,
cu restrict ia utilizarii unor algoritmi numeric stabili.
Pentru probleme de calcul netriviale, cum este calculul valorilor si vectorilor
proprii, analiza erorilor introduse de calculul n virgula mobila este o sarcina extrem
de dicila. Mai mult, stabilirea unor margini cat mai exacte ale erorilor (reduse la
nivelul datelor init iale) nici nu are o relevant a majora. Asa cum reiese dintr-o
experient a ce poate considerata semnicativa, un obiectiv mai important al ana-
lizei numerice l constituie sesizarea unor situat ii de instabilitate numerica, situat ii
n care utilizarea algoritmului respectiv trebuie interzisa. De aceea, n continuare
ne propunem sa prezentam, fara demonstrat ii sau justicari matematice profunde,
rezultatele existente n literatura de specialitate referitoare la stabilitatea numerica
a algoritmilor prezentat i n acest capitol si, n primul rand, a algoritmului QR.
Rezultatul principal consta n faptul ca algoritmul QR de calcul al valorilor si
vectorilor proprii ai unei matrice n n reale sau complexe A este numeric stabil si
acest fapt se datoreaza esent ial utilizarii exclusive a transformarilor unitare
62
(n
cazul real, ortogonale). Concret, forma Schur (n cazul real, reala sau complexa)
calculata
S este o forma Schur exacta a unei matrice
A = A + E foarte apropiate
62
Procedura de echilibrare, singura care nu utilizeaz a transform ari unitare, a fost astfel con-
ceputa ncat toate calculele sunt exacte, deci nu apar probleme de stabilitate.
4.11. STABILITATE NUMERIC
A 357
de matricea init iala, i.e.
S = Q
H
(A +E)Q, (4.361)
unde Q este o matrice unitara si E o matrice a erorilor raportate la datele de intrare
ale algoritmului satisfacand condit ia
|E| p(n)|A|
M
, (4.362)
cu p(n) o funct ie de ordinul matricei, cu o crestere modesta
63
.
Daca se acumuleaza transformarile, atunci matricea de transformare calculata
Q
H
Q = I
n
+E, cu |E| p(n)|A|
M
. (4.363)
Prin urmare, valorile proprii calculate cu algoritmul QR, ca si vectorii pro-
prii calculat i sau subspat iile invariante calculate sunt valori proprii exacte, vec-
tori proprii exact i sau subspat ii invariante exacte ale unor matrice foarte apropiate
de matricea data. Aceasta nseamna ca nivelul erorilor n rezultate va redus
daca problema concreta respectiva este bine condit ionata, respectiv poate impor-
tant n cazul unei condit ionari necorespunzatoare. Asa cum s-a ment ionat, pentru
aprecierea erorilor din rezultate, pachetele profesionale de programe permit esti-
marea numerelor de condit ionare si, pe aceasta baza estimarea erorilor conform
celor aratate n sect iunea precedenta. Consideram util sa prezentamn nalul aces-
tei sect iuni astfel de estimari ale erorilor de calcul al valorilor proprii, vectorilor
proprii si subspat iilor invariante cu algoritmii propusi n capitolul de fat a. Vom
utiliza notat ia consacrata cu accentpentru valorile calculate.
Matrice generale (nehermitice)
Valori proprii:
[
i
i
[
i
p(n)|A|
M
. (4.364)
Vectori proprii:
( x
i
, x
i
)
p(n)|A|
F
M
sep
i
. (4.365)
Subspat ii invariante:
(
o
I
, o
I
)
p(n)|A|
F
M
sep
I
. (4.366)
Matrice hermitice (n cazul real, simetrice)
Valori proprii:
[
i
i
[
i
p(n)|A|
M
. (4.367)
63
Practic pentru tot i algoritmii prezentat i n acest capitol, p(n) este o funct ie polinomial a de un
grad modest (1, 2 sau, foarte rar, 3) de parametri ce denesc dimensiunea problemei. Expresiile
existente, la un moment istoric dat, pentru p(n) sunt, n general, evalu ari pesimiste si cunoasterea
exacta a acestor expresii este lipsita de semnicat ie pentru practica numeric a.
In [ XV] se arm a
ca o apreciere de genul p(n) < 10n este adev arat a n majoritatea situat iilor practice pentru care
se foloseste formula de evaluare funct ie cu o crestere modest a.
358 CAPITOLUL 4. VALORI SI VECTORI PROPRII
Vectori proprii:
( x
i
, x
i
)
p(n)|A|
F
M
gap
i
. (4.368)
Subspat ii invariante:
(
o
I
, o
I
)
p(n)|A|
F
M
gap
I
. (4.369)
Pentru detalii recomandam consultarea referint elor bibliograce [ XI ], [ XII ], [ XV].
4.12 Rutine LAPACK si MATLAB
LAPACK. Calculul valorilor si vectorilor proprii ai unei matrice A este efectuat
n LAPACK de cateva rutine driver, diferent iate de tipul matricei (generala sau
simetrica) si de gradul de detaliere a rezultatelor.
Pentru matrice generale exista doua categorii de rutine driver.
1. Rutina xGEES calculeaza forma Schur a matricei A si eventual vectorii Schur,
folosind algoritmul QR. Forma Schur poate ordonata, n sensul ca o submul-
t ime a valorilor proprii, aleasa de utilizator, se va aa n colt ul stanga-sus al
formei Schur (ca n schema FSC ORD p ).
Driverul expert xGEESX calculeaza n plus numerele de condit ie ale valorilor
proprii.
2. Rutina xGEEV calculeaza valorile si eventual vectorii proprii ai matricei A.
Rutina expert xGEEVX poate efectua suplimentar si scalarea matricei (ca n
algoritmii din sect iunea 4.7) sau calcula numerele de condit ie ale valorilor
proprii.
Pentru matricele simetrice, driverul simplu xyyEV (unde yy este SY, HE, SP, HP,
SB, HB, ST; ultima notat ie este pentru matrice simetrice tridiagonale) calculeaza
valorile si, eventual, vectorii proprii, utilizand algoritmul QR simetric.
Rutina expert xyyEVX poate calcula si toate sau numai o submult ime a valorilor
proprii si, opt ional, vectorii proprii corespunzatori.
Rutinele de calcul sunt mult mai numeroase, de aceea ne vom margini la
prezentarea celor mai importante.
Pentru matrice generale, diversele faze ale calculului sunt implementate astfel:
xGEHRD realizeaza reducerea unei matrice oarecare A la forma Hessenberg
H prin transformari de asemanare ortogonale (ca n algoritmul HQc din
sect iunea 4.4.1).
xHSEQR implementeaza faza iterativa a algoritmului QR, transformand H n
forma Schur, cu acumularea opt ionala a transformarilor (si deci obt inerea
vectorilor Schur).
4.12. RUTINE LAPACK SI MATLAB 359
vectorii proprii ai matricei A sunt calculat i e cu rutina xTREVC, care utilizeaza
forma Schur (problema este deci de a calcula vectorii proprii ai unei matrice
(cvasi-)triunghiulare), e cu rutina xHSEIN, care utilizeaza forma Hessenberg
si metoda puterii inverse, foarte ecienta cand valorile proprii sunt disponibile,
dar care funct ioneaza si fara ca acestea sa fost calculate.
Alte rutine utile sunt urmatoarele:
xGEBAL realizeaza scalarea (echilibrarea) matricei A; se utilizeazan conjunct ie
cu rutina complementara xGEBAK, care reface vectorii proprii ai matricei A din
cei ai matricei scalate (evident, valorile proprii sunt identice).
xTRSEN ordoneaza forma Schur prin aducerea n colt ul stanga-sus a unei
submult imi de valori proprii descrise de utilizator.
xTREXC aduce o singura valoare proprie n pozit ia dorita (aceasta rutina tre-
buie apelata repetat pentru a realiza o permutare completa, ca n algoritmul
FSR ORD).
xTRSYL rezolva ecuat ia Sylvester cvasi-triunghiulara.
xTRSNA calculeaza numerele de condit ie ale valorilor proprii.
Pentru matrice simetrice, etapele de calcul sunt implementate de
xyyTRD efectueaza reducerea unei matrice simetrice (hermitice) la forma tridi-
agonala reala, prin transformari de asemanare ortogonale.
xSTEQR calculeaza valorile si, opt ional, vectorii proprii ai unei matrice tridi-
agonale, implementand faza iterativa a algoritmului QR simetric. Exista nca
alte cateva rutine cu aceeasi funct ionalitate, dar utilizand algoritmi diferit i; de
exemplu xSTEBZ implementeaza metoda bisect iei (vezi algoritmul BISECT).
xSTEIN calculeaza vectorii proprii (eventual numai unii dintre acestia) ai unei
matrice tridiagonale, utilizand metoda puterii inverse.
MATLAB. Valorile si vectorii proprii ai unei matrice generale A pot calculate
cu
[V, D] = eig(A)
V ind matricea vectorilor proprii (posibil complecsi), iar D o matrice diagonala
cont inand valorile proprii. Apelul simplu eig(A) returneaza un vector cont inand
valorile proprii. Funct ia eig implementeaza algoritmul QR.
Reducerea la forma Hessenberg a matricei A se face cu funct ia hess, care acu-
muleaza opt ional transformarile.
Forma Schur a matricei A si, opt ional, vectorii Schur, se obt in cu funct ia schur.
Echilibrarea matricei A se realizeaza cu funct ia balance.
360 CAPITOLUL 4. VALORI SI VECTORI PROPRII
O funct ie pentru ordonarea formei Schur se gaseste n Control Toolbox
64
.
Aceasta se numeste schord si implementeaza algoritmul FSC ORD, adica per-
muta complet forma Schur. Funct ia utilizeaza numai forma Schur complexa, adica
o matrice superior triunghiulara.
In cazul real, trebuie apelate funct iile rsf2csf si
csf2rsf pentru transformarea ortogonala a unei forme Schur reale ntr-una com-
plexa (nainte de ordonare) si invers (dupa aceea).
Nu exista nici o funct ie speciala pentru matrice simetrice.
4.13 Probleme
P 4.1 Se considera date matricele
A =
_
3 3 2
1 5 2
1 3 0
_
, B =
_
4 0 8
8 3 9
4 1 9
_
.
Folosind denit iile, calculat i valorile proprii ale celor doua matrice si cate un vector propriu
asociat ecarei valori proprii. Sunt cele doua matrice diagonalizabile? Vericat i.
P 4.2
In cadrul capitolului, cazul real a fost tratat adesea ca un caz particular al cazu-
lui complex.
In acest context, este IR
n
un subspat iu liniar al spat iului I C
n
? Justicat i
raspunsul.
P 4.3 Fie matricele A I C
mm
, B I C
nn
si matricea C =
_
A 0
0 B
_
, suma directa a
matricelor A si B. Demonstrat i ca C este diagonalizabila daca si numai daca A si B sunt
diagonalizabile.
P 4.4 Se considera o matrice A IR
nn
avand structura bloc superior triunghiulara
A =
_
A1 A12
0 A2
_
. Daca matricele A1 si A2 sunt diagonalizabile, este diagonalizabila si
matricea A? Argumentat i raspunsul.
P 4.5 Fie matricele A I C
mn
, B I C
nm
. Demonstrat i ca (AB) (BA) daca m n
si (BA) (AB) daca m n.
In cazul, m = n, care dintre valorile proprii ale matricei
de ordin mai mare (dintre matricele AB si BA) nu sunt valori proprii ale matricei de ordin
mai mic ?
P 4.6 Perechea de matrice (A, B) I C
nn
I C
nn
se numeste diagonalizabila (sau, echiva-
lent, matricele Asi B se numesc simultan diagonalizabile) daca exista o matrice nesingulara
X I C
nn
astfel ncat X
1
(A, B)X
def
= (X
1
AX, X
1
BX) = (A, B), cu A, B di-
agonale. Demonstrat i: a) Daca A este diagonalizabila, atunci perechea (A, In) este
diagonalizabila pentru tot i I C. b) Daca (A, B) este diagonalizabila, atunci matricele
A si B comuta. c) Presupunem ca matricele A si B sunt diagonalizabile. Atunci A si B
comuta daca si numai daca perechea (A, B) este diagonalizabila. d) Dat i un exemplu de
dou a matrice care comuta si care nu sunt simultan diagonalizabile.
P 4.7 Daca matricele A, B I C
nn
comuta, atunci au un vector propriu comun.
64
Colect iile de funct ii MATLAB dedicate unor domenii specializate si nef ac and parte din setul
de baza al limbajului poarta numele consacrat de toolbox.
4.13. PROBLEME 361
P 4.8 Fie 1, 2 doua valori proprii distincte ale unei matrice A I C
nn
si x1 un vector
propriu la dreapta asociat lui 1, iar y2 un vector propriu la stanga asociat lui 2. Aratat i
ca cei doi vectori sunt ortogonali, i.e. y
H
2
x1 = 0.
P 4.9 Daca (A), este o valoare proprie simpla a unei matrice A I C
nn
si x, respectiv
y, sunt vectori proprii la dreapta, respectiv la stanga, asociat i lui , atunci y
H
x = 0. Dat i
un exemplu n care aceasta condit ie nu este satisfacuta daca nu este o valoare proprie
simpla.
P 4.10 Se considera o matrice A I C
nn
diagonalizabila. Aratat i ca exista vectorii
proprii (la dreapta) xi, i = 1 : n, si vectorii proprii la stanga yi, i = 1 : n, astfel ncat
A =
n
i=1
ixiy
H
i
.
P 4.11 Sa se demostreze lema 4.4.
P 4.12 Fie date o matrice A I C
nn
si un polinom p() =
n
+p1
n1
+. . . +pn1+pn.
Consideram matricea
P
def
= p(A) = A
n
+p1A
n1
+. . . +pn1A+pnIn.
Sa se arate ca daca i (A), atunci p(i) (P) si daca xi este un vector propriu al
matricei A, asociat valorii proprii i, atunci el este si vector propriu al matricei P asociat
valorii proprii p(i).
P 4.13 Fie date o matrice A I C
nn
si o funct ie rat ionala r() =
p()
q()
. Denim matricele
P
def
= p(A), Q
def
= q(A) si, daca Q este nesingulara, R
def
= Q
1
P. Aratat i ca daca i (A)
si xi este un vector propriu al matricei A asociat valorii proprii i, atunci r(i) (R),
iar xi este si vector propriu al matricei R asociat valorii proprii r(i).
P 4.14 Fie o matrice nesingulara A I C
nn
. Daca este o norma matriceala consistenta,
aratat i ca numarul de condit ionare la inversare (A)
def
= A A
1
satisface inegalitatea
(A)
max(|i(A)|)
min(|i(A)|)
.
P 4.15 a) O matrice patrata A se numeste nilpotenta daca exista un numar natural k
astfel ncat A
k
= 0. Aratat i ca o matrice nilpotenta are toate valorile proprii nule. Dat i un
exemplu de matrice nilpotenta nenula. b) O matrice A I C
nn
se numeste idempotenta
daca A
2
= A. Aratat i ca o matrice idempotenta nu poate avea alte valori proprii n afara
de 0 si 1. Dat i un exemplu de matrice idempotenta nenula si diferita de matricea unitate.
P 4.16 a) Cat i vectori proprii (la dreapta) liniar independent i poate avea o celula Jordan
J
=
_
_
1
1
.
.
. 1
_
de ordinul n? Dar la stanga ? b) Aratat i ca o celula Jordan
de ordin n 2 nu poate diagonalizata prin transformari de asemanare. c) Calculat i
expresia analitica a matricei J
k
unde J
astfel ncat J
k
sa e diagonalizabila ? d) Calculat i
expresia analitica a matricei J
1
, unde = 0. Este J
1
diagonalizabila ?
362 CAPITOLUL 4. VALORI SI VECTORI PROPRII
P 4.17 Ce rang (i.e. numarul maxim de linii sau coloane liniar independente) poate avea o
matrice superior Hessenberg H I C
nn
ireductibila (i.e. cu toate elementele subdiagonale
nenule)? Se poate diagonaliza o matrice superior Hessenberg ireductibila cu valori proprii
multiple? Justicat i raspunsul.
P 4.18 Fie o matrice A I C
nn
de forma
C =
_
_
p1 p2 pn1 pn
1 0 0 0
0 1 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 1 0
_
_
.
a) Sa se arate ca polinomul caracteristic al matricei A este
p() =
n
+p1
n1
+. . . +pn1 +pn.
b) Sa se arate ca matricea C este nesingulara daca si numai daca pn = 0 si n aceasta
situat ie sa se calculeze matricea C
1
. Care este polinomul caracteristic al matricei C
1
?
c) Presupunand ca radacinile i, i = 1 : n, ale polinomului p(), sunt cunoscute, sa se
calculeze cate un set de vectori proprii pentru matricele C si C
T
. d) Matricile C si C
T
poarta numele de matrice companion ale polinomului p(). Putet i preciza si alte matrice
care sa justice aceasta denumire?
P 4.19 a) Calculat i valorile si vectorii proprii pentru o matrice de rotat ie. b) Calculat i
valorile si vectorii proprii pentru un reector elementar.
P 4.20 Demonstrat i ca o matrice normala triunghiulara este diagonala.
In particular, o
matrice hermitica (simetrica) sau unitara (ortogonala) triunghiulara este diagonala.
P 4.21 Aratat i ca o matrice A IR
22
este normala daca si numai daca este simetrica
sau are structura A =
_
_
.
P 4.22 Demonstrat i urmatorul rezultat important. O matrice reala A IR
nn
este
normala daca si numai daca este ortogonal cvasi-diagonalizabila, i.e. exista o matrice or-
togonala Q IR
nn
astfel ncat Q
T
AQ = diag(A1, A2, . . . , Ap), unde Ai sunt blocuri reale
1 1 sau 2 2, cu blocurile 2 2 cu valori proprii complexe de forma Ai =
_
i i
i i
_
.
P 4.23 Se considera o matrice arbitrara A I C
nn
. Demonstrat i urmatoarele asert iuni.
a) Matricile F = A
H
+A, G = A
H
A, H = AA
H
sunt hermitice. b) Matricea K = AA
H
este antihermitica. c) Matricea A poate descompusa, n mod unic, n suma A = B+C,
unde B este hermitica (numita partea hermitica a lui A), iar C este antihermitica (numita
partea antihermitica a lui A). d) Matricea A poate descompusa, n mod unic, n suma
A = S +iT, unde S si T sunt matrice hermitice.
P 4.24 Fie A, B I C
nn
doua matrice hermitice si C, D I C
nn
doua matrice antiher-
mitice. Demonstrat i urmatoarele asert iuni. a) Matricile F = A + B, cu , IR,
G = A
k
, cu k IN
, K = C
2k
, si, daca A este nesingulara, L = A
1
sunt matrice her-
mitice. b) Matricile M = C +D, cu , IR, N = C
2k+1
si, daca C este nesingulara,
P = C
1
sunt matrice antihermitice.
4.13. PROBLEME 363
P 4.25 Demonstrat i ca o matrice A I C
nn
este normala daca si numai daca partea sa
hermitica (vezi problema 4.23) comuta cu partea sa antihermitica.
P 4.26 Aratat i ca o matrice A I C
nn
este normala daca si numai daca Ax2 = A
H
x2
pentru tot i x I C
n
.
P 4.27 Fie A I C
nn
si mult imea de indici I = { i1, i2, . . . , i
k
}, cu i1 < i2 < . . . < i
k
,
ij 1 : n. Matricea B = A(I, I) se numeste submatrice principala a lui A. a) Daca
matricea A este hermitica (antihermitica), atunci si B este hermitica (antihermitica).
b) Daca matricea A este normala, fara a hermitica sau antihermitica, este B normala ?
P 4.28 Fie A I C
nn
o matrice hermitica si x I C
n
un vector nenul, arbitrar, xat.
Notam =
x
H
Ax
x
H
x
catul Rayleigh asociat lui x. Aratat i ca ecare din intervalele (, ]
si [, ) cont in cel put in o valoare proprie a matricei A.
P 4.29 Fie o matrice hermitica A I C
nn
. Se numeste p-sect iune a lui A o matrice
(hermitica) B = Q
H
AQ I C
pp
, unde Q I C
np
este o matrice avand coloanele ortogonale
(i.e. satisface condit ia Q
H
Q = Ip). Aratat i ca daca spectrele (A) = { 1, 2, . . . , n } si
(B) = { 1, 2, . . . , p } sunt ordonate descrescator, atunci
k
k
, k = 1 : p, precum si
pk+1
nk+1
, k = 1 : p.
P 4.30 Fie A I C
nn
o matrice hermitica. Aratat i ca A are o valoare proprie situata n
intervalul [ a11 , a11 +], unde = A(1, 2: n)2.
P 4.31 Dat i doua exemple de matrice simetrice complexe, din care una sa e normala
si cealalta nu. Ret inet i din aceasta situat ie ca exista o diferent a esent iala ntre matricele
simetrice reale si matricele simetrice complexe
65
.
P 4.32 Fie A I C
nn
. Aratat i ca pentru orice scalar > 0 exista o norma matriceala
consistenta (posibil dependenta de A si ) pe I C
nn
astfel ncat
A (A) +,
unde (A) este raza spectrala a matricei A.
P 4.33 O matrice A I C
nn
se numeste convergenta daca lim
k
A
k
= 0. Demonstrat i
ca o matrice este convergenta daca si numai daca (A) < 1.
P 4.34 Sa se determine localizari pentru valorile proprii ale matricelor
A =
_
3 2 1
2 4 0
1 1 5
_
, B =
_
0 1 2
1 4 1
1 1 3
_
, C = A+ iB,
utilizand teorema discurilor lui Gershgorin.
P 4.35 Utilizand teorema discurilor lui Gershgorin, stabilit i o margine superioara pentru
raza spectrala a unei matrice. Comparat i acest rezultat cu cel oferit de teorema 4.10.
P 4.36 a) Fie A IR
nn
si o matrice diagonala de scalare D = diag(1, 2, . . . , n), i > 0,
i = 1 : n. Stabilit i localizarea spectrului matricei A aplicand teorema discurilor Gershgorin
matricei scalate B = D
1
AD. Poate scalarea sa conduca la o localizare mai buna ?
65
Pentru proprietat ile matricelor simetrice complexe se poate consulta [ II ].
364 CAPITOLUL 4. VALORI SI VECTORI PROPRII
b) Fie A IR
22
o matrice cu toate elementele pozitive. Sa se determine matricea
D =
= diag(
1,
2) astfel ncat
D
1
A
D = min
1
,
2
IR
+
D
1
AD, unde D = diag(1, 2).
Ce relat ie exista ntre acest minim si raza spectrala a matricei A? Renunt and la condit ia
ca elementele matricei A sa e pozitive, aratat i ca pentru matricea A =
_
2 2
3 4
_
avem
(A) < min
1
,
2
IR
+
D
1
AD.
P 4.37 Se considera matricea simetrica A =
_
5 8 8
8 7 16
8 16 7
_
. Folosind teorema
discurilor lui Gershgorin sa se extraga maximum de informat ie privind localizarea valorilor
proprii ale matricei A. Putet i mbunatat i localizarea prin scalare ?
P 4.38 Se spune ca o matrice A I C
nn
este (strict) diagonal dominanta daca |aii| ri
(|aii| > ri) pentru tot i i 1 : n, unde ri =
n
j=1
j=i
|aij| sunt razele discurilor Gershgorin.
a) Demonstrat i ca o matrice strict diagonal dominanta este nesingulara. b) Daca o matrice
strict diagonal dominanta are elementele diagonale reale si pozitive atunci Rei(A) > 0
pentru tot i i. c) Daca A I C
nn
strict diagonal dominanta este hermitica si aii > 0,
i = 1 : n, atunci i(A) > 0 pentru tot i i.
P 4.39 Demonstrat i inegalitat ile
a) |detA|
n
i=1
_
n
j=1
|aij|
_
, b) |detA|
n
j=1
_
n
i=1
|aij|
_
.
P 4.40 (Teorema lui Ostrovski) Fie A I C
nn
. Notam cu ri =
n
j=1
j=i
|aij| si, respectiv,
ci =
n
i=1
i=j
|aij|, razele discurilor Gershgorin pentru matricele A si, respectiv, A
T
. De
asemenea, e [0, 1] xat. Atunci (A) D, unde D este reuniunea discurilor
D =
n
_
i=1
Di, Di =
_
z I C | |z aii| r
i
c
1
i
_
.
P 4.41 (Teorema lui Brauer) Fie A I C
nn
. Atunci (A) D, unde D este reuniunea
celor
1
2
(n 1)n ovaluri Cassini denite de
D =
n
_
i,j=1
i=j
Oi, Oi = {z I C | |z aii||z ajj| rirj} ,
unde ri =
n
j=1
j=i
|aij|, i = 1 : n, sunt razele discurilor Gershgorin.
P 4.42 Calculat i forme Schur pentru matricele A =
_
1 2
2 3
_
, B =
_
1 1
1 1
_
,
C = A + iB.
In cazul matricelor reale determinat i atat formele Schur reale cat si cele
complexe.
4.13. PROBLEME 365
P 4.43 Fie matricea A I C
nn
si U I C
nk
o matrice cu coloanele ortogonale (i.e.
U
H
U = I
k
). Daca funct ia f : I C
kk
IR+ este denita de f(X) = AU UXF , aratat i
ca f admite un minim care se atinge pentru X = U
H
AU. Care este valoarea acestui
minim?
P 4.44 Presupunem ca matricea A I C
nn
are valorile proprii distincte si ca B I C
nn
comuta cu A, i.e. AB = BA. Aratat i ca daca Q
H
AQ = S este descompunerea Schur a lui
A, atunci T = Q
H
BQ este superior triunghiulara.
P 4.45 a) Dat un vector nenul x I C
n
, elaborat i un algoritm de calcul al unui vector
v I C
n
astfel ncat v
H
x = 1. b) Presupunem ca matricea A I C
nn
are valorile proprii
i, i = 1 : n, iar xi, i = 1 : n, sunt vectori proprii asociat i. Fie un vector v I C
n
astfel
ncat v
H
x1 = 1 si matricea B = (In x1v
H
)A. Aratat i ca (B) = { 0, 2, . . . , n }, iar
vectorii x
B
1
= x1, x
B
i
= xi (v
H
1
xi)x1 formeaza un set de vectori proprii ai matricei B.
P 4.46 a) Fie doi vectori nenuli x, y I C
n
astfel ncat y
H
x = 1. Demonstrat i existent a
si stabilit i un mod de calcul al matricelor X, Y I C
nn
care satisfac condit iile Xe1 = x,
Y e1 = y si Y
H
X = In. b) Fie A I C
nn
, o valoare proprie simpla a lui A si x, y vectorii
proprii la dreapta, respectiv la stanga, ai lui A asociat i lui . Demonstrat i existent a si
stabilit i un mod de calcul al matricei X I C
nn
care realizeaza o deat ie diagonala, i.e.
X
1
AX =
_
0
0 B
_
. c) Presupunand ca dispunet i de o procedura de calcul al unui
vector propriu al unei matrice date, avand sintaxa x = vp(A), elaborat i un algoritm de
diagonalizare a unei matrice A I C
nn
simple.
P 4.47 a) Care va rezultatul aplicarii metodei puterii matricei A =
_
5 8 1
0 1 2
0 0 2
_
?
b) Discutat i, n raport cu parametrii reali si , rezultatul aplicarii metodei puterii
matricei B =
_
1 1
0 1
0 1 1
_
.
P 4.48 Presupunem can locul condit iei de terminare a iterarii din algoritmii 4.1 si 4.2, de
implementare a metodei puterii si, respectiv, a metodei puterii inverse, utilizat i condit ia
ca norma diferent ei dintre vectorii calculat i la doi pasi consecutivi sa devina inferioara
unei tolerant e impuse, i.e.
e
k
= y
(k)
y
(k1)
< tol.
Scriet i, n limbajul de programare preferat, programe pentru implementarea algoritmilor
ment ionat i si testat i-le pe mai multe exemple. Putet i explica de ce o astfel de condit ie de
trunchiere nu funct ioneaza ntodeauna pentru sirurile de vectori a caror direct ie converge,
totusi, catre o direct ie proprie? Considerat i atat cazul real cat si cel complex.
P 4.49 Presupunand ca dispunet i de o procedura de calcul al unui vector propriu al unei
matrice A I C
nn
date, procedura avand sintaxa x = vp(A), elaborat i un algoritm de
calcul al unei formei Schur a matricei A. Ce relat ie exista ntre vectorii proprii utilizat i
pentru calculul formei Schur si cei ai matricei A ?
P 4.50 Elaborat i un algoritm pentru reducerea unei matrice A IR
nn
la forma superior
Hessenberg H = TAT
1
, unde T este o secvent a de transformari elementare stabilizate
MiPi, i = 2 : n 1 (de tipul celor utilizate, de exemplu, la eliminarea gaussiana).
366 CAPITOLUL 4. VALORI SI VECTORI PROPRII
P 4.51 Presupunem A I C
nn
si z I C
n
date. Elaborat i un algoritm pentru calculul unei
matrice unitare (n cazul real, ortogonale) Q astfel ncat Q
H
AQ este superior Hessenberg
si Q
H
z este coliniar cu vectorul e1.
P 4.52 Fie H IR
nn
o matrice superior Hessenberg. Scriet i un algoritm care sa testeze
daca H este n forma Schur reala.
P 4.53 Elaborat i un algoritm pentru calculul valorilor si vectorilor proprii ai matricei
A = In +uv
H
, unde u, v I C
n
sunt vectori nenuli dat i.
P 4.54 Se considera data o pereche (valoare proprie, vector propriu asociat)= (, x) reala
a unei matrice H IR
nn
superior Hessenberg. Elaborat i un algoritm de calcul al unei
matrice ortogonale Q astfel ncat matricea Q
T
HQ sa aiba structura Q
T
HQ =
_
f
T
0 G
_
,
unde matricea G IR
(n1)(n1)
este n forma superior Hessenberg.
P 4.55 Fie matricea superior Hessenberg H IR
nn
si urmatoarea procedura recurenta
de calcul al matricei succesor H H
:
1. Se aplica matricei H procedura de triangularizare prin eliminare gaussiana cu pi-
votare part iala Mn1Pn1 . . . M1P1H = R, unde P
k
sunt matrice de permutare
elementare, M
k
matrice inferior triunghiulare elementare, iar R este o matrice su-
perior triunghiulara.
2. H H
= RP1M
1
1
. . . Pn11M
1
n1
,
care deneste o iterat ie a algoritmului LR modicat (un precursor al algoritmului QR).
Aratat i ca matricea succesor H
= L
T
L.
Ce constatat i? b) Aratat i ca n cazul n = 2 si t11 t22 sirul matricelor T calculat de
algoritmul de la punctul a) converge catre = diag(1, 2), unde {1, 2} = (T).
P 4.63 a) Se considera o matrice tridiagonala simetrica T IR
nn
. Sa se arate ca daca
T are valori proprii multiple, atunci T nu poate ireductibila. Mai mult, sa se arate ca
daca T are o valoare proprie cu ordinul de multiplicitate k 2, atunci are cel put in k 1
elemente subdiagonale (si, corespunz ator, cele simetrice supradiagonale) nule. b) Aplicat i
algoritmul TQ de reducere la forma tridiagonala unei matrice simetrice avand o valoare
proprie multipla. Ce constatat i ? Putet i da o justicare celor constatate ?
P 4.64 Fie o matrice simetrica A IR
nn
si o iterat ie Jacobi A A
= J
T
AJ, unde
J(p, q, ) este o rotat ie plana de unghi n planul (p, q). Sa se arate ca, pentru ntregii p si
q xat i, rotat ia care anuleaza elementele A(p, q) si A(q, p) asigura minimizarea, n raport
cu unghiul , a normei Frobenius a matricei elementelor extradiagonale ale matricei A
.
P 4.65 a) Fie date A =
_
_
IR
22
, cu (A) = { 1, 2 }, si un scalar real .
Aratat i ca, daca [1, 2], atunci exista o rotat ie Jacobi reala J =
_
c s
s c
_
astfel
ncat (J
T
AJ)(1, 1) = . b) Consideram matricea simetrica A IR
nn
. Elaborat i un
algoritm de calcul al unei secvent e de rotat ii Jacobi Q = J1J2 . . . , astfel ncat matricea
B = Q
T
AQ sa aibe toate elementele diagonale egale b11 = b22 = . . . = bnn =
1
n
tr(A) =
=
1
n
n
i=1
i(A).
368 CAPITOLUL 4. VALORI SI VECTORI PROPRII
P 4.66 Elaborat i algoritmi tip Jacobi pentru calculul valorilor proprii ale unei matrice
antihermitice (antisimetrice).
P 4.67 Fie matricea A =
_
1 + 1
0 1
_
IR
22
, cu 0 < 1. Sa se calculeze
numarul de condit ionare al celor doua valori proprii si al spectrului matricei A. Ce se
ntampla daca 0 ?
P 4.68 Sa se arate ca sensibilitatea unei valori proprii simple
k
(A) n raport cu
variat iile elementului aij = A(i, j) este data de
k
aij
=
y
k
(i)x
k
(j)
y
H
k
x
k
,
unde x
k
si y
k
sunt vectori proprii la dreapta, respectiv la stanga, ai matricei A asociat i
valorii proprii
k
.
P 4.69 Fie matricea bidiagonala A IR
nn
A =
_
_
n n 0 0 0
0 n 1 n 0 0
0 0 n 2
.
.
. 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0 2 n
0 0 0 0 1
_
_
.
Sa se calculeze numarul de condit ie al valorii proprii
k
= k. Pentru n = 20 sa se dea o
evaluare a numarului de condit ie pentru valorile proprii 1 = 1 si 20 = 20. Pentru acelasi
n = 20 sa se calculeze, cu ajutorul funct iei eig din MATLAB, valorile proprii ale matricei
_
n n 1 n 2 2 1
n 1 n 1 n 2 2 1
0 n 2 n 2
.
.
. 2 1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0
.
.
. 2 1
0 0 0 1 1
_
_
.
a) Aratat i ca detA = 1. b) Fie matricea perturbata F = A + E, unde E = G, cu
matricea G avand un singur element nenul G(n, 1) = 1. Aratat i ca detF = 1 (n 1)!.
Evaluat i detF pentru n = 20 si = 10
10
. c) Pentru n = 10, calculat i cu ajutorul funct iei
eig din MATLAB, vectorii proprii la stanga si la dreapta si, pe aceasta baza, numerele de
condit ionare
max
si
min
ale valorilor proprii maxima si, respectiv, minima ale matricei
A. Ce constatat i ?
P 4.71 a) Elaborat i un algoritm performant de calcul al polinomului caracteristic al unei
matrice.
b) Elaborat i un algoritm performant de rezolvare a ecuat iilor algebrice, i.e. a ecuat iilor
de tipul p() = 0 unde p este un polinom cu coecent i reali sau complecsi.
Capitolul 5
Descompunerea valorilor
singulare
Descompunerea valorilor singulare (DVS) joaca un rol fundamental n evident ierea
proprietat ilor structurale legate nemijlocit de conceptul de rang matriceal.
In con-
textul calcului numeric se impune o reevaluare a not iunii de rang ntrucat, da-
torita tolerant elor admise, denirea uzuala capata un caracter ambiguu.
In aceste
circumstant e, devine utila introducerea conceptului de distant a pana la o matrice
de rang imediat inferior si a not iunii pragmatice de rang numeric.
Calculul DVS este intim legat de conceptul de ortogonalitate ind bazat, n
exclusivitate, pe utilizarea transformarilor unitare (ortogonale). Acest fapt induce
calitat i numerice remarcabile tuturor procedurilor de rezolvare a problemelor ce
apeleaza la DVS.
Intr-o astfel de situat ie, daca matricele S si T sunt ortogonale vom spune ca A si
B sunt ortogonal echivalente.
In vederea determinarii rangului unei matrice date vom urma o cale deja familiara
din capitolele precedente, respectiv, vom calcula o matrice de acelasi rang cu ma-
tricea data la care rangul sa poata evaluat prin simpla inspect ie. Astfel de matrice
sunt matricele cu structura diagonala la care rangul este, evident, egal cu numarul
elementelor diagonale nenule. Din motive de abilitate numerica ne vom restrange
la utilizarea transformarilor unitare, respectiv ortogonale n cazul real.
Avem urmatorul rezultat important.
Teorema 5.1 (Descompunerea valorilor singulare - DVS) Daca A I C
mn
,
atunci exista matricele unitare U I C
mm
si V I C
nn
astfel ncat
U
H
AV = =
_
1
0
0 0
_
, (5.3)
unde
1
= diag(
1
,
2
, ...,
r
) IR
rr
, (5.4)
cu
1
2
...
r
> 0. (5.5)
Expresia
A = UV
H
(5.6)
deneste descompunerea valorilor singulare a matricei A. Numerele nenegative
i
,
i = 1 : p, p = min(m, n) (
i
= 0, i = r +1 : p) se numesc valori singulare ale
matricei A. Coloanele matricei unitare U se numesc vectori singulari la stanga, iar
coloanele lui V se numesc vectori singulari (la dreapta) ai matricei A.
V
1
I C
n(n1)
completari ale vectorilor u
1
si v
1
pana la matrice unitare
3
, i.e. astfel
ncat matricele U
1
=
_
u
1
U
1
, V
1
=
_
v
1
V
1
sa e unitare. Atunci
(1)
def
= U
H
1
AV
1
=
_
u
H
1
Av
1
u
H
1
A
V
1
U
H
1
Av
1
U
H
1
A
V
1
_
=
_
1
w
H
0 B
1
_
,
ntrucat
U
H
1
Av
1
=
U
H
1
u
1
|A|
2
= 0 si unde am utilizat notat iile evidente
1
def
= u
H
1
Av
1
= |A|
2
(5.7)
si w
H
def
= u
H
1
A
V
1
, B
1
def
=
U
H
1
A
V
1
.
In continuare, ntrucat transformarile unitare
conserva norma spectrala, avem |
(1)
|
2
= |A|
2
=
1
si
_
_
_
_
(1)
_
1
w
__
_
_
_
2
2
=
_
_
_
_
_
2
1
+w
H
w
B
1
w
__
_
_
_
2
2
= (
2
1
+w
H
w)
2
+|B
1
w|
2
2
(
2
1
+|w|
2
2
)
2
.
Pe de alta parte, datorita consistent ei normei spectrale, avem
_
_
_
_
(1)
_
1
w
__
_
_
_
2
2
|
(1)
|
2
2
_
_
_
_
_
1
w
__
_
_
_
2
2
=
2
1
(
2
1
+|w|
2
2
).
Rezulta
2
1
+|w|
2
2
2
1
, i.e. |w|
2
= 0 sau w = 0. Deci
(1)
= U
H
1
AV
1
=
_
1
0
0 B
1
_
(5.8)
si obiectivul primului pas este atins.
Pasul k
(k1)
= U
H
k1
U
H
2
U
H
1
AV
1
V
2
V
k1
=
_
(k1)
1
0
0 B
k1
_
,
unde
(k1)
1
= diag(
1
,
2
, . . . ,
k1
), cu
1
2
. . .
k1
> 0. Daca B
k1
=
0, atunci r = k 1 si procedura este ncheiata. Daca B
k1
,= 0, atunci cu
argumentele de la pasul 1 exista matricele unitare
U
k
si
V
k
astfel ncat
U
H
k
B
k1
V
k
=
_
k
0
0 B
k
_
,
k
= |B
k1
|
2
> 0. (5.9)
3
Pentru argumentarea existent ei acestor complet ari si a modalit at ilor de calcul, vezi observat ia
4.3 din capitolul 4.
372 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
Denind matricele unitare U
k
= diag(I
k1
,
U
k
), V
k
= diag(I
k1
,
V
k
) rezulta
(k)
= U
H
k
(k1)
V
k
=
_
(k)
1
0
0 B
k
_
, (5.10)
cu
(k)
1
= diag(
1
,
2
, . . . ,
k
).
Pentru a ncheia demonstrat ia este sucient sa aratam ca
k
k1
. Din
expresia (5.9), scrisa pentru pasul k 1, avem
k1
= |B
k2
|
2
=
_
_
_
_
_
k1
0
0 B
k1
__
_
_
_
2
|B
k1
|
2
=
k
.
(r)
= U
H
r
U
H
2
U
H
1
AV
1
V
2
V
r
= U
H
AV =
_
(r)
1
0
0 0
_
, (5.11)
unde
U = U
1
U
2
...U
r
, V = V
1
V
2
...V
r
(5.12)
sunt matrice unitare. Cu
1
def
=
(r)
1
si
def
=
(r)
obt inem (5.3). Demonstrat ia este
completa.
In cazul matricelor reale cursul demonstrat iei este identic cu ment iunea ca n
locul transformarilor complexe se utilizeaza transformari reale, i.e. ortogonale. 3
Exemplul 5.1 Este usor de vericat ca matricea
A =
_
1.60 0.36 0.48
1.20 0.48 0.64
_
admite o DVS A = UV
T
denita de
U =
_
0.8 0.6
0.6 0.8
_
, =
_
2 0 0
0 1 0
_
, V =
_
_
1 0 0
0 0.6 0.8
0 0.8 0.6
_
_
si are, evident, valorile singulare
1
= 2 si
2
= 1. Matricea B = A
T
are, la fel de
evident, aceleasi valori singulare si B = V
T
U
T
este o DVS a sa. Valorile singulare
ale unei matrice reale au o interpretare interesanta n geometria spat iului euclidian.
Concret, valorile singulare nenule ale matricei A IR
mn
sunt lungimile semiaxelor
hiperelipsoidului c = Ao ImA IR
m
unde o este hipersfera cu centrul n origine
si de raza unitara din IR
n
, i.e.
c = y IR
m
[ y = Ax, x IR
n
, |x|
2
= 1.
`
>
>
>
>
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
1
=2
`
2
=1
/
/
/
/
/
/
1
=2
`
-
2
=1
0
x
1
x
2
1
0
x
1
x
2
x
3
1
y
1
y
2
y
3
y
1
y
2
IR
2
c
A
IR
3
c
B
ImA = IR
2
ImA
T
IR
3
1
V
H
1
=
r
j=1
j
u
j
v
H
j
, (5.14)
unde matricele W
j
def
= u
j
v
H
j
, j = 1 : r poarta numele de componente principale ale
matricii A.
Corolar 5.2 Fie o matrice A I C
mn
cu rangA = r. Atunci exista matricele
nesingulare S I C
mm
si T I C
nn
astfel ncat
SAT =
_
I
r
0
0 0
_
, (5.15)
374 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
i.e. orice matrice este echivalenta cu o matrice cu structura din (5.15).
Demonstrat ie. Fie A = U
H
V DVS a matricei A si matricele nesingulare P, R
I C
rr
astfel ncat P
1
R = I
r
, e.g. P = R =
1
2
1
def
= diag(
1
2
1
,
1
2
2
, . . . ,
1
2
r
).
Atunci (5.15) este satisfacuta, de exemplu, de catre matricele nesingulare S =
= diag(P, I
mr
)U
H
si T = V diag(R, I
nr
). 3
Vom nota cu (A) mult imea valorilor singulare ale matricei A. Rescriind (5.3)
n forma AV = U sau A
H
U = V
T
obt inem imediat relat iile
Av
j
=
j
u
j
, A
H
u
j
=
j
v
j
, j = 1 : p, p = min(m, n), (5.16)
care indica o analogie cu denirea vectorilor proprii ale unei matrice patrate si
constituie o justicare pentru denumirea de vectori singulari data coloanelor u
j
,
respectiv v
j
, ale matricelor U si V care denesc DVS. Mai mult, vectorii singulari
din (5.16) sunt efectiv vectori proprii ai unor matrice derivate din matricea A (vezi
teorema urmatoare). De remarcat si faptul ca, desi echivalent a (5.15) apare ca o
reducere completa dictata de necesitat ile de evident iere a rangului unei matrice,
echivalent a unitara (ortogonala) care deneste DVS ofera, prin valorile si vectorii
singulari, o informat ie mult mai bogata, utila n numeroase evaluari cantitative.
Demonstrat ia prezentata pentru teorema 5.1 nu are un caracter constructiv
ntrucat calculul vectorului pentru care se realizeaza norma spectrala prezinta di-
cultat i majore. Alegerea acestei demonstrat ii se datoreaza ordonarii naturale a va-
lorilor singulare si evident ierii conexiunii stranse dintre valorile singulare si norma
spectrala.
O modalitate de calcul al DVS este oferita de urmatorul rezultat.
Teorema 5.2 Valorile singulare nenule ale matricei A I C
mn
sunt radacinile
patrate (pozitive) ale valorilor proprii nenule ale matricelor hermitice pozitiv semi-
denite
B = A
H
A I C
nn
sau C = AA
H
I C
mm
, (5.17)
i.e. daca
1
2
r
> 0, sunt cele r valori proprii nenule ale lui B (sau
C), atunci
i
=
_
i
, i = 1 : r. (5.18)
Mai mult, vectorii singulari la stanga u
i
= Ue
i
, i = 1 : m, sunt vectori proprii ai
matricei C, iar vectorii singulari (la dreapta) v
j
= V e
j
, j = 1 : m, sunt vectori
proprii ai matricei B.
In cazul real, asert iunile de mai sus sunt adevarate, cu ment iunea ca matricele
B si C sunt simetrice pozitiv semidenite.
Demonstrat ie. Din (5.3) obt inem
B = A
H
A = V
T
U
H
UV
H
= V
T
V
H
= V
_
2
1
0
0 0
_
V
H
,
C = AA
H
= UV
H
V
T
U
H
= U
T
U
H
= U
_
2
1
0
0 0
_
U
H
.
(5.19)
5.1. FORMULAREA PROBLEMEI 375
Prin urmare, matricea B este unitar asemenea cu matricea diagonala S
1
=
T
=
= diag(
2
1
,
2
2
, . . . ,
2
r
, 0, . . . , 0), respectiv matricea C este unitar asemenea cu ma-
tricea diagonala S
2
=
T
= diag(
2
1
,
2
2
, . . . ,
2
r
, 0, . . . , 0), de unde rezulta imediat
toate asert iunile teoremei. 3
Un rezultat similar, care conexeaza valorile singulare ale unei matrice cu valorile
proprii ale altei matrice, este prezentat n propozit ia urmatoare.
Propozit ia 5.1 Fie matricea A I C
mn
, p = min(m, n) si
1
,
2
, . . . ,
p
valorile
singulare ale matricei A. Atunci valorile proprii ale matricei
F =
_
0 A
A
H
0
_
(5.20)
sunt
1
,
2
, . . . ,
p
,
1
,
2
, . . . ,
p
si [mn[ valori proprii nule.
Demonstrat ie. Consideram cazul m n (cazul m < n se trateaza absolut
similar). Fie A = UV
H
DVS a matricei A, S
def
= (1 : n, :),
U
def
=
1
2
U(1 : n, :),
U
def
= U(n+1 : m, :) si
V
def
=
1
2
V . Atunci, prin calcul direct, se constata ca matricea
Q
def
=
_
U
U
U
V
V 0
_
I C
(m+n)(m+n)
(5.21)
este unitara si ca
G = Q
H
FQ =
_
_
S 0 0
0 S 0
0 0 0
_
_
. (5.22)
Cum (F) = (G) si S = diag(
1
,
2
, . . . ,
n
), propozit ia este demonstrata. 3
Observat ia 5.1 Teorema 5.1 arata ca orice matrice admite o DVS dar nu arma
nimic despre unicitatea acestei descompuneri. Utilizand si teorema 5.2 putem sa
facem cateva considerat ii asupra acestui aspect.
V = V (:, 1 : m) daca m n
,
(5.23)
putem sa scriem
A = U
1
V
H
1
V
1
1
V
H
1
= WP
1
sau A = U
1
1
U
H
1
U
1
V
H
1
= P
2
W, (5.24)
unde
W
def
= U
1
V
H
1
I C
mn
, P
1
def
= V
1
1
V
H
1
I C
nn
, P
2
def
= U
1
1
U
H
1
I C
mm
(5.25)
si
A =
_
USV
H
=
UV
H
V SV
H
= Y P
1
daca m n
US
V
H
= USU
H
U
V
H
= P
2
Z daca m n
, (5.26)
unde
Y
def
=
UV
H
I C
mn
, Z
def
= U
V
H
I C
mn
. (5.27)
Este usor de constatat ca matricele P
1
si P
2
sunt hermitice si pozitiv semidenite cu
rangP
1
= rangP
2
= rangA, Y este o matrice cu coloanele ortogonale (i.e. Y
H
Y =
= I
n
), Z este o matrice cu liniile ortogonale (i.e. ZZ
H
= I
m
) si, n consecint a,
matricele Y si Z au norma spectrala unitara.
In cazul real, evident, matricele W,
P
1
, P
2
, Y si Z pot reale.
Putem introduce urmatoarea denit ie.
Denit ia 5.3 Factorizarea
A =
_
Y P
1
daca m n
P
2
Z daca m n
(5.28)
5.1. FORMULAREA PROBLEMEI 377
unde matricele P
1
, P
2
, Y si Z sunt cele denite mai sus, se numeste descompunerea
polara
5
a matricei A.
Fie matricele hermitice, pozitiv semidenite B = A
H
A, C = AA
H
si descompune-
rile lor spectrale B = V
B
V
H
si C = U
C
U
H
, unde
B
= diag(
1
,
2
, . . . ,
n
),
C
= diag(
1
,
2
, . . . ,
m
), cu tot i
i
nenegativi. Denim B
1
2
def
= V
1
2
B
V
H
def
=
def
= V diag(
1
,
2
, . . . ,
n
)V
H
si, similar, C
1
2
def
= U
1
2
A
U
H
.
Se poate arata (exercit iu pentru cititor) ca matricele P
1
si P
2
din descompunerea
polara sunt unic determinate de P
1
= (A
H
A)
1
2
, respectiv de P
2
= (AA
H
)
1
2
, iar
matricele Y si Z sunt unic determinate daca r = n, respectiv r = m.
5.1.3 Descompunerea CS
_
_
_
C S 0
S C 0
0 0 I
lk
_
_
pt. k l
_
_
I
kl
0 0
0 C S
0 S C
_
_
pt. k > l
(5.30)
unde
C = diag(c
1
, c
2
, . . . , c
p
) IR
pp
cu c
1
c
2
. . . c
p
,
S = diag(s
1
, s
2
, . . . , s
p
) IR
pp
cu s
1
s
2
. . . s
p
,
(5.31)
p = min(k, l) si c
2
i
+s
2
i
= 1, i = 1: p , i.e. c
i
si s
i
pot scrise sub forma
c
i
= cos
i
, s
i
= sin
i
, cu 0
1
2
. . .
p
2
. (5.32)
Egalitatea (5.30) se numeste descompunerea CS a matricei unitare Q.
In cazul real, i.e. atunci cand Q este ortogonala, matricele de transformare bloc
diagonale pot reale, i.e. ortogonale.
5
Denumirea de descompunere polar a este justicat a de analogia cu reprezentarea polar a
z = e
i
a numerelor complexe, la care factorul este nenegativ, iar factorul e
i
are modulul
unitar.
6
Denumirea CS provine de la init ialele funct iilor cosinus si sinus, matricea ortogonal a trans-
formata avand aspectul unei rotat ii generalizate (vezi mai departe).
378 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
Demonstrat ie. Consideram cazul k l = nk. Fie Q
11
= U
1
CV
H
1
DVS a blocului
Q
11
unde C = diag(c
1
, c
2
, . . . , c
k
) cu 1 c
1
c
2
. . . c
k
0, prima inegalitate
datorandu-se faptului ca
1
(Q) = 1 si c
1
=
1
(Q
11
)
1
(Q) (vezi exercit iul 5.7).
Consideram acum matricea
Q =
_
U
H
1
0
0 I
l
_
Q
_
V
1
0
0 I
l
_
=
_
C U
H
1
Q
12
Q
21
V
1
Q
22
_
,
care este unitara ca produs de matrice unitare. Din egalitatea blocurilor
11
din
relat ia
Q
H
Q = I
n
obt inem
V
H
1
Q
H
21
Q
21
V
1
= I
k
C
2
def
= S
2
= diag(s
2
1
, s
2
2
, . . . , s
2
k
),
cu s
2
i
= 1 c
2
i
, i = 1: k. Luand s
i
=
_
1 c
2
i
, obt inem 0 s
1
s
2
. . . s
k
1.
Q =
_
U
H
1
0
0 U
H
2
_
Q
_
V
1
0
0 I
l
_
=
_
_
C U
H
1
Q
12
_
S
0
_
U
H
2
Q
22
_
_
este unitara. Egalitatea blocurilor
22
din
Q
Q
H
= I
n
conduce la
U
H
2
Q
22
Q
H
22
U
2
= I
l
_
S
2
0
0 0
_
=
_
C
2
0
0 I
lk
_
.
In sfarsit, notand U
def
= diag(U
1
, U
2
), V
def
= diag(V
1
, V
2
) obt inem urmatoarea
structura a matricei W
W = U
H
QV =
_
_
C X Y
S C 0
0 0 I
kl
_
_
,
unde [ X Y ]
def
= U
H
1
Q
12
V
2
.
Rezultatul urmarit se obt ine imediat din faptul ca matricea W este unitara, din
egalitatea W
H
W = I
n
rezultand X = S si Y = 0.
In cazul real toate transformarile unitare utilizate pot luate ortogonale, cursul
demonstrat iei ind identic. 3
5.1.4 Descompunerea valorilor singulare generalizate
O generalizare posibila a descompunerii valorilor singulare este diagonalizarea si-
multana a doua matrice sau, echivalent, diagonalizarea unui fascicol matriceal, prin
transformari de echivalent a. Condit iile n care acest demers este posibil sunt enun-
t ate n teorema de mai jos.
Teorema 5.4 Descompunerea valorilor singulare generalizate (DVSG). Fie ma-
tricele A I C
mn
cu m n si B I C
pn 9
astfel ncat KerAKerB = 0. Atunci
exista matricele unitare U I C
mm
si V I C
pp
precum si matricea nesingulara
W I C
nn
astfel ncat
U
H
AW =
_
C
0
_
, V
H
BW =
_
_
_
S
0
_
pentru p n
_
0 S
pentru p < n
(5.33)
unde
C = diag(c
1
, c
2
, . . . , c
n
) IR
nn
cu 1 c
1
c
2
. . . c
p
0,
S =
_
_
diag(s
1
, s
2
, . . . , s
n
) IR
nn
cu 0 s
1
s
2
. . . s
n
1, pt. p n
diag(s
np+1
, s
np+2
, . . . , s
n
) IR
pp
cu 0 = s
1
= s
2
= . . . = s
np
s
np+1
. . . s
n
1, pt. p < n
(5.34)
cu c
2
i
+ s
2
i
= 1, i = 1 : n
10
. Perechile (c
i
, s
i
), i = 1 : n denesc valorile singu-
lare generalizate ale perechii (A, B), mai exact perechile (c
i
, s
i
) cu s
i
= 0 denesc
9
Teorema este enunt ata pentru cazul a dou a matrice cu acelasi num ar de coloane. Se poate
da si o formulare pentru doua matrice A si B cu acelasi num ar de linii, formulare care se poate
obt ine aplicand enunt ul de mai sus matricelor A
H
si B
H
. L as am detaliile n sarcina cititorului
interesat.
10
In cazul p < n avem c
1
= c
2
= . . . = c
np
= 1 si, de aceea, am introdus n (5.34), prin
convent ie si pentru comoditatea notat iilor, numerele s
1
= s
2
= . . . = s
np
= 0. De asemenea,
n aceeasi situat ie, vom conveni sa extindem termenul de structur a diagonal a pentru matricea
[ 0 S ] (n unele lucrari [ VI ] , n cazul p < n, matricea V
H
BW are structura [ S 0 ] cu S diagonal a
dar pret ul platit este pierderea ordon arii elementelor diagonale ale matricelor C si S).
380 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
valorile singulare generalizate innite, iar
i
=
c
i
s
i
IR, s
i
,= 0, (5.35)
sunt valorile singulare generalizate nite. Coloanele w
i
ale matricei nesingulare W
se numesc vectori singulari generalizat i ai perechii (A, B) asociat i valorilor singulare
generalizate
i
.
In cazul real, matricele de transformare pot alese reale, i.e. W reala nesingu-
lara, iar U si V ortogonale.
Demonstrat ie. Este usor de constatat ca ipoteza KerAKerB = 0 este echiva-
lenta cu faptul ca matricea
F
def
=
_
A
B
_
I C
(m+p)n
(5.36)
este monica (i.e. are coloanele liniar independente). Fie F = QR factorizarea QR
a matricei F, unde Q I C
(m+p)n
este o matrice avand coloanele ortogonale (i.e.
Q
H
Q = I
n
), iar R I C
nn
este superior triunghiulara si, n virtutea monicitat ii lui
F, nesingulara. De asemenea, e urmatoarea partit ie a matricei Q
Q =
_
Q
1
Q
2
_
, Q
1
I C
mn
, Q
2
I C
pn
.
Q =
_
U
H
0
0 I
p
_
QZ =
_
C
Q
2
Z
_
care are, si ea, coloanele ortogonale, i.e.
Q
H
Q = I
n
, relat ie din care rezulta
Z
H
Q
H
2
Q
2
Z = I
n
C
2
def
= S
2
, (5.37)
unde S
2
= diag(s
2
1
, s
2
2
, . . . , s
2
n
) cu s
2
i
= 1 c
2
i
, i = 1 : n. Alegand s
i
=
_
1 c
2
i
rezulta S = diag(s
1
, s
2
, . . . , s
n
) cu 0 s
1
s
2
. . . s
p
1.
In continuare
distingem doua situat ii:
a) Matricea S este nesingular a (condit ie posibila numai daca p n).
In acest
caz, din (5.37) avem S
1
Z
H
Q
H
2
Q
2
ZS
1
= I
n
, i.e. matricea V
1
= Q
2
ZS
1
I C
pn
are coloanele ortogonale si poate completata pana la o matrice unitara, i.e. exista
matricea V
2
I C
p(pn)
astfel ncat matricea V = [ V
1
V
2
] I C
pp
este unitara.
Rezulta
S
def
= V
H
Q
2
Z = V
H
V
1
S =
_
S
0
_
,
5.1. FORMULAREA PROBLEMEI 381
relat ie cu care obt inem
Q =
_
U
H
0
0 V
H
_
QZ =
_
C
S
_
, (5.38)
de unde
F =
_
A
B
_
= QR =
_
U 0
0 V
_ _
C
S
_
Z
H
R =
_
U
CZ
H
R
V
SZ
H
R
_
. (5.39)
S
def
= V
H
Q
2
Z=V
H
X=[ 0 V
H
X
2
] =
_
_
0 V
H
1
X
2
0 V
H
2
X
2
0 V
H
3
X
2
_
_
=
_
_
0 0
0
S
0 0
_
_
=
_
S
0
_
n
p n
,
relat ie cu care se obt ine imediat (5.38) si apoi, cu aceleasi argumente, (5.33). q.e.d.
b2)
S
def
= V
H
Q
2
Z=V
H
X=[ 0 V
H
X
2
] =
_
0 V
H
1
X
2
0 V
H
2
X
2
_
=
_
0 0 0
0 0
S
_
=
_
0 S
In cazul real, toate transformarile part iale pot alese reale si, n consecint a, toate
rezultatele part iale ca si cele nale sunt reale. Cu aceasta observat ie demonstrat ia
este completa. 3
Observat ia 5.2 DVSG poate denita si n situat ia n care KerAKerB ,= 0,
i.e. matricea F din (5.36) nu este monica.
In acest caz, utilizand triangularizarea
unitara cu pivotarea coloanelor (vezi cap. 3), obt inem
F =
_
A
B
_
= Q
_
R T
P
T
,
unde Q I C
(m+p)k
cu k < n are coloanele ortogonale, R I C
kk
este superior
triunghiulara nesingulara iar P IR
nn
este o matrice de permutare. Aplicand
teorema de mai sus matricei G = QR I C
(m+p)k
, e.g. n cazul cu matricea S
IR
kk
nesingulara, conform (5.39), obt inem
G = QR =
_
U
C
V
S
_
W
1
si, deci,
_
A
B
_
=G
_
I
k
R
1
T
P
T
=
_
U
C
V
S
_
_
W
1
W
1
R
1
T
P
T
=
_
U[
C 0 ]
V [
S 0 ]
_
W
1
unde W = P
_
W
1
W
1
R
1
T
0 M
_
1
este o matrice n n nesingulara (M ind o
matrice nesingulara (nk)(nk) arbitrara de completare). Rezulta urmatoarea
forma a relat iei (5.33)
U
H
AW =
_
C 0
0 0
_
, V
H
BW =
_
S 0
0 0
_
, (5.41)
cele n k coloane nule corespunzand subspat iului KerA KerB. 3
Am vazut ca valorile singulare ordinare ale unei matrice A sunt radacinile patrate
ale valorilor proprii ale matricelor hermitice pozitiv semidenite A
H
A sau AA
H
(vezi
teorema 5.2). Se poate stabili o legatura similara si ntre valorile singulare gene-
ralizate si valorile proprii generalizate ale unui fascicol hermitic pozitiv semidenit
12
. Concret, avem urmatorul rezultat pe care l formulam utilizand not iuni din
capitolul urmator si, din acest motiv, demonstrat ia este omisa.
Teorema 5.5 Fie data o pereche de matrice (A, B), A I C
mn
, B I C
pn
si
fascicolul matriceal hermitic pozitiv semidenit T = A
H
A B
H
B [ I C cu
valorile proprii generalizate =
1
,
2
, . . . ,
n
,
i
IR
+
ordonate descrescator.
Atunci numerele
i
=
i
sunt valorile singulare generalizate ale perechii (A, B).
12
Un fascicol matriceal F = {G H | I C} denit de perechea (G, H) se numeste hermitic
(n cazul real, simetric), pozitiv semidenit dac a matricele G si H sunt hermitice (simetrice), iar
matricea H si pozitiv semidenita.
5.2. PROBLEME DE CALCUL CONEXE 383
Se constata imediat ca valorile singulare generalizate ale perechii (A, I
n
) sunt
valorile singulare ordinare ale matricei A.
Problema de calcul a acestui capitol este, n primul rand, determinarea valo-
rilor singulare ale unei matrice date. Ca si pana acum, cazul matricelor reale va
tratat distinct pentru a asigura maximum de ecient a posibil. Determinarea vec-
torilor singulari revine la acumularea transformarilor si apare ca necesara n multe
aplicat ii.
Observat ia 5.3 Teorema 5.2 sugereaza o procedura de determinare a valorilor
singulare ale unei matrice A folosind algoritmul QR simetric pentru calculul va-
lorilor proprii e.g. ale matricei B = A
H
A. De asemenea, daca se acumuleaza
transformarile din aplicarea algoritmului QR matricei B, se pot calcula matricele
de transformare U si V . Concret, matricea V este chiar matricea de transformare
din descompunerea spectrala ordonata = V
H
BV a matricei B, iar U se poate
determina cu relat iile (exercit iu pentru cititor)
U = [ U
1
U
2
] cu U
1
= AV ( : , 1: r)
1
1
si U
2
o completare a lui U
1
pana la o matrice unitara. Din punctul de vedere
al calculului numeric singurul punct slab al unei astfel de proceduri este nsusi
calculul efectiv al matricei B. Ideea adaptarii algoritmului QR simetric astfel ncat
sa se evite formarea matricei B a fost propusa n anul 1965 de catre G.H.Golub si
W.Kahan [30] si a condus la algoritmul DVS prezentat n sect iunea 5.3. 3
5.2 Probleme de calcul conexe
Consideram util sa prezentamn continuare cateva rezultate fundamentale care fac
din DVS un instrument foarte puternic de rezolvare numerica a numeroase probleme
de algebra liniara.
In cazurile n care rezolvarea este directa schemele de calcul
propuse se pot implementa ca atare si, pentru a evita repetit ii suparatoare, nu mai
sunt prezentat i algoritmi formali. Pentru problemele mai dicile detalii practice si
aspecte numerice pot gasite n sect iunile 5.5 si 5.6.
5.2.1 Rangul matriceal
Dupa cum se stie (v. si cap. 1), doua matrice echivalente au acelasi rang
13
(o
demonstrat ie poate gasita n [ I ]). Avand n vedere acest lucru din teorema 5.1
rezulta imediat urmatorul rezultat.
Propozit ia 5.2 Rangul unei matrice este egal cu numarul valorilor sale singulare
nenule.
13
Este adevarata si reciproca, i.e. dou a matrice de aceleasi dimensiuni care au acelasi rang sunt
echivalente.
384 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
5.2.2 Norme matriceale
Valorile singulare permit denirea unei clase interesante de norme matriceale unitar
(ortogonal) invariante.
Propozit ia 5.3 Fie A I C
mn
si (A) =
1
,
2
, ,
r
valorile sale singulare
nenule. Atunci
[A[
p
def
=
_
r
i=1
p
i
_1
p
, p = 1, 2, . . . (5.42)
sunt norme matriceale numite p-norme Schatten. p-normele Schatten sunt invari-
ante la transformari unitare, i.e.
[WAZ[
p
= [A[
p
, (5.43)
oricare ar matricele unitare W I C
mm
si Z I C
nn
.
Demonstrat ie. Vezi [ II ]. 3
Urmatoarea propozit ie releva legatura stransa dintre p-normele Schatten si unele
norme matriceale uzuale.
Propozit ia 5.4 Fie matricea A I C
mn
si
1
,
2
, ,
r
valorile sale singulare
nenule. Avem
[A[
1
=
1
+
2
+ +
r
def
= |A|
tr
, (5.44)
[A[
2
=
_
2
1
+
2
2
+ +
2
r
= |A|
F
, (5.45)
[A[
=
1
= |A|
2
, (5.46)
i.e. norma urma este denita de suma valorilor singulare, norma Frobenius este
egala cu radacina patrata a sumei patratelor valorilor singulare, iar norma spectrala
a unei matrice coincide cu valoarea singulara maxima.
Demonstrat ie. Relat ia (5.45) rezulta imediat din (5.3) avandn vedere conservarea
normei Frobenius la transformarile unitare (ortogonale). Expresia (5.46) a normei
spectrale rezulta din nsasi demonstrat ia teoremei 5.1 (vezi (5.7)), q.e.d. 3
5.2.3 Numere de condit ionare
Daca matricea A este patrata (n n) si nesingulara obt inem evaluari imediate ale
numarului de condit ionare la inversare n raport cu normele matriceale uzuale.
Intr-
adevar, este usor de vazut din (5.3) ca valorile singulare ale matricei inverse sunt
inversele valorilor singulare ale lui A, i.e. daca (A) =
1
,
2
, ,
n
, atunci
(A
1
) =
1
n
,
1
n1
, ,
1
1
. (5.47)
Prin urmare, |A
1
|
tr
=
1
1
+
1
2
+ +
1
n
, |A
1
|
F
=
_
2
1
+
2
2
+ +
2
n
si |A
1
|
2
= 1/
n
, iar numarul de condit ionare la inversare al matricei A are ex-
presiile
tr
(A)
def
= |A|
tr
|A
1
|
tr
= (
1
+
2
+ +
n
)(
1
1
+
1
2
+ +
1
n
), (5.48)
5.2. PROBLEME DE CALCUL CONEXE 385
F
(A)
def
= |A|
F
|A
1
|
F
=
_
(
2
1
+
2
2
+ +
2
n
)(
2
1
+
2
2
+ +
2
n
), (5.49)
si, respectiv,
2
(A)
def
= |A|
2
|A
1
|
2
=
1
n
. (5.50)
5.2.4 Pseudoinversa
In continuare vom deni ntr-un cadru general pseudoinversa unei matrice. Desi,
n general, calculul explicit al pseudoinversei este evitat n aplicat ii, vom prezenta
totusi exprimarea ei cu ajutorul DVS, exprimare care ofera calea cea mai avanta-
joasa pentru un eventual calcul al acesteia.
Denit ia 5.4 Fie A I C
mn
. O matrice X I C
nm
care satisface urmatoarele
patru condit ii Moore-Penrose
14
_
_
AXA = A
XAX = X
(AX)
H
= AX
(XA)
H
= XA
(5.51)
se numeste pseudoinversa matricei A.
Avem urmatoarea teorema de existent a si unicitate.
Teorema 5.6 Orice matrice A I C
mn
admite o pseudoinversa unica. Daca A =
= UV
H
este DVS a matricei A, atunci pseudoinversa sa este
A
+
= V
+
U
H
, (5.52)
unde
+
=
_
1
1
0
0 0
_
IR
nm
(5.53)
este pseudoinversa matricei .
Demonstrat ie. Existent a psedoinversei se demonstreaza aratand mai ntai ca
(5.53) satisface cele patru condit ii din (5.51) si apoi ca acestea sunt satisfacute si de
catre matricea A
+
denita n (5.52) (exercit iu pentru cititor). Pentru demonstrat ia
unicitat ii, e X, Y I C
nm
doua pseudoinverse ale matricei A si D = X Y . Din
(5.51) rezulta
_
_
ADA = 0,
DAD +DAY +Y AD = D,
(AD)
H
= AD,
(DA)
H
= DA.
14
Cele patru condit ii Moore-Penrose sunt echivalente cu urm atoarele trei (vezi [ II ])
_
AXA = A
X = PA
H
= A
H
R
unde P si R sunt doua matrice oarecare. Ultimele dou a condit ii exprim a faptul c a liniile si coloanele
pseudoinversei sunt combinat ii liniare ale liniilor, respectiv ale coloanelor matricei A
H
.
386 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
Utilizand prima din relat iile de mai sus, din penultima obt inem (AD)
H
AD =
= ADAD = 0, i.e. AD = 0. Similar, din prima si ultima relat ie obt inem DA = 0.
Prin urmare satisfacerea celei de a doua din relat iile de mai sus implica D = 0, i.e.
X = Y . 3
Propozit ia ce urmeaza ofera o caracterizare interesanta a pseudoinversei.
Propozit ia 5.5 Fie A I C
mn
. Pseudoinversa X = A
+
este unica solut ie ma-
triceala de norma Frobenius minima a problemei
min
X I C
nm
|AX I
m
|
F
. (5.54)
Demonstrat ie.
Intrucat norma Frobenius nu este alterata de transformari unitare,
avem
r
F
(X)
def
= |AX I
m
|
F
= |U
H
AV V
H
X U
H
|
F
= |V
H
X U
H
|
F
=
|V
H
XUI
m
|
F
=
_
_
_
_
_
1
0
0 0
__
Y
11
Y
12
Y
21
Y
22
_
I
m
_
_
_
_
F
=
_
_
_
_
_
1
Y
11
I
r
1
Y
12
0 I
mr
__
_
_
_
F
,
unde Y
def
= V
H
XU I C
nm
si partit ia lui Y este conforma cu partit ia lui . Evident,
r
F
(X) este minima atunci cand atat |
1
Y
12
|
F
cat si |
1
Y
11
I
r
|
F
sunt minime, i.e.,
pentru Y
12
= 0 si Y
11
=
1
1
. Deci, toate matricele X IR
nm
care minimizeaza
r
F
(X) sunt de forma
X = V Y U
H
= V
_
1
1
0
Y
21
Y
22
_
U
H
.
Dar |X|
F
=
_
_
_
_
_
1
1
0
Y
12
Y
22
__
_
_
_
F
este minima pentru Y
21
= 0, Y
22
= 0.
In consecint a,
solut ia de norma Frobenius minima pentru problema (5.54) este matricea X =
= V
+
U
H
= A
+
. 3
Din rezultatele de mai sus rezulta ca valorile singulare nenule ale pseudoinversei
sunt inversele valorilor singulare nenule ale matricei init iale, vectorii singulari la
stanga, respectiv la dreapta ai pseudoinversei sunt vectorii singulari la dreapta,
respectiv la stanga, ai matricei init iale asociat i valorilor singulare corespondente.
Drept consecint a, obt inem urmatoarea DVS pentru pseudoinversa matricei A
A
+
= U
1
1
1
V
H
1
=
r
j=1
v
j
u
H
j
j
, (5.55)
unde u
j
, v
j
sunt coloanele j ale matricelor U si, respectiv, V .
5.2.5 Subspat ii liniare. Baze ortogonale
Consideram important sa evident iem faptul ca se pot construi baze ortogonale ale
subspat iilor fundamentale denite de o matrice arbitrara folosind vectorii sai sin-
gulari
15
.
15
In capitolul 3 a fost prezentata o metod a alternativ a de construct ie a bazelor ortogonale ale
subspat iilor fundamentale denite de o matrice, metod a bazat a pe utilizarea factoriz arii QR cu
5.2. PROBLEME DE CALCUL CONEXE 387
Propozit ia 5.6 Fie A I C
mn
avand rangA = r si = UAV
H
descompunerea
valorilor sale singulare. Atunci
i) Primele r coloane ale matricei unitare U formeaza o baza ortogonala a
subspat iului imagine al lui A, iar ultimele m r coloane ale lui U formeaza o
baza ortogonala a subspat iului nucleu a lui A
H
, i.e. cu notat iile (5.13) avem
ImU
1
= ImA, ImU
2
= KerA
H
. (5.56)
ii) Primele r coloane ale matricei unitare V formeaza o baza ortogonala a sub-
spat iului imagine al lui A
H
, iar ultimele n r coloane ale lui V formeaza o baza
ortogonala a subspat iului nucleu a lui A, i.e. cu notat iile (5.13) avem
ImV
1
= ImA
H
, ImV
2
= KerA. (5.57)
In cazul real toate asert iunile raman adevarate daca operatorul hermitic este nlocuit
cu operatorul de transpunere.
Demonstrat ie. i) Din DVS a matricei A avem A = U
1
1
V
H
1
. Cum matricea
1
V
H
1
este epica obt inem ImA = ImU
1
. Evident, coloanele matricei U
2
formeaza o
baza ortogonala a complementului ortogonal n I C
n
al lui ImU
1
=ImA care este acelasi
subspat iu cu KerA
H
. ii) Se repeta rat ionamentul de mai sus pentru matricea
A
H
= V
T
U
H
. 3
Pentru scopuri mnemotehnice, n gura 5.2 sunt reprezentate, ntr-o forma con-
vent ionala, relat iile dintre subspat iile liniare denite de o matrice mn.
a a
'
&
$
%
'
&
$
%
'
&
$
%
'
&
$
%
'
&
$
%
'
&
$
%
A
H
A
H
0
I C
n
KerA = ImV
2
ImA
H
=
ImV
1
0
I C
m
ImA = ImU
1
KerA
H
=
ImU
2
Fig. 5.2: Subspat iile liniare fundamentale denite de o matrice A I C
mn
si relat iile
dintre ele
pivotarea coloanelor. Desi, din punct de vedere numeric, metoda bazat a pe DVS este considerat a
superioara, n majoritatea aplicat iilor metoda bazat a pe factorizarea QR cu pivotarea coloanelor
este la fel de sigura ind, n acelasi timp, mai ecient a.
388 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
5.2.6 Proiectori ortogonali
DVS ofera pe langa baze ortogonale si posibilitatea de calcul a proiectorilor or-
togonali pe subspat iile fundamentale denite de o matrice data. Desi not iunea de
proiector ortogonal a mai fost introdusa si utilizata n capitolele 1 si 3, pentru
comoditatea cititorului, reluam problema n contextul DVS.
Denit ia 5.5 Fie o I C
n
un subspat iu liniar si T = o
. Unicitatea. Fie P
1
si P
2
doi proiectori ortogonali
pe acelasi subspat iu o. Atunci avem
|(P
1
P
2
)x|
2
2
= (P
1
x)
H
(x P
2
x) + (P
2
x)
H
(x P
1
x) = 0, x I C
n
ntrucat, conform (5.58), o P
1
x (x P
2
x) o
si o P
2
x (x P
1
x) o
.
Obt inem (P
1
P
2
)x = 0, x I C
n
si, considerand n vectori liniar independent i x,
rezulta P
1
= P
2
.
In continuare, primele doua relat ii (5.60) rezulta imediat din expresia (5.59) a
unui proiector ortogonal. Vom arata acum ca ImP = o oricare ar proiectorul
ortogonal pe o. Avem Px o, i.e. ImP o. Reciproc, conform (5.58), pentru
tot i y I C
n
avem Py o si z = yPy o
`
>
>
>
>
>
>
> >.
0
y
1
y
2
y
3
IR
m
`
0
x
1
x
2
IR
n
u
1
u
2
u
3
ImA
KerA
T
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
>
>
>
>
>
>
>>
/
/
/
/
/
/`
/
/
/
/
/
/ /
y
P
2
y
P
1
y
v
1
v
2
ImA
T
KerA
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
x
P
3
x
P
4
x
Fig. 5.3: Subspat ii liniare si proiect ii ortogonale
(Precizam ca, n majoritatea aplicat iilor, proiectorii sunt utilizat i n forma factori-
zata din (5.61).)
In gura 5.3 sunt prezentate act iunile acestor proiectori ortogonali asupra a doi
vectori arbitrari y si x din IR
3
si, respectiv, IR
2
. 3
5.2.7 Operat ii cu subspat ii liniare
In aplicat iile cu suport geometric apare de multe ori necesitatea de a calcula subspa-
t ii liniare derivate din subspat ii existente cu ajutorul operat iilor uzuale. Natural,
DVS poate de un real folos n astfel de situat ii.
In continuare, vom considera
ca subspat iile date apart in spat iului liniar I C
m 16
si sunt cunoscute prin baze (nu
neaparat ortogonale) ale acestora, iar vectorii din baze se scriu sub forma unor
coloane de matrice omonime, i.e. A = ImX, } = ImY
17
etc. Subspat iile rezultat
vor calculate prin determinarea unor baze ortogonale ale acestora. Asa cum s-a
mai precizat, aspectele numerice legate de utilizarea calculului aproximativ vor
discutate ntr-o alta sect iune a acestui capitol aici admit and ipoteza posibilitat ii
unui calcul exact.
A. Incluziune si egalitate. Fie A = ImX si } = ImY doua subspat ii liniare
din I C
n
cu dimA dim}. Este usor de vazut ca incluziunea A } are loc daca si
numai daca
rangY = rang[ X Y ] (5.62)
si, prin urmare incluziunea poate testata pe aceasta baza calculand DVS a ma-
tricelor Y si [ X Y ]. O cale alternativa, mai economica, se bazeaza pe faptul ca
16
Pentru subspat ii din IR
m
se procedeaz a absolut similar.
17
Matricele X, Y nu sunt neaparat monice, i.e. pe l ang a vectorii din baz a pot cont ine drept
coloane si combinat ii liniare ale acestora.
5.2. PROBLEME DE CALCUL CONEXE 391
A } atunci si numai atunci cand coloanele matricei X apart in lui }. Numeric,
apartenent a unui vector la un subspat iu se poate constata vericand coincident a
vectorului respectiv cu proiect ia sa ortogonala pe acel subspat iu.
In consecint a,
testul incluziunii A } se poate face cu urmatoarea schema de calcul.
A }
1. Se calculeaza DVS Y = UV
H
a matricei Y si e r = rangY
2. Daca |U
1
U
H
1
X X| = 0, unde U
1
= U(:, 1: r), atunci A }
Egalitatea a doua subspat ii A = ImX si } = ImY se testeaza e.g. aplicand de doua
ori schema de mai sus pentru vericarea incluziunilor A } si } A.
B. Suma a doua subspat ii liniare. Subspat iul suma al subspat iilor A =
= ImX, } = ImY din I C
n
se deneste prin
o
def
= A +} = s I C
n
[ s = x + y, x A, y } (5.63)
si, este simplu de constatat, poate scris sub forma
o = ImS, unde S = [ X Y ]. (5.64)
In consecint a, daca S = UV
H
este DVS a lui S, atunci r = rangS este dimensiunea
spat iului suma, iar coloanele matricei U
1
= U( : , 1 : r) formeaza o baza ortogonala
a lui o. Evident, procedura poate extinsa pentru calculul sumei a mai multor
subspat ii liniare. Celelalte coloane ale matricei U si coloanele matricei V denesc
subspat ii evident iatentr-un paragraf anterior. De exemplu, coloanele matricei U
2
=
= U( : , r+1 : m) formeaza o baza ortogonala a subspat iului T = o
= A
.
C. Intersect ia. Subspat iul intersect ie
T
def
= A } = t I C
n
[ t A & t } (5.65)
a subspat iilor A = ImX, } = ImY din I C
n
se poate calcula plecand de la ultima
observat ie din aliniatul precedent, i.e. utilizand relat ia
T = A } = (A
+}
(5.66)
ceea ce presupune calculul a trei DVS conform schemei
A } v1
1. Se calculeaza o baza B
X
pentru A
= KerX
H
, folosind DVS a matricei X
2. Se calculeaza o baza B
Y
pentru }
= KerY
H
, folosind DVS a matricei Y
3. Se calculeaza baza cautata a subspat iului T = A }, utilizand DVS a
matricei [ B
X
B
Y
]
O procedura alternativa, mai economica, se bazeaza pe DVS S = [ X Y ] = UV
H
a matricei S din (5.64) din care rezulta
[ X Y ]V ( : , r+1 : n
x
+n
y
) = XV
2X
+Y V
2Y
= 0,
392 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
unde r este rangul lui S, cu n
x
, n
y
s-a notat numarul de coloane al matricelor X,
respectiv Y , V
2X
= V (1: n
x
, r+1 : n
x
+n
y
) si V
2Y
= V (n
x
+1: n
x
+n
y
, r+1 : n
x
+n
y
).
Avem
T = A } = ImXV
2X
= ImY V
2Y
. (5.67)
V
H
a matricei T = XV
2X
sau T = Y V
2Y
Notam cu rangul matricei T. Baza ortogonala cautata a subspat iului
intersect ie T este
U( : , 1: )
D. Aplicat ii liniare. Fie o aplicat ie liniara A : I C
n
I C
m
. Pentru baze
xate, aplicat iei A i se asociaza matricea A I C
mn
astfel ncat corespondent ei
x y = A(x) i se asociaza relat ia numerica y = Ax. Fie acum un subspat iu liniar
A din I C
n
. Atunci mult imea
} = AA = y I C
m
[ y = Ax, x A (5.68)
este un subspat iu liniar din I C
m
numit subspat iul imagine a lui A prin aplicat ia liniara
denita de A. Problema este urmatoarea: date matricea A si matricea X I C
nk
astfel ncat A = ImX, se cere calculul unei baze ortogonale a subspat iului } = AA.
Este usor de vazut ca
} = AImX = ImAX, (5.69)
de unde rezulta imediat faptul ca o baza ortogonala a subspat iului } este data
de coloanele matricei U
1
= U( : , 1 : r
y
) din DVS a matricei Y = AX = UV
H
,
unde r
y
este rangul lui Y . Rezultate numerice mai bune se obt in [ XIX] daca mai
ntai se determina o baza ortogonala
U
1
a lui A si apoi se t ine seama de faptul ca
} = ImA
U
1
. Schema de calcul este urmatoarea.
} = AA
1. Se calculeaza DVS X =
U
V
H
. Fie r
x
rangul lui X
2. Se calculeaza B = A
U( : , 1: r
x
)
3. Se calculeaza DVS B = UV
H
. Daca r
y
este rangul lui B, atunci baza
cautata a subspat iului } este data de coloanele matricei U
1
= U( : , 1: r
y
)
5.3. ALGORITMUL DVS 393
5.3 Algoritmul DVS
Dupa cum s-a precizat, valorile singulare ale matricei A I C
mn
sunt radacinile
patrate nenegative ale valorilor proprii ale uneia dintre matricele hermitice pozitiv
semidenite B = A
H
A sau C = AA
H
(vezi teorema 5.2). Mai mult, exista conexiuni
importante dintre DVS a matricei A si forma Schur a matricelor hermitice F =
=
_
0 A
H
A 0
_
sau G =
_
0 A
A
H
0
_
(vezi propozit ia 5.1). Natural, n cazul real,
conjugarea nu are nici un efect, astfel ca matricele B = A
T
A, C = AA
T
sunt
simetrice, pozitiv semidenite, iar matricele F si G simetrice.
Teorema 5.2 sugereaza o posibilitate de calcul a valorilor singulare ale unei ma-
trice A calculand valorile proprii ale uneia dintre matricele B, C, F sau G, cu
ajutorul algoritmului QR simetric.
Intr-o astfel de abordare, determinarea ma-
tricelor unitare (n cazul real, ortogonale) U si V se poate face conform indicat iilor
din observat ia 5.3.
Totusi, calculul explicit al matricelor B sau C poate conduce la o pierdere de
informat ie, dupa cum se poate vedea din exemplul urmator.
Exemplul 5.3 Fie matricea
A =
_
_
1 1
0.001 0
0 0.001
_
_
,
avand valorile singulare (A) =
Intr-un format virgula mobila avand mantisa cu mai put in de 7 cifre zecimale,
matricea B este reprezentata prin
B =
_
1 1
1 1
_
,
avand spectrul (
B) = 2, 0 , valorile singulare calculate prin procedura sugerata
mai sus ind (A) =
In cazul real, matricele U si V pot reale (i.e. ortogonale) si, prin urmare, si
matricea bidiagonala J este, n acest caz, reala.
Demonstrat ie. Vom da o demonstrat ie constructiva, aratand cum se calculeaza
efectiv matricele unitare U si V din (5.70). Pentru xarea ideilor, presupunem ca
m n
19
, n care caz procedura are p = min(m1, n) pasi.
Pasul 1
.
In primul rand, exista reectorul (complex) U
1
, de ordinul m, ast-
fel ncat (U
H
1
A)(2 : m, 1) = 0. Dupa aplicarea reectorului U
1
, exista reectorul
V
2
, de ordinul n si indice 2 (i.e. avand structura V
2
= diag(1,
V
2
)) astfel ncat
((U
H
1
A)V
2
)(1, 3: n) = 0. Datorita structurii ment ionate a reectorului V
2
, postmul-
tiplicarea cu acesta nu altereaza zerourile create n prima coloana. Prin urmare,
matricea A A
1
def
= U
H
1
AV
2
este superior bidiagonala n prima coloana si prima
linie.
Pasul k
, poate continuat.
_
f
1
g
1
f
2
g
2
.
.
.
.
.
.
.
.
. g
n1
f
n
_
_
. (5.73)
Algoritmul de bidiagonalizare, prezentat n continuare, reproduce del ideile
demonstrat iei teoremei 5.8. Vom utiliza reectori hermitici, caz n care matricea
bidiagonala care se obt ine este, n general, complexa. Pentru un plus de claritate
prezentam mai ntai o schema de calcul.
JQ 1. p = min(m1, n)
2. Pentru k = 1 : p
1. Se calculeaza reectorul U
k
astfel ncat
(U
H
k
A)(k + 1 : m, k) = 0.
2. A U
H
k
A
3. Daca k < n 1, atunci
1. Se calculeaza reectorul V
k+1
astfel ncat
(AV
k+1
)(k, k + 2 : n) = 0.
2. A AV
k+1
3. Daca se doreste calculul matricei U, atunci
1. U I
m
2. Pentru k = p : 1 : 1
1. U U
k
U
396 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
4. Daca se doreste calculul matricei V , atunci
3. V I
n
4. Pentru k = n 2 : 1 : 1
1. V V
k+1
V
Utilizand procedurile din tabelul 4.3 (vezi cap. 4), algoritmul corespunzator
schemei de calcul de mai sus se scrie astfel.
Algoritmul 5.1 (JQc Reducerea la forma bidiagonala) (Data ma-
tricea A I C
mn
, cu m n, algoritmul calculeaza reectorii hermitici
U
k
, k = 1 : p, p = min(m1, n), si V
k
, k = 2 : n1, astfel ncat matricea
J = U
H
p
. . . U
H
1
AV
2
. . . V
n1
= U
H
AV este bidiagonala. Matricea J este
obt inuta prin vectorii f I C
n
si g I C
n1
ai elementelor sale diagonale,
respectiv supradiagonale. Opt ional, se acumuleaza matricele unitare de
transformare U si/sau V . Opt iunea se exprima cu ajutorul variabilelor
logice opt
1
si opt
2
care pot lua valorile da sau nu. Daca nu se doreste
acumularea, atunci pentru matricea respectiva se returneaza matricea
unitate de dimensiune corespunzatoare.)
1. p = min(m1, n)
2. Pentru k = 1 : p
1. [ c, A(k : m, k),
k
] = Hc(A(k : m, k))
2. f
k
= c
1
3. Daca k < n atunci
1. A(k : m, k + 1 : n) =
= Hcs(A(k : m, k),
k
, A(k : m, k + 1 : n))
4. Daca k < n 1 atunci
1. [ c, v,
k+1
] = Hc((A(k, k + 1 : n))
T
)
2. A(k, k + 1 : n) = v
T
3. g
k
= c
1
4. A(k + 1 : m, k + 1 : n) =
= Hcd(A(k : m, k + 1 : n), v,
k+1
)
5. g
n1
= A(n 1, n)
3. Daca m = n atunci
1. f
n
= A(n, n)
4. U = I
m
, V = I
n
5. Daca opt
1
=
da
atunci
1. Pentru k = p : 1 : 1
1. U(k : m, k : m) = Hcs(A(k : m, k),
k
, U(k : m, k : m))
6. Daca opt
2
=
da
atunci
1. Pentru k = n 2 : 1 : 1
1. V (k + 1 : n, k + 1 : n) =
= Hcs((A(k, k+1 : n))
T
,
k+1
, V (k + 1 : n, k + 1 : n))
5.3. ALGORITMUL DVS 397
Comentarii. Semnalam, n primul rand, faptul ca vectorul u
k
ce deneste reec-
torul hermitic
U
k
(din structura reectorului U
k
) este memorat n locat iile (k : m, k)
ale matricei A. Pentru a posibil acest lucru, n afara elementelor (k + 1 : m, k),
anulate la pasul curent k de catre U
k
, este utilizata si locat ia (k, k), ceea ce pre-
supune salvarea prealabila a elementului diagonal calculat a
kk
def
= f
k
. Similar,
vectorul v
k+1
denitoriu pentru reectorul
V
k+1
= I
nk
v
k+1
v
H
k+1
k+1
, este memorat
n locat iile (k, k + 1 : n) dupa ce, n prealabil, a fost salvat elementul a
k,k+1
def
= g
k
.
Pentru a face posibil acest lucru fara modicarea procedurilor utilizate a fost intro-
dus un vector de lucru c. De asemenea, pentru a nu introduce o noua procedura
de calcul a unui reector care sa anuleze componentele (2 : n) ale unui vector linie
n-dimensional, s-a utilizat un vector de lucru v.
Sintaxa de utilizare a algoritmului de mai sus este
[ f, g, U, V ] = JQc(A, opt
1
, opt
2
).
In cazul datelor init iale reale, toate matricele de transformare sunt reale, i.e. orto-
gonale, iar algoritmul de mai sus se adapteaza prin simpla substituire a procedurilor
pentru date complexe cu cele pentru date reale (concret, se nlocuieste sigla c din
numele procedurilor cu sigla r). De aceeea ne marginim sa prezentam pentru acest
caz numai sintaxa de utilizare
[ f, g, U, V ] = JQr(A, opt
1
, opt
2
).
Efortul de calcul asimptotic implicat de execut ia variantei reale, fara acumularea
transformarilor, este N
op
= 4mn
2
4
3
n
3
opi, iar n cazul complex, daca avem
n vedere echivalarile operat iilor cu numere complexe cu cele cu numere reale (v.
cap. 4), de cateva ori mai mare. Tot n varianta reala, pentru calculul matricei de
transformare U, sunt necesare N
op
= 4m
2
n
4
3
n
3
opi, respectiv, pentru calculul
matricei de transformare V se executa N
op
=
4
3
n
3
opi suplimentari. De ret inut
ordinea inversa de acumulare a transformarilor care este mai economica, exploatand
umplerea progresiva a matricelor de transformare. 3
Observat ia 5.4
In cazul n care m n este posibila o usoara mbunatat ire a
ecient ei daca naintea aplicarii algoritmului JQ are loc o prealabila triangularizare
unitara (ortogonala) a matricei A. Concret, procedura, numita R-bidiagonalizare,
este urmatoarea.
RJQ 1. Se efectueaza triangularizarea unitara Q
H
A = R =
_
R
1
0
_
,
cu R
1
o matrice n n superior triunghiulara.
2. [ f, g,
U, V ] = JQ(R
1
, opt
1
, opt
2
)
3. Daca opt
1
=
da
atunci
1. U = Qdiag(
U, I
mn
).
398 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
Complexitatea acestei proceduri este apreciata, pentru date reale, la N
R
op
2mn
2
+
+2n
3
, fara acumularea transformarilor. Rezulta N
op
N
R
op
= 2n
2
(m
5
3
n), i.e.
R-bidiagonalizarea devine asimptotic mai ecienta daca m >
5
3
n. Considerat ii
similare asupra complexitat ii se pot face si pentru diverse variante de acumulare a
transformarilor (vezi [ VI ]). 3
Observat ia 5.5 Utilizand reectori complecsi nehermitici (vezi cap. 3) adecvat
calculat i, este posibila reducerea unei matrice complexe la o matrice bidiagonala
reala prin transformari unitare de echivalent a. Aceasta versiune a algoritmului JQc
permite utilizarea exclusiva a unei aritmetici reale n faza iterativa a algoritmului
DVS si este folosita, de exemplu, n pachetul de programe LAPACK. Detaliile
algoritmului fac obiectul exercit iului 5.15. 3
5.3.2 Faza iterativa a algoritmului DVS
Faza iterativa construieste un sir de matrice
J = J
1
, J
2
, , J
k
, (5.74)
convergent catre matricea diagonala reala =
_
1
0
0 0
_
,
1
=diag(
1
,
2
, . . . ,
r
),
astfel ncat sirul matriceal
T
1
= J
H
1
J
1
, T
2
= J
H
2
J
2
, . . . , T
k
= J
H
k
J
k
, . . . (5.75)
este sirul QR simetric cu deplasare implicita convergent catre forma Schur
S =
_
2
1
0
0 0
_
R
nn
(5.76)
a matricei tridiagonale hermitice (simetrice) T = T
1
.
A. Un pas DVS
Presupunem, n continuare, ca matricea superior bidiagonala J I C
mn
este data
prin vectorii f I C
n
si g I C
n1
conform (5.73). Avand n vedere faptul ca trans-
formarile ce denesc un pas QR conserva structura tridiagonala a matricelor T
k
,
anticipam armand ca un pas DVS va conserva structura bidiagonala astfel ncat
toate calculele (mai put in acumularea transformarilor) pot avea loc n locat iile de
memorie ale vectorilor f si g.
Vom determina transformarile vectorilor f si g aferente unui pas DVS prin
transferarea catre acestia a aplicarii unui pas al algoritmului QR simetric cu de-
plasare implicita matricei tridiagonale
T
def
= T
k
= J
H
k
J
k
def
= J
H
J. (5.77)
_
(5.81)
cea mai apropiata de t
nn
. Concret, aceasta deplasare are expresia
= + sgn()
_
2
+[[
2
, =
2
, (5.82)
si se calculeaza economic si abil cu relat iile
=
[g
n2
[
2
+[f
n1
[
2
[g
n1
[
2
[f
n
[
2
2
, = [f
n1
[
2
[g
n1
[
2
,
= [g
n1
[
2
+[f
n
[
2
+
+ sgn()
_
2
+
. (5.83)
_
t
11
t
21
0
.
.
.
0
_
_
=
_
_
[f
1
[
2
f
1
g
1
0
.
.
.
0
_
_
, (5.84)
unde este un factor scalar de normare. Introducand vectorul de deplasare implicita
aferent unui pas DVS
w
def
=
_
t
11
t
21
_
=
_
[f
1
[
2
f
1
g
1
_
, (5.85)
400 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
matricea U
1
poate o rotat ie (complexa) P
12
= diag(
P
12
, I
m2
) astfel ncat
P
H
12
w =
_
0
_
. (5.86)
3. Calculul matricei T C = P
H
12
TP
12
, care altera structura tridiagonala n
pozit iile (3, 1) si (1, 3), se transfer a n calculul matricei
K = JP
12
(5.87)
care evident iaza o alterare a matricei superior bidiagonale n pozit ia (2, 1).
4. Aplicarea algoritmului TQ matricei C, pentru refacerea structurii tridiago-
nale a matricei C se transfera, n cadrul unui pas DVS, n aplicarea unui algoritm
JQ adaptat pentru refacerea structurii superior bidiagonale a matricei J prin trans-
formari unitare bilaterale
J J
= U
H
n1
U
H
n2
U
H
1
KV
2
V
n1
, (5.88)
unde U
k
, V
k
pot rotat ii (complexe) sau reectori (complecsi). Schema de calcul
este urmatoarea.
1. Pentru k = 1 : n 1
1. Se calculeaza rotat ia U
k
def
= P
k,k+1
astfel ncat
(U
H
k
K)(k + 1, k) = 0
2. K U
H
k
K % Se anuleaza elementul (k + 1, k) si
% se altereaza zeroul din pozit ia (k, k + 2)
3. Daca k < n 1
1. Se calculeaza rotat ia V
k+1
def
= P
k+1,k+2
astfel ncat
(KV
k+1
)(k, k + 2) = 0.
2. K KV
k+1
% Se anuleaza elementul (k, k + 2) si
% se altereaza zeroul din pozit ia (k + 2, k + 1)
Pentru a exemplica adaptarea algoritmului JQ la situat ia structurala carac-
teristica unei iterat ii DVS cu deplasare implicita, consideram cazul dimensional
m = 5, n = 3. Ca si pana acum, ncadrarile indica liniile sau coloanele afectate,
+ zerourile alterate, iar elementele anulate, toate referindu-se la transfor-
marea curenta.
J =
_
_
0
0
0 0
0 0 0
0 0 0
_
_
, J JP
12
=
_
_
+
0 0
0 0
0 0
0
0
0
_
_
,
J U
H
1
J =
_
_
+
0 0
0 0 0
0 0 0
_
_
, J JV
2
=
_
0
0
0
0
+
0 0
0 0
_
_
,
5.3. ALGORITMUL DVS 401
J U
H
2
J =
_
_
0
0
0
0 0 0
0 0 0
_
_
.
Matricea succesor K = J
este bidiagonala si
T
= J
H
J
= (U
H
n1
U
H
1
JP
12
V
2
V
n1
)
H
U
H
n1
U
H
1
JP
12
V
2
V
n1
=
= V
H
n1
V
H
2
P
H
12
J
H
U
1
U
n1
U
H
n1
U
H
1
JP
12
V
2
V
n1
= Q
H
J
H
JQ (5.89)
si
Qe
1
= P
12
V
2
V
n1
e
1
= P
12
e
1
(5.90)
este aceeasi cu cea corespunzatoare pasului QR simetric implicit pentru matricea
tridiagonala T.
In consecint a, matricea J
k
= J, care deneste sirul DVS este astfel calculata
ncat matricea T
k
= J
H
k
J
k
deneste sirul QR pentru matricea hermitica B = A
H
A
si, prin urmare, este convergent la forma diagonala.
= Q
H
JQ din sirul DVS, mai exact, noii
vectori f
si g
2
+
2. w =
_
[f
1
[
2
f
1
g
1
_
3. [ w, c, s ] = Gc(w)
4. % Se calculeaza J JP
12
. Fie elementul nenul care altereaza
structura bidiagonala
1. f
1
c g
1
s
2. g
1
f
1
s +g
1
c
3. f
1
4. f
2
s
402 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
5. f
2
f
2
c
5. Daca opt
2
=
da
atunci
1. V ( : , 1 : 2) = Gcd(V ( : , 1 : 2), c, s)
6. % Reducerea la forma bidiagonala
Pentru k = 1 : n 1
1. [
_
f
k
_
, c, s] = Gc(
_
f
k
_
)
2. cg
k
sf
k+1
3. f
k+1
sg
k
+cf
k+1
4. g
k
5. Daca k < n 1 atunci
1. sg
k+1
2. g
k+1
cg
k+1
6. Daca opt
1
=
da
atunci
1. U( : , k : k + 1) = Gcd(U( : , k : k + 1), c, s)
7. Daca k < n 1 atunci
1. [v, c, s] = Gc(
_
g
k
_
)
2. g
k
= v
1
3. f
k+1
c g
k+1
s
4. g
k+1
f
k+1
s +g
k+1
c
5. f
k+1
6. f
k+2
s
7. f
k+2
f
k+2
c
8. Daca opt
2
=
da
atunci
1. V ( : , k + 1 : k + 2) = Gcd(V ( : , k + 1 : k + 2), c, s)
Comentarii. Sintaxa de apel utilizata n continuare va n cazul complex
[ f, g, U, V ] = IT DVSc(f, g, U, V, opt
1
, opt
2
)
si
[ f, g, U, V ] = IT DVSr(f, g, U, V, opt
1
, opt
2
)
n cazul real, care se obt ine prin nlocuirea procedurilor complexe apelate cu core-
spondentele lor reale si renunt area la operat ia de conjugare. Numarul de operat ii
necesar pentru execut ia unui pas DVS real este N
op
2n
+ 30n daca nu se
acumuleaza transformarile, N
op
6mn operat ii sunt necesare pentru acumularea
matricei U si, respectiv, N
op
6n
2
pentru acumularea matricei V . 3
Observat ia 5.6
In cadrul algoritmului DVS, iterat ia DVS curenta, implementa
de algoritmul de mai sus, va act iona numai asupra unei part i a matricei bidiagonale
(asa numitul bloc diagonal ireductibil). Aceasta act iune are ca efect modicarea
la ecare iterat ie numai a anumitor coloane a matricelor de transformare U si V .
5.3. ALGORITMUL DVS 403
Avand n vedere acest fapt, suntem interesat i sa accceptam ca parametri de intrare
si de iesire pentru algoritmul IT DVSc matrice U si V cu un numar de linii superior
celui precizat n preambulul algoritmului. Utilizarea n instruct iunile 5.1, 6.6.1 si
6.7.8.1 a simbolului : cu semnicat ia de toate liniile face ca sa nu e necesare
nici un fel de modicari ale algoritmului. Acelasi mecanism de simbolizare permite
o codicare directa a algoritmului n MATLAB. Pentru alte limbaje de programare
se vor face precizarile de indexare ce se impun. 3
B. Algoritmul DVS
Algoritmul DVS consta din pasii iterativi Golub-Kahan aplicat i part ii ireductibile
a matricei bidiagonale J, anularea elementelor diagonale si supradiagonale devenite
neglijabile, conform unui criteriu acceptat, si reducerea, pe aceasta baza, a dimen-
siunii problemei de diagonalizare, pana la epuizare.
In nal, dupa un numar nit
20
de pasi, se obt ine o matrice diagonala a carei DVS se obt ine imediat.
In legatura cu
modul de gestionare structurala a matricei curente a sirului DVS facem urmatoarele
precizari.
1. Pentru deciziile de anulare a elementelor supradiagonale se poate utiliza
urmatorul criteriu
Daca [g
i
[ tol([f
i
[ +[f
i+1
[) atunci g
i
= 0. (5.91)
2. Tratarea situat iilor n care condit iile de ireductibilitate (5.79) ale matricei
T = J
H
J nu sunt satisfacute se face diferent iat n funct ie de faptul ca elementul
nul se aa pe supradiagonala sau pe diagonala.
In continuare, referirile le facem la
matricea bidiagonala J init iala denita de vectorii f I C
n
si g I C
n1
.
Daca este nul un element terminal al vectorului g, i.e. g
1
= 0 sau g
n1
= 0,
atunci problema se reduce, evident, la o problema de dimensiune inferioara cu o
unitate. Daca ambele elemente terminale ment ionate sunt nule, atunci dimensiunea
problemei reduse este n 2.
Daca exista un singur element supradiagonal neterminal nul, i.e. g
i
= 0 pentru
un i 2 : n 2, atunci matricea J se scrie sub forma
J =
_
J
1
0
0 J
2
_
, J
1
I C
ii
, J
2
I C
(ni)(ni)
, (5.92)
cu matricele J
H
1
J
1
si J
H
2
J
2
tridiagonale ireductibile, i.e. problema se sparge n
doua probleme de aceeasi natura dar de dimensiuni mai mici. Daca sunt mai multe
elemente supradiagonale nule, atunci problema si reduce, similar, dimensiunea sau
se sparge n doua sau mai multe probleme de dimensiuni mai mici.
Daca exista un singur element diagonal nul, i.e. f
i
= 0 pentru un i 1 : n1,
atunci exista o procedura care, prin transformari unitare (e.g. o secvent a de rotat ii),
anuleaza si elementul supradiagonal de pe aceeasi linie, creand astfel posibilitatea
divizarii problemei ca n (5.92). Schema de calcul este urmatoarea.
20
Datorita deciziilor de anulare efectiv a a elementelor neglijabile.
404 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
TZD % Tratarea zerourilor diagonale.
1. Pentru j = i + 1 : n
1. Se calculeaza rotat ia modicata P
ij
astfel ncat
(P
H
ij
J)(i, j) = 0.
2. J P
H
ij
J % Se anuleaza elementul (i, j) si, pentru j < n,
este alterat zeroul din pozit ia (i, j + 1).
3. Daca se doreste acumularea transformarilor, atunci
U UP
ij
.
Exemplicam modul de act iune al procedurii de mai sus pentru cazul dimensional
cu n = 4 si cu zeroul diagonal n pozit ia (2,2).
J =
_
_
0 0
0 0 0
0 0
0 0 0
_
_
,
J P
23
J =
_
_
0 0
0 0 +
0 0
0 0 0
_
_
, J P
24
J =
_
_
0 0
0 0 0
0 0
0 0 0
_
_
.
_
1, daca z
1
= 0,
0, daca z
1
,= 0, z
2
= 0,
[z
2
[
r
, daca z
1
,= 0, z
2
,= 0,
s =
_
_
0, daca z
1
= 0,
1, daca z
1
,= 0, z
2
= 0,
z
1
z
2
[z
2
[r
, daca z
1
,= 0, z
2
,= 0,
(5.95)
r =
_
[z
1
[
2
+[z
2
[
2
, (P
H
z)(2) =
rz
2
[z
2
[
.
Calculul elementelor denitorii de mai sus va nsot it de calculul z P
H
z astfel
ncat sintaxa propusa pentru aceasta procedura este
[ y, c, s ] = Gcm(z),
5.3. ALGORITMUL DVS 405
suprascrierea (interna a) lui z realizandu-se cu apelul [ z, c, s ] = Gcm(z). Particula-
rizarea pentru date reale este propusa cititorului, aici marginindu-ne sa introducem
numai sintaxa de utilizare
[ y, c, s ] = Grm(z).
Rezulta urmatorul algoritm.
Algoritmul 5.3 (TZDc Tratarea zerourilor diagonale) (Date
matricea superior bidiagonala J I C
mn
cu m n, prin vectorii f si g
al elementelor diagonale, respectiv supradiagonale, si matricea unitara
U I C
mm
, precum si ntregul i 1 : n 1 ce indica pozit ia ultimu-
lui element diagonal nul, algoritmul calculeaza rotat iile (complexe) P
i,j
,
j = i +1 : n, astfel ncat matricea J P
H
i,n
. . . P
H
i,i+1
J ramane bidi-
agonala, iar elementul g
i
devine nul. Calculele principale se efectueaza
n locat iile de memorie ale elementelor vectorilor f si g. Opt ional, se
actualizeaza matricea unitara de transformare U. Opt iunea se exprima
cu ajutorul variabilei logice opt, care poate lua valorile da sau nu.
Daca nu se doreste actualizarea, matricea U se returneaza nemodicata.)
1. = g
i
2. g
i
= 0
3. Pentru j = i + 1 : n
1. z = [ f
j
]
T
2. [ z, c, s ] = Gcm(z)
3. f
j
= z
2
4. Daca j < n atunci
1. = sg
j
2. g
j
cg
j
5. Daca opt =
da
atunci
1. Pentru l = 1 : m
1. = u
li
c u
lj
s
2. u
lj
u
li
s +u
lj
c
3. u
li
= .
Comentarii.
In algoritmul de mai sus variabila scalara a fost utilizata pentru
memorarea elementului alterant temporar al structurii bidiagonale, iar variabila
auxiliara scalara pentru calculul produsului U UP
ij
. Algoritmul nu verica
faptul ca f
i
= 0 sau ca nu exista j > i astfel ca f
j
= 0. Este clar faptul ca daca nu
sunt ndeplinite condit iile din preambulul algoritmului, acesta nu realizeaza scopul
pentru care a fost elaborat.
Sintaxa de apel a algoritmului este, evident,
[ f, g, U ] = TZDc(f, g, i, U, opt).
Complexitatea algoritmului este O(ni) fara acumularea transformarilor si O(mn)
cu acumularea acestora. Se poate aprecia ca algoritmul are, n general, o contribut ie
modesta la complexitatea algoritmului DVS.
406 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
_
J
11
0 0
0 J
22
0
0 0 J
33
0 0 0
_
_
p
n p q
q
mn
(5.96)
unde p este cel mai mic ntreg, iar q cel mai mare ntreg astfel ncat blocul J
33
este diagonal, iar blocul bidiagonal J
22
este ireductibil, i.e. are toate elementele
supradiagonale nenule si toate elementele diagonale (mai put in, eventual, ultimul),
de asemenea, nenule.
In termenii vectorilor f si g, prin care este memorata matricea
J, condit iile de mai sus devin
g(nq +1 : n1) = 0, g
i
,= 0, i = p+1 : nq, f
i
,= 0, i = p+1 : nq 1.
(5.97)
Evident, iterat ia DVS curenta se aplica numai blocului ireductibil J
22
, i.e.
J
22
J
22
= U
H
22
J
22
V
22
(5.98)
care este echivalenta cu urmatoarea transformare unitara bilaterala aplicata intregii
matrice J
J J
= diag(I
p
, U
22
, I
mpq
)
H
Jdiag(I
p
, V
22
, I
npq
). (5.99)
Daca blocul ireductibil J
22
are dimensiunea 22 atunci devine mai ecient calculul
direct al DVS a acestuia. Avand n vedere faptul ca n acest caz matricea 2 2
este si triunghiulara propunem cititorului scrierea unei proceduri care sa realizeze
acest lucru (caz particular al exercit iului 5.2). Aici ne vom margini la specicarea
sintaxei de apel a acestei proceduri care va utilizata
[ f, g, U, V ] = DVS 2(f, g)
unde, evident, f este un vector cu doua elemente, iar g este un scalar anulat de
procedura.
4. Procesul de diagonalizare se termina n momentul n care au fost anulate
toate elementele supradiagonale, i.e. toate componentele vectorului g, sau, altfel
spus, cand parametrul structural q ia valoarea n 1.
5.3. ALGORITMUL DVS 407
5. Dupancheierea procesului de diagonalizare, elementele diagonale ale matricei
limita J J
f
i
[f
i
[
, daca f
i
,= 0.
(5.101)
Dupa aceasta transformare elementele diagonale ale matricei J, i.e. elementele
vectorului f sunt valorile singulare ale matricei init iale.
6. Prin denit ie, n DVS, valorile singulare apar ordonate descrescator. De
aceea, n nalul algoritmului DVS se realizeaza ordonarea elementelor diagonale
utilizand o secvent a de permutari elementare bilaterale (i.e. diagonale), denita de
matricele de permutare U
P
= diag(P, I
mn
), V
P
= P si un algoritm de ordonare
a listelor. Avand n vedere faptul ca ordonarea are o pondere put in semnicativa
n economia algoritmului DVS, vom utiliza un algoritm popular de sortare, anume
algoritmul bubblesort, si, din aceleasi motive de concizie a formularii algoritmului
DVS, vom prezenta un algoritm separat de ordonare.
Algoritmul 5.4 (DVS ORD Ordonarea valorilor singulare)
(Date matricea diagonala J, prin vectorul f IR
n
al elementelor diago-
nale, si matricele unitare U I C
mm
si V I C
nn
, algoritmul realizeaza
ordonarea n sens descrescator a elementelor vectorului f, folosind al-
goritmul de sortare bubblesort. Opt ional, se actualizeaza matricele
unitare de transformare U si/sau V , prin permutarea coprespunzatoare
a coloanelor acestora. Opt iunea se exprima cu ajutorul variabilelor lo-
gice opt
1
si opt
2
care pot lua valorile da sau nu. Daca nu se doreste
actualizarea, matricele U si/sau V se returneaza nemodicate.)
1. ord =
nu
2. i = 1
3. C^at timp ord =
nu
si i < n
1. ord =
da
2. Pentru j = n 1 : 1 : i
1. Daca f
j
< f
j+1
atunci
1. f
j+1
f
j
21
In cazul real, matricea diagonal a J este real a, dar poate avea elemente diagonale negative.
Evident, n aceasta situat ie utilizam transformarea de echivalent a ortogonal a denit a de matricea
D avand
d
i
=
_
1, dac a f
i
0,
1, dac a f
i
< 0.
408 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
2. Daca opt
1
=
da
atunci
1. U(:, j) U(:, j + 1)
3. Daca opt
2
=
da
atunci
1. V (:, j) V (:, j + 1)
4. ord =
nu
3. i i + 1.
Comentarii. Variabila logica ord reprezinta starea procesului de ordonare si este
familiara celor care utilizeaza curent algoritmul de sortare ment ionat. Sintaxa de
apel a algoritmului va
[ f, U, V ] = DVS ORD(f, U, V, opt
1
, opt
2
).
Evident, nu se efectueaza operat ii aritmetice. Numarul maxim posibil de comparat ii
este
1
2
n(n1). Desigur, se pot folosi algoritmi de sortare mai sosticat i dar castigul
nu este semnicativ pentru matrice de dimensiuni curente. 3
Avandu-se n vedere faptul ca matricele de permutare sunt ortogonale, matricea
nala
def
= diag(P
T
, I
mn
)JP =
_
_
1
0 0
0
2
0
.
.
.
.
.
.
.
.
.
.
.
.
0 0
n
.
.
.
.
.
.
.
.
.
.
.
.
0 0 0
_
_
(5.102)
mpreuna, cu matricele unitare
U = Udiag(P, I
mn
),
V = V P denesc DVS calcu-
lata a matricei init iale.
Cu toate precizarile de mai sus si utilizand algoritmii auxiliari introdusi, putem
prezenta algoritmul DVS n integralitatea lui.
Algoritmul 5.5 (DVSc Descompunerea valorilor singulare)
(Date matricea A I C
mn
cu m n si nivelul de tolerant a tol, algo-
ritmul calculeaza valorile singulare ale matricei A care sunt elementele
vectorului f IR
n
si opt ional matricele de transformare U I C
mm
si/sau V I C
nn
, care denesc DVS a matricei A. Opt iunea se exprima
cu ajutorul variabilelor logice opt
1
si opt
2
care pot lua valorile da sau
nu. Daca nu se doreste acumularea, atunci pentru matricea respectiva
se returneaza matricea unitate de dimensiune corespunzatoare.)
1. % Cazul matricelor coloana
Daca n = 1 atunci
1. [ A, u, ] = Hc(A)
2. f = [A(1, 1)[
3. U = I
m
, V = 1
4. Daca opt
1
=
da
si ,= 0 atunci
U = I
m
u u
H
si ,= 0 atunci
V =
A(1, 1)
f
6. Return
2. % Reducerea la forma bidiagonala
[ f, g, U, V ] = JQc(A, opt
1
, opt
2
)
3. % Faza iterativa
1. p = 0, q = 0
2. C^at timp q < n 1
1. Pentru i = 1 : n q 1
1. Daca [g
i
[ tol([f
i
[ +[f
i+1
[) atunci
g
i
0
2. % Determinarea parametrului q
1. C^at timp g(n q 1) = 0
q q + 1
2. Daca q = n 1 atunci break
3. % Terminarea fazei iterative
1. Daca q = n 1 atunci break
4. % Determinarea parametrului p
1. p = n q 1
2. C^at timp g(p) = 0
1. p p 1
2. Daca p = 0 atunci break
5. k = p + 1, l = n q
6. % Tratarea unui zero diagonal (daca exista)
1. j = 0
2. Pentru i = l 1 : 1 : k
1. Daca f
i
= 0 atunci
1. j = i k + 1
2. break
3. Daca j > 0
1. [ f(k : l), g(k : l 1), Z ] =
= TZDc(f(k : l), g(k : l 1), j, I
lk+1
, opt
1
)
2. Daca opt
1
=
da
atunci
U(:, k : l) U(:, k : l)Z
altfel
1. % Iterat ia curenta
Daca k < l 1 atunci
[ f(k : l), g(k : l 1), U(:, k : l), V (:, k : l) ] =
= IT DVSc(f(k : l), g(k : l 1), U(:, k : l),
V (:, k : l), opt
1
, opt
2
)
altfel
410 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
1. [ f(k : l), g(k : l 1), Y, Z ] =
= DVS 2(f(k : l), g(k : l 1))
2. Dac a opt
1
=
da
atunci
U( : , k : l) U( : , k : l)Y
3. Dac a opt
2
=
da
atunci
V ( : , k : l) V ( : , k : l)Z
4. % Calculul valorilor singulare ale matricei diagonale obt inute n
faza iterativa
1. Pentru j = 1 : n
1. Daca opt
2
=
da
atunci
1. Daca f
j
,= 0 atunci
1. d =
f
j
[f
j
[
2. V ( : , j) = V ( : , j)d
2. f
j
= [f
j
[
5. % Ordonarea valorilor singulare
1. [ f, U, V ] = DVS ORD(f, U, V, opt
1
, opt
2
)
Comentarii. Comentariile incluse pun n evident a ideile care au stat la baza ela-
borarii algoritmului. Din punct de vedere tehnic semnalam utilizarea instruct iunii
break de abandonare a execut iei ciclurilor de tip pentru sau de tip c^ at timp.
O sintaxa de apel naturala a algoritmului DVSc este, evident,
[ f, U, V ] = DVSc(A, tol, opt
1
, opt
2
).
Algoritmul DVSc calculeaza DVS si pentru matrice reale
22
desi pentru date reale
este mai economica o versiune reala a algoritmului, care se obt ine simplu prin
utilizarea corespondentelor reale ale procedurilor implicate.
De asemenea, din rat iuni de concizie si claritate, n cele ce urmeaza vom utiliza
si sintaxa (poate chiar mai semnicativa)
[ U, , V ] = DVSc(A, opt
1
, opt
2
),
care presupune unele ajustari minore ale algoritmului de mai sus, cum sunt introdu-
cerea unei tolerant e implicite (de obicei de nivelul lui
M
|A|) si formarea matricei
diagonale IR
mn
din denit ia DVS ale carei elemente diagonale sunt elementele
vectorului f. Ordinea modicata a parametrilor de iesire sugereaza formula DVS.
Complexitatea estimata a algoritmului DVS, conform [ VI ], este data n tabelul
5.1 pentru varianta reala cu date de intrare matrice reale mn si diverse tipuri de
opt iuni. De asemenea, rezultatele sunt date pentru doua versiuni ale algoritmului:
prima versiune utilizeaza algoritmul de bidiagonalizare JQr (ca mai sus), iar cea
de a doua algoritmul de R-bidiagonalizare (v. obs. 5.4). 3
22
Din acest motiv, n referirile ulterioare vom renunt a la caracterul c din sigl a.
5.4. CONDIT IONARE 411
opt
1
opt
2
N
op
N
op
versiunea 1 versiunea 2
nu nu 4mn
2
4
3
n
3
2mn
2
+ 2n
3
da nu 4m
2
n + 8mn
2
4m
2
n + 13n
3
nu da 4mn
2
+ 8n
3
2mn
2
+ 11n
3
da da 4m
2
n + 8mn
2
+ 8n
3
4m
2
n + 22n
3
Tabelul 5.1: Complexitatea algoritmului DVS
5.4 Condit ionarea valorilor singulare
In aceasta sect iune vom aborda cateva aspecte privind sensibilitatea valorilor sin-
gulare si a vectorilor singulari la perturbat ii numerice n matricea init iala.
In acest
scop se vor dovedi utile rezultatele preliminare stabilite n continuare. Ca si pana
acum, rezultatele si demonstrat iile vor prezentate pentru cazul, mai general, al ma-
tricelor complexe, particularizarea pentru matricele reale (care se reduce, n esent a,
la nlocuirea mult imii I C cu mult imea IR si a operatorului hermitic
H
cu operatorul
de transpunere
T
) ind lasata n sarcina cititorului.
5.4.1 Rezultate preliminare
Fie matricea A I C
nn
. Valorile singulare ale matricei A ind nemijlocit legate
de valorile proprii ale matricelor hermitice A
H
A, AA
H
sau
_
0 A
H
A 0
_
multe din
rezultatele stabilite n sect iunea 4.1, referitoare la proprietat ile spectrale ale ma-
tricelor hermitice (n cazul real, simetrice) si gasesc un corespondent direct si ime-
diat n proprietat ile valorilor singulare. Fie 1 un subspat iu liniar al lui I C
n
si o
mult imea vectorilor de norma euclidiana unitara din I C
n
, i.e. sfera de raza unitara
centrata n origine. Notam cu 1
S
= 1 o, i.e. mult imea vectorilor de norma uni-
tara din subspat iul 1. Reamintim ca intotdeauna valorile singulare ale unei matrice
sunt indexate n sens descrescator.
max
= max
x o
|Ax|,
min
= min
x o
|Ax|, (5.103)
unde | |
def
= | |
2
.
412 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
Demonstrat ie. Rezultatele sunt urmare directa aplicarii teoremei 4.3 matricei
B = A
H
A. 3
k
= max
dim1 = k
min
x 1
S
|Ax| = min
dim1 = n k
max
x 1
S
|Ax|, (5.104)
unde | |
def
= | |
2
este norma euclidiana n I C
n
.
Demonstrat ie. Consideram matricea hermitica B = A
H
A. Pentru orice vector
x I C
n
avem x
H
Bx = |Ax|
2
si, presupunand ca valorile proprii ale matricei B sunt
ordonate descrescator,
k
(B) =
2
k
. Cu aceste precizari, caracterizarile minimax
(5.104) rezulta imediat din aplicarea teoremei Courant-Fisher matricei B. 3
Corespondentul teoremei de separare 4.5 are urmatorul enunt .
Teorema 5.11 (Teorema de separare a valorilor singulare) Fie A I C
nn
. Notam
A
k
def
= A( : , 1 : k) sau A
k
def
= A(1 : k, : ). Atunci valorile singulare ale matricei A
k
separa valorile singulare ale matricei A
k+1
, i.e.
1
(A
k+1
)
1
(A
k
)
2
(A
k+1
) . . .
k
(A
k+1
)
k
(A
k
)
k+1
(A
k+1
),
(5.105)
pentru tot i k 1 : p1, p = min(m, n).
Demonstrat ie. Presupunem mai ntai ca A
k
este matricea formata din primele k
coloane ale matricei A. Atunci submatricea lider principala de ordinul k a matricei
B = A
H
A este data de B
[k]
def
= B(1 : k, 1 : k) = A
H
k
A
k
si separarea (5.105) rezulta
din aplicarea directa a teoremei 4.5 matricei B. Daca A
k
este matricea formata din
primele k linii ale matricei A, atunci inegalitat ile (5.105) se obt in aplicand teorema
4.5 matricei C = AA
H
. 3
Una din observat iile imediate care rezulta din teorema 5.11 este aceea ca adau-
garea unei coloane sau unei linii la o matrice data are ca efect cresterea valorii
singulare maxime (i.e. a normei spectrale) si scaderea valorii singulare minime.
O relat ie dintre valorile singulare a doua matrice si valorile singulare ale sumei
lor, data n teorema urmatoare, este utila n aprecierea inuent ei perturbat iilor
numerice n elementele unei matrice asupra valorilor sale singulare.
Teorema 5.12 Fie matricele A, E I C
nn
. Atunci, cu notat ii evidente, avem
k
(A)
1
(E)
k
(A +E)
k
(A) +
1
(E) (5.106)
pentru tot i k 1 : min(m, n).
5.4. CONDIT IONARE 413
Demonstrat ie. Aplicand teorema 4.7 (v. 4.1) matricelor hermitice B =
=
_
0 A
H
A 0
_
si F =
_
0 E
H
E 0
_
, n ipoteza ca valorile proprii sunt ordonate
descrescator, avem
k
(B) +
m+n
(F)
k
(B +F)
k
(B) +
1
(F). (5.107)
Dar, conform propozit iei 5.1, avem
k
(B) =
k
(A), k = 1 : min(m, n),
1
(F) =
=
1
(E) si
m+n
(F) =
1
(E), i.e. relat ia (5.107) este de fapt una si aceeasi cu
(5.106). Teorema este demonstrata. 3
j=1
(
j
(A +E)
j
(E))
2
|E|
2
F
, (5.108)
unde |E|
F
este norma Frobenius a matricei E.
Demonstrat ie. Aplicand teorema Wielandt-Hofmann (v. 4.1) matricelor her-
mitice B =
_
0 A
H
A 0
_
si F =
_
0 E
H
E 0
_
si t inand seama de relat ia dintre
valorile proprii ale matricelor B si F si valorile singulare ale matricelor A si E (v.
propozit ia 5.1) se obt ine rezultatul dorit. 3
5.4.2 Condit ionarea valorilor singulare
Rezultatele prezentate mai sus permit aprecierea condit ionarii valorilor singulare.
In primul rand, avand n vedere faptul ca valorile singulare ale unei matrice A
I C
nn
sunt radacinile patrate ale valorilor proprii ale matricelor hermitice A
H
A
sau AA
H
, iar acestea din urma sunt perfect condit ionate (v. 4.10), rezulta ca si
valorile singulare sunt perfect condit ionate, i.e. putem considera ca numerele de
condit ionare ale valorilor singulare sunt egale cu unitatea.
Rezultatul principal care sust ine armat ia de mai sus este dat de teorema 5.12.
1
)
2
+ (
2
2
)
2
0.48 10
4
nu depasesc valoarea lui . 3
Condit ionarea excelenta a valorilor singulare este unul din argumentele funda-
mentale ale utilizarii lor pentru rezolvarea numerica a unei multitudini de probleme
aplicative de algebra liniara.
5.4.3 Condit ionarea vectorilor singulari
Similar cazului matricelor hermitice (v. 4.10), perfecta condit ionare a valorilor
singulare nu implica n mod necesar buna condit ionare a vectorilor singulari si a
subspat iilor generate de acestia.
Fie A I C
mn
si A = U
H
V descompunerea valorilor sale singulare. Aprecierea
condit ionarii vectorilor singulari, i.e a coloanelor matricelor unitare de transforma-
re U si V , se face prin evaluarea diferent ei unghiulare dintre vectorul exact si cel
perturbat, denita prin
(u
i
, u
i
) = arccos [u
H
i
u
i
[, i = 1 : m (v
j
, v
j
) = arccos [v
H
j
v
j
[, j = 1 : n,
(5.110)
raportata la norma variat iei matricei date.
Aceasta abordare poate extinsa la exprimarea condit ionarii subspat iilor ge-
nerate de vectori singulari care este apreciata prin variat ia unghiulara (v. 4.10)
a subspat iilor respective. Concret, ind data o matrice A si
I
(A) un set de
valori singulare ale acesteia, prin condit ionarea subspat iului |, generat de vectorii
singulari asociat i setului
I
, vomnt elege variat ia unghiulara (sau o margine supe-
rioara a acesteia) a subspat iului | raportata la nivelul perturbat iilor n elementele
matricei A.
Condit ionarea subspat iilor generate de vectori singulari este determinata n
mod decisiv de localizarea valorilor singulare asociate. Este posibil, si aici, ca un
subspat iu generat de vectori singulari rau condit ionat i sa aiba o condit ionare foarte
buna daca grupul corespunzator de valori singulare este bine separat de celelalte.
j
[ (5.111)
si corespondentele lor relative, prin
relgap
i
def
= min
j1:p
j=i
[
i
j
[
i
+
j
, relgap
I
def
= min
iI
jI
[
i
j
[
i
+
j
, (5.112)
unde p = min(m, n).
Condit ionarea subspat iului |
I
, i.e. variat ia unghiulara a acestuia raportata
la nivelul perturbat iilor n matricea init iala, se poate aprecia prin numarul de
condit ionare
UI
def
=
1
gap
I
(5.113)
si, n particular, condit ionarea unui vector singular prin numarul
ui
def
=
1
gap
i
. (5.114)
Pentru detalii recomandam consultarea referint elor bibliograce [ IV], [ VI ], [ VIII ].
5.5 Stabilitatea numerica a algoritmului DVS
Analiza erorilor introduse de algoritmul DVS a condus la aprecierea ca acesta
reprezinta un mijloc foarte abil de calcul al valorilor singulare si al vectorilor
singulari. Altfel spus, algoritmul DVS este un algoritm numeric stabil [ VI ], [ XV],
i.e. se poate arata ca tripletul (
U,
,
V ), care deneste DVS calculata, este o DVS
exacta pentru o matrice foarte apropiata de matricea data.
In termeni formali,
daca A I C
mn
si, prin urmare,
U I C
mm
,
V I C
nn
,
=
_
1
0
_
sau
=
=
_
1
0
, cu
1
=
1
,
2
, . . . ,
p
, p = min(m, n), atunci exista matricele
unitare
U I C
mm
,
V I C
nn
, astfel ncat, notand
U
def
=
U
U, A
def
=
U
V
H
A, V
def
=
U
V , (5.115)
sunt satisfacute inegalitat ile
|U| p(m, n)
M
, |A| p(m, n)|A|
M
, |V | p(m, n)
M
,
(5.116)
unde, ca si pana acum, | |
def
= | |
2
este norma spectrala, p(m, n) este o notat ie
generica pentru o funct ie cu o crestere modesta
23
iar
M
este epsilon masina
denind precizia de reprezentare a formatului virgula mobila utilizat.
23
Asa cum s-a precizat si n capitolul 4, practic pentru tot i algoritmii prezentat i n acest
capitol, p(m, n) sau p(n) este o funct ie polinomial a de un grad modest (1, 2 sau, foarte rar,
3) de parametri ce denesc dimensiunea problemei.
In [ XV] se arm a c a o apreciere de genul
p(n) < 10n sau p(m, n) < 10 max(m, n) este adev arat a n majoritatea situat iilor practice pentru
care se foloseste formula de evaluare funct ie cu o crestere modest a.
416 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
Combinand excelenta condit ionare a valorilor singulare cu stabilitatea numerica
a algoritmului DVS, se poate arma ca descompunerea valorilor singulare este cel
mai bun mijloc de a calcula invariant ii unei matrice la transformarile de echivalent a
(cum este rangul). Concret valorile singulare calculate
i
satisfac inegalitat ile
[
i
i
[ p(m, n)|A|
M
= p(m, n)
1
M
. (5.117)
Deci, pentru toate valorile singulare avem aceeasi margine de eroare absoluta, ceea
ce nseamna ca valorile singulare mari vor avea erori relative mici.
Pentru vectorii singulari si subspat iile generate de acestia, erorile raportate la
matricea init iala pot amplicate de numerele de condit ionare, astfel ca putem
scrie
(u
i
, u
i
)
p(m, n)|A|
M
gap
i
, (|
I
,
|
I
)
p(m, n)|A|
M
gap
I
. (5.118)
In sfarsit, ment ionam ca cea mai mare acumulare a erorilor are loc n faza de re-
ducere la forma bidiagonala, faza iterativa a algoritmului DVS avand o contribut ie
modesta n acest sens. Prin urmare, pentru matricele bidiagonale, chiar erorile rela-
tive ale tuturor valorilor singulare sunt marginite de un multiplu modest al erorilor
de reprezentare. Pentru amanunte, vezi [ XV].
5.6 Aplicat iile DVS
In prima sect iune a acestui capitol au fost introduse o serie de concepte si pro-
bleme de calcul numeric conexe, probleme a caror rezolvare se poate face performant
apeland la DVS a unor matrice. Cu aceasta ocazie au fost prezentate si demonstrate
rezultate matematice care sugereaza unele modalitat i de calcul.
In sect iunea de
fat a ne propunem sa revenim asupra acestor probleme n vederea dezvoltarii unor
proceduri de calcul abile, pentru relevarea unor aspecte numerice semnicative
precum si pentru extinderea unor rezultate n contextul utilizarii algoritmului DVS
pentru calculul valorilor singulare.
5.6.1 Trunchierea DVS calculate. Calculul rangului.
Rangul numeric
In conformitate cu propozit ia 5.2, rangul unei matrice este dat de numarul valo-
rilor sale singulare nenule
24
. Acest rezultat fundamental are o utilitate redusa n
aplicat iile curente n care matricele de date sunt, n general, rezultatul unor evaluari
aproximative, iar utilizarea calculatorului pentru determinarea valorilor singulare
este nsot ita de erori.
In astfel de situat ii, generic, toate valorile singulare calculate
sunt, n sens strict, nenule. Prin urmare, generic, n urma procesarii n medii de
calcul aproximativ, toate matricele devin de rang maximal si, datorita acestui fapt,
24
O alternativa viabila, cu un efort de calcul mai redus, pentru rezolvarea problemelor de rang
este data de triangularizarea unitar a (ortogonal a) cu pivotarea coloanelor (vezi cap. 3.). Din
punctul de vedere al calitat ilor numerice DVS constituie ns a metoda cea mai bun a (vezi exemplul
din acest paragraf).
5.6. APLICAT IILE DVS 417
problema determinarii rangului ramane fara obiect. De aceea, pentru aplicat ii, este
necesara o modalitate coerenta de apreciere a valorilor singulare neglijabile. Ran-
gul rezultat dupa deciziile de neglijare, n conformitate cu criterii bine precizate,
a valorilor singulare mici va numit rangul numeric al matricei init iale. Mai
precis avem urmatoarea denit ie.
Denit ia 5.6 Fie A I C
mn
si A = UV
H
DVS a matricei A. Rangul numeric
al matricei A pentru o tolerant a xata este denit de
r = rang(A, ) = min
|A X|
X I C
mn
rangX, (5.119)
i.e. este cel mai mic dintre rangurile tuturor matricelor de aceleasi dimensiuni aate
la o distant a denita de norma spectrala de matricea A mai mica decat tolerant a
admisa
25
.
DVS este un mijloc extrem de sigur de determinare a rangului numeric n sensul
denit iei de mai sus.
In sprijinul acestei armat ii avem urmatoarea teorema.
Teorema 5.14 Daca A = UV
H
este DVS a matricei A I C
mn
, k < r = rangA
si
A
k
def
=
k
j=1
j
u
j
v
H
j
, (5.120)
atunci
min
rangX = k
X I C
mn
|AX| = |A A
k
| =
k+1
. (5.121)
Demonstrat ie. Precizam mai ntai faptul ca, atat n enunt ul teoremei cat si
n cele ce urmeaza, utilizam n exclusivitate norma spectrala. Din (5.120) rezulta
U
H
A
k
V = diag(
1
,
2
, . . . ,
k
, 0, . . . , 0), de unde rangA
k
= k. Rezulta A A
k
=
r
j=k+1
j
u
j
v
H
j
, de unde avemU
H
(AA
k
)V = diag(0, . . . , 0,
k+1
, . . . ,
r
, 0, . . . , 0)
si, prin urmare, |AA
k
| =
k+1
.
Fie acum o matrice m n (complexa) X de rang k, altfel arbitrara. Fie, de
asemenea, subspat iile liniare
A = KerX,
1 = ImV ( : , 1 : k+1) si J =
A
1 din
I C
n
.
Intrucat dim
A = n k si dim
k+1
i=1
z
i
v
i
. Obt inem
Aw =
k+1
i=1
z
i
Av
i
=
k+1
i=1
z
i
i
u
i
. Rezulta
|AX|
def
= max
|x| = 1
|(A X)x| |(AX)w| = |Aw| =
_
k+1
i=1
[z
i
[
2
2
i
.
25
In ceea ce priveste nivelul tolerant elor practicate, acesta depinde de contextul aplicativ. De
exemplu, daca matricea provine din date experimentale cu un nivel cunoscut al erorilor de m asur a,
atunci nu are nici un sens ca sa e inferior acestui nivel. Dac a matricea init ial a se consider a
exacta, atunci se recomanda
M
A, unde
M
este epsilon masin a al formatului virgul a mobil a
al masinii pe care se efectueaza calculele.
418 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
Deoarece vectorul z are norma unitara, i.e.
k+1
i=1
[z
i
[
2
= 1, pentru expresia de sub
radical avem evaluarea
k+1
i=1
[z
i
[
2
2
i
=
2
k+1
+
k
i=1
[z
i
[
2
(
2
i
2
k+1
)
2
k+1
.
Din ultimele doua relat ii rezulta |AX|
2
2
k+1
pentru orice matrice X I C
mn
de rang k si, cum am vazut mai sus ca marginea inferioara poate atinsa, ca (5.121)
este adevarata. 3
Prin urmare,
k+1
este cea mai mica distant a, n sensul normei spectrale, dintre
matricea A si toate matricele mn de rang k.
In particular, cea mai mica distant a
dintre o matrice A I C
nn
nesingulara si toate matricele singulare este data de
valoarea singulara minima
n
a lui A.
Exemplul 5.5 Consideram important si util, n contextul acestui paragraf, sa
reluam un exemplu prezentat n capitolul 2, exemplu menit sa ilustreze faptul ca
unele criterii, nca uzitate, pentru aprecierea apropierii unei matrice de o matrice
singulara (cum ar valoarea determinantului sau cel mai mic dintre modulele valo-
rilor proprii), dau informat ii false si ca singurul criteriu corespunzator este dat de
valoarea singulara minima. Fie matricea Toeplitz superior triunghiulara
A =
_
_
1 1 1 1
0 1 1 1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 1 1
0 0 0 1
_
_
IR
nn
avand, evident, detA = 1 si toate valorile proprii egale cu 1, deci min [
i
(A)[ = 1,
independent de dimensiunea matricei. Prin urmare, ambele criterii amintite mai sus
indica indubitabil faptul ca matricea A este sucient de departe de o matrice
singulara si ca, aparent, este bine condit ionata la inversare. Faptul ca, cel put in n
cazul de fat a, aparent ele nseala se poate constata imediat considerand matricea
A =
_
_
1 1 1 1
0 1 1 1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 1 1
1
2
n2
0 0 1
_
_
IR
nn
care este (demonstrat i!) singulara. Cum |A
A| =
1
2
n2
n
(A) rezulta ca
matricea A se apropie exponent ial de o matrice singulara odata cu cresterea dimen-
siunii.
Numarul de condit ionare la inversare creste si el exponent ial cu dimensiunea
matricei. De exemplu, utilizand | |
= n2
n1
. Pe de alta parte, matrice avand valori proprii foarte mici si, ca
5.6. APLICAT IILE DVS 419
urmare, si determinant i asijderea, pot avea o condit ionare foarte buna. Pentru
detalii, vezi capitolul 2. 3
Una dintre consecint ele conceptuale importante ale teoremei 5.14 este faptul ca
matricele mn de rang maximal formeaza o mult ime deschisa si densa n I C
mn
, i.e.
generic, toate matricele sunt de rang maximal. De aceea, n problemele de calcul
numeric care fac apel la not iunea de rang, utilizarea not iunii de rang numeric este
indispensabila.
Prezentamn continuare un corolar al teoremei 5.14.
In contextul lucrarii, rezul-
tatul are o utilitate practica evidenta.
Corolar 5.3 Daca matricea A I C
mn
are rangul numeric r = rang(A, ), atunci
1
2
. . .
r
>
r+1
. . .
p
, (5.122)
unde p = min(m, n).
Demonstrat ie. Daca
r+1
> rezulta rang(A, ) > r, iar daca
r
, atunci
rang(A, ) < r. Deci,
r
>
r+1
. 3
Observat ia 5.7 Practic toate aplicat iile care utilizeaza DVS a unei matrice, fac
apel la rangul acesteia.
In contextul calculatoriu al lucrarii, n continuare vom pre-
supune ca este vorba implicit de rangul numeric.
In consecint a, vom presupune
ca s-au neglijat, prin anulare efectiva, valorile singulare inferioare tolerant ei pre-
cizate si vom renunt a la notat ii speciale care diferent iaza rangul numeric de rangul
matematic. 3
Desi, avand n vedere corolarul 5.3 si observat ia 5.7, scrierea unui algoritm pen-
tru determinarea rangului numeric al unei matrice nu prezinta nici o dicultate,
totusi, t inand seama de important a aplicativa a problemei, consideram necesara
ndeplinirea acestei formalitat i.
Algoritmul 5.6 (Rang DVS Calculul rangului numeric) (Date
matricea A I C
mn
si tolerant a tol > 0, algoritmul calculeaza rangul
numeric r = rang(A, tol) al matricei A.)
1. p = min(m, n)
2. [ U, , V ] = DVS(A,
nu
nu
)
3. r = 0
4. C^at timp
r+1,r+1
tol
1. r r + 1
2. Daca r = p atunci break
Comentarii. Sintaxa de apel a algoritmului este
r = Rang DVS(A, tol).
In aplicat iile care sunt prezentate n continuare se vor ivi situat ii n care este necesar
atat calculul rangului cat si calculul explicit al DVS a matricei A. Pentru a evita
un calcul dublu al aceleiasi DVS, se va utiliza secvent a de apeluri
420 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
1. [ U, , V ] = DVS(A, opt1, opt2)
2. r = Rang DVS(, tol)
la instruct iunea 2 matricea argument ind diagonal nu se mai calculeaza n fapt
nici o DVS.
Complexitatea algoritmului este data, n cazul general, de complexitatea algo-
ritmului DVS fara acumularea transformarilor. 3
Observat ia 5.8
In denirea si calculul rangului numeric a fost utilizata, n exclu-
sivitate, norma spectrala.
In unele lucrari [ VI ], pentru dezvoltarea acelorasi idei, se
prefera utilizarea normei Frobenius, rezultatele ind ntru totul similare.
In aceasta
observat ie prezentam rezultatul corespunzator teoremei 5.14, care ne va util si n
rezolvarea problemei celor mai mici patrate totala.
Teorema 5.15 Daca = UAV
H
este DVS a matricei A I C
mn
, k < r = rangA
26
si A
k
este matricea denita n (5.120), atunci
min
rangX=k
XI C
mn
|AX|
2
F
= |AA
k
|
2
F
=
r
i=k+1
2
i
. (5.123)
Mai mult A
k
este unica matrice de rang k pentru care acest minim este atins.
Demonstrat ie. Fie X I C
mn
o matrice de rang k arbitrara si X =
U
V
H
DVS a matricei X, unde
=
_
11
0
0 0
_
IR
mn
cu
11
= diag(
1
,
2
, . . . ,
k
).
Notam B =
U
H
A
V =
_
B
11
B
12
B
21
B
22
_
cu B
11
I C
kk
. Fie (B
11
) =
1
,
2
, . . . ,
k
.
Evident, (A) = (B) si, din teorema 5.11, de separare a valorilor singulare, rezulta
imediat
i
i
, i = 1 : k. Rezulta |B
11
|
2
F
=
k
i=1
2
i
k
i=1
2
i
. Avem, n
consecint a, urmatoarele evaluari:
|A X|
2
F
= |B
|
2
F
= |B|
2
F
+
k
j=1
[b
jj
j
[
2
j=1
[b
jj
[
2
|B|
2
F
|B
11
|
2
F
|B|
2
F
k
i=1
2
i
=
r
i=k+1
2
i
.
Pe de alta parte este evidenta egalitatea |AA
k
|
2
F
=
r
i=k+1
2
i
, i.e. minimul
este atins pentru X = A
k
. Vom arata acum ca X = A
k
este singura matrice de
rang k astfel ncat |AX|
2
F
=
r
i=k+1
2
i
. Cu notat iile utilizate mai sus rezulta
k
j=1
2
j
+
k
j=1
[b
jj
j
[
2
j=1
[b
jj
[
2
= 0
26
Aici, la fel ca n teorema 5.14, r este rangul matematic.
5.6. APLICAT IILE DVS 421
si
k
j=1
2
j
k
j=1
2
j
= |B
11
|
2
F
k
j=1
[b
jj
[
2
,
de unde obt inem
b
jj
=
j
, j = 1 : k.
Rezulta B
11
=
11
, de unde unicitatea se obt ine imediat. 3
i=k+1
2
i
< ,
unde este o tolerant a precizata. Si aceasta denire a not iunii de rang numeric este
utila mai ales n contextul calculului numeric, situat ie n care
i
, din relat ia de mai
sus, sunt valorile singulare calculate ale matricei A. 3
5.6.2 Problema generala a celor mai mici patrate
Consideram sistemul liniar
Ax = b (5.124)
n cadrul general n care matricea A I C
mn
nu este de rang maximal
27
(i.e.
r = rangA < min(m, n)), cu b I C
m
arbitrar. Formulam problema rezolvarii n
sens CMMP a acestui sistem, respectiv de calcul a vectorului x
I C
n
de norma
euclidiana minima care minimizeaza norma euclidiana a reziduului r(A, b) = bAx,
i.e.
|x
| = min
|b Ax| = minim
x I C
n
|x|, (5.125)
numita pseudosolut ie normala a sistemului (5.124). Avem urmatorul rezultat.
Propozit ia 5.7 Sistemul liniar (5.124) admite o pseudosolut ie normala unic de-
terminata. Daca A = UV
H
este DVS a matricei A, atunci aceasta pseudosolut ie
normala are expresia
x
= A
+
b =
r
j=1
u
H
j
b
j
v
j
. (5.126)
Demonstrat ie. Fie d = U
H
b =
_
d
_
, y = V
H
x =
_
y
_
unde d
= d(1 : r),
d
= d(r+1 : m) si y
= y(1: r), y
1
y
|
2
2
+|d
|
2
2
27
Pentru sistemele de rang maximal vezi capitolul 3.
422 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
care este, evident, minima pentru y
=
1
1
d
si y
= 0. Cum |x|
2
= |y|
2
, rezulta ca vectorul de norma euclidiana minima care
minimizeaza reziduul |b Ax|
2
este
x
= V
_
1
1
d
0
_
= V
_
1
1
0
0 0
_
d = V
+
U
H
b = A
+
b,
ultima egalitate din (5.126) obt in andu-se utilizand (5.55). Unicitatea pseudosolut iei
normale rezulta din unicitatea pseudoinversei. 3
Propozit ia 5.7 conduce la urmatorul algoritm.
Algoritmul 5.7 (CMMP Rezolvarea problemei generale CMMP)
(Date matricea A I C
mn
, vectorul b I C
m
si tolerant a tol > 0, algorit-
mul calculeaza (pseudo)solut ia x = x
I C
n
, n sens CMMP, de norma
euclidiana minima, a sistemului liniar Ax = b.)
1. [ U, , V ] = DVS(A,
da
da
)
2. r = Rang DVS(, tol)
3. x = 0
4. Pentru j = 1 : r
1. = (U( : , j))
H
b
2. =
j
3. x = x +V ( : , j)
Comentarii. Sintaxa de apel a algoritmului este
x = CMMP(A, b, tol),
iar complexitatea sa este determinata de complexitatea algoritmului DVS cu acu-
mularea transformarilor.
Algoritmul prezentat este numeric stabil, detalii privind acuratet ea solut iei prob-
lemei CMMP calculata mai sus putand gasite n [ VI ]. 3
5.6.3 Problema celor mai mici patrate totala
Vom formula si rezolva n cele ce urmeaza o generalizare a problemei clasice a celor
mai mici patrate (CMMP). Pentru a da o justicare formularii acestei generalizari,
sa observam ca problema CMMP, de minimizare a normei euclidiene a reziduului
r = Ax b, unde matricea A I C
mn
si vectorul b I C
n
sunt date
28
, poate
reformulata n modul urmator. Putem privi reziduul r din egalitatea Ax = b +r ca
o perturbare a vectorului de date b sub restrict ia ca b +r = Ax pentru un anumit
28
Toate rezultatele raman valabile si n cazul real. S-a preferat considerarea datelor complexe
pentru asigurarea omogenitat ii tratarii materialului din acest capitol.
5.6. APLICAT IILE DVS 423
x, i.e. (b +r) ImA.
In aceste condit ii problema CMMP este de a determina acel
reziduu r
I C
m
pentru care avem
|r
| = min
(b +r) ImA
|r|, (5.127)
unde | |
def
= | |
2
este norma euclidiana din I C
m
.
In aceasta interpretare, daca
r
I C
n
a
sistemului Ax = b +r
m
i=1
[r
i
[
2
)
1
2
, i.e. considerarea problemei minimizarii reziduului
ponderat |Cr| = (
m
i=1
[c
i
r
i
[
2
)
1
2
, unde C = diag(c
1
, c
2
, . . . , c
m
) I C
mm
este o
matrice nesingulara, i.e. problema (5.127) devine
|Cr
| = min
(b +r) ImA
|Cr|, r I C
m
. (5.128)
Al doilea pas de generalizare poate facut considerand si perturbat ii la nivelul
elementelor matricei A, respectiv considerand sistemul liniar (A + E)x = b + r
si impunand minimizarea normei Frobenius a reziduului cumulat G
def
= [ E r ]
I C
m(n+1)
. Introducand si matricele diagonale nesingulare C=diag(c
1
, c
2
, . . . , c
m
)
si D = diag(d
1
, d
2
, . . . , d
n+1
) de ponderare pe linii, respectiv pe coloane, a ma-
tricei G, problema de minimizare devine
|CG
D|
F
= min
(b +r) Im(A +E)
|CGD|
F
, E I C
mn
, r I C
m
, (5.129)
ind cunoscuta sub denumirea de problema celor mai mici patrate totala (CMMPT).
Daca (E
, r
a sistemului (A+E
)x = b +r
IR
m(n+1)
astfel ncat
|CG
D|
2
F
= min
G IR
m(n+1)
|CGD|
2
F
, cu legaturile (G+ [ A b ])
_
x
1
_
= 0.
(5.130)
Fie
h(G, ) = |CGD|
2
F
+
T
(G+ [ A b ])
_
x
1
_
(5.131)
funct ia lui Lagrange asociata problemei de extrem cu legaturi (5.131). Pentru cal-
culul extremului impunem condit iile clasice
h(G, )
g
ij
= 0, i = 1 : m, j = 1 : n + 1, (5.132)
424 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
(unde, evident, g
ij
= G(i, j)) care conduc imediat la exprimarea elementelor matri-
cei Gn funct ie de multiplicatorii Lagrange
i
= (i)
g
ij
def
= e
ij
=
i
x
j
2c
2
i
d
2
j
, i = 1 : m, j = 1 : n, g
i,n+1
def
= r
i
=
i
2c
2
i
d
2
n+1
, i = 1 : m.
(5.133)
Impunand satisfacerea legaturilor obt inem valoarea multiplicatorilor Lagrange core-
spunzatoare punctului de extrem
=
2(Ax b)
x
T
D
2
x +d
2
n+1
,
D = diag(d
1
, d
2
, . . . , d
n
). (5.134)
Pentru un vector x xat, valoarea optima G
(x) = [ E
(x) r
i
n relat iile (5.133). Obt inem
E
(x) =
1
2
C
2
x
T
D
2
, r
(x) =
1
2
C
2
d
2
n+1
. (5.135)
Utilizand, acum, egalitatea |y z
T
|
F
= |y| |z|, adevarata pentru orice vectori y si
z (demonstrat i!), obt inem valoarea minima (pentru un x xat) a criteriului (5.130)
f(x)
def
= |CG
(x)D|
2
F
= |CE
(x)
D|
2
F
+|Cr
(x)d
n+1
|
2
F
=
=
1
4
m
i=1
c
2
i
(a
T
i
x b
i
)
2
n
i=1
x
2
i
d
2
i
+d
2
n+1
, (5.136)
unde a
T
i
= A(i, : ) este linia i a matricei A. Evident, punctul de minim x
IR
n
al
funct iei f este (pseudo)solut ia problemei CMMPT (5.129). Desi aceasta observat ie
nu ofera o alternativa viabila de calcul, totusi este utila pentru interpretarea unor
rezultate. 3
Observat ia 5.10 Observat ia 5.9 ofera posibilitatea unei interpretari geometrice a
problemei CMMPT. Fie subspat iul liniar
T
x
=
_ _
a
b
_
a IR
n
, b IR, a
T
x = b
_
IR
n+1
denit pentru ecare parametru vectorial x IR
n
. Utilizand aceeasi procedura
clasica, de calcul a extremelor cu legaturi, se arata (exercit iu pentru cititor) ca
distant a, n sensul normei |z|
D
def
= |Dz|, dintre un punct arbitrar z =
_
a
b
_
IR
n+1
si cel mai apropiat punct din subspat iul T
x
este
(z, T
x
) =
[a
T
x b[
_
n
i=1
x
2
i
d
2
i
+d
2
n+1
.
D| = min
(B +R) Im(A +E)
|CGD|
F
, E I C
mn
, R I C
mp
, G = [ E R],
(5.137)
unde matricele A I C
mn
, B I C
mp
, cu m n +p, precum si matricele diagonale
nesingulare C I C
mm
si D I C
(n+p)(n+p)
sunt date. La fel ca si pana acum,
daca (E
, R
I C
np
care satisface sistemul liniar matriceal (A+E
)X = B+R
va numita
(pseudo)solut ia, n sens CMMPT, a sistemului AX = B.
Pentru a formula mai concis rezultatul referitor la existent a si unicitatea solut iei
problemelor de minimizare ce denesc CMMPT, vom introduce unele notat ii si vom
stabili un rezultat preliminar. Fie
H
def
= C[ A B ]D =
n
..
p
..
_
H
1
H
2
(5.138)
si H = UV
H
DVS a matricei H, cu urmatoarele partit ii ale matricelor U, V si
impuse de structura lui H
U =
n
..
p
..
mnp
..
_
U
1
U
2
U
3
, V =
n
..
p
..
_
V
11
V
12
V
21
V
22
_
n
p
=
n
..
p
..
_
_
1
0
0
2
0 0
_
_
n
p
mnp
,
1
= diag(
1
,
2
, . . . ,
n
)
2
= diag(
n+1
,
n+2
, . . . ,
n+p
). (5.139)
Introducem urmatoarea lema.
Lema 5.1 Daca
n
(H
1
) >
n+1
, atunci
1
. Matricea V
22
din (5.139) este nesingulara.
2
n
>
n+1
. (5.140)
Demonstrat ie. 1
. Presupunem ca matricea V
22
este singulara. Atunci exista un
vector z I C
p
nenul, pe care l putem considera de norma euclidiana unitara, astfel
ncat V
22
z = 0. Mai departe, din faptul ca matricea V
2
def
=
_
V
12
V
22
_
are coloanele
ortogonale, i.e. V
H
2
V
2
= I
p
, obt inem |V
2
z| = |V
12
z| = 1. Pe de alta parte din
426 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
DVS a matricei H, cu partit iile din (5.139), avem U
2
2
= H
1
V
12
+ H
2
V
22
. Acum,
t inand seama de consistent a normei spectrale, putem scrie urmatoarea secvent a de
inegalitat i
n+1
= |
2
| = |U
2
| |
2
| |U
2
2
| = |H
1
V
12
+H
2
V
22
| =
= max
y=1
|(H
1
V
12
+H
2
V
22
)y| |H
1
V
12
z| min
w=1
|H
1
w| =
n
(H
1
),
ceea ce contrazice ipoteza lemei. Deci V
22
este nesingulara.
2
n
=
n
(H)
n
(H
[n+p1]
) . . .
n
(H
[n]
)
def
=
n
(H
1
), (5.141)
de unde, n ipoteza lemei, rezulta
n
n
(H
1
) >
n+1
, obt inandu-se inegalitatea
stricta din enunt . 3
Formulam acum teorema de existent a si unicitate a solut iei problemei CMMPT.
Teorema 5.16 Utilizand notat iile (5.138), (5.139), daca
n
(H
1
) >
n+1
, atunci
matricea G
def
= [ E
] denita de
G
= [ E
] = C
1
U
2
2
[ V
H
12
V
H
22
]D
1
(5.142)
este o solut ie a problemei de minimizare CMMPT (5.137).
In plus, daca notam
D
1
= diag(d
1
, d
2
, . . . , d
n
), D
2
= diag(d
n+1
, d
n+2
, . . . , d
n+p
), (5.143)
atunci matricea
X
= D
1
V
12
V
1
22
D
1
2
(5.144)
exista si este unica solut ie a sistemului
(A +E
)X = B +R
, (5.145)
i.e. este unica (pseudo)solut ie, n sens CMMPT, a sistemului liniar AX = B.
Demonstrat ie. Condit ia (B +R) Im(A + E) este echivalenta cu existent a unei
matrice X I C
np
astfel ncat (A + E)X = B + R. Cu notat iile din (5.137) si
(5.138), ultima relat ie poate scrisa n urmatoarele forme echivalente
__
A B
+G
_
_
X
I
p
_
= 0 (H +CGD)D
1
_
X
I
p
_
= 0. (5.146)
Intrucat matricea
_
X
I
p
_
este monica, din (5.146) rezulta rang(H + CGD) n.
Notand F
def
= CGD, n continuare aplicam teorema 5.15 matricei F = H(H+F).
Obt inem
min
rang(H+F)n
|F|
2
F
=
n+p
i=n+1
2
i
, (5.147)
5.6. APLICAT IILE DVS 427
minimul atingandu-se pentru
(H +F)
=
n
j=1
j
u
j
v
H
j
= U
1
1
_
V
11
V
21
_
H
. (5.148)
Rezulta
F
= U
1
1
_
V
11
V
21
_
H
H = U
2
2
_
V
21
V
22
_
H
, (5.149)
de unde se obt ine imediat (5.142). Mai mult, conform lemei 5.1, n condit iile teore-
mei avem inegalitatea stricta
n
>
n+1
, ceea ce asigura unicitatea matricei G = G
)X = B +R
D)D
1
_
X
I
p
_
= 0. (5.150)
Pentru aceasta, din expresia (5.142) a matricei G
D = U
1
1
_
V
H
11
V
H
21
, (5.151)
de unde, datorita monicitat ii matricei U
1
1
, rezulta
Ker (H +CG
D) = Ker
_
V
H
11
V
H
21
= Im
_
V
12
V
22
_
. (5.152)
Prin urmare, din (5.150) si (5.143) rezulta ca orice solut ie X satisface relat iile
D
1
_
X
I
p
_
=
_
V
12
V
22
_
Y
_
D
1
1
X = V
12
Y
D
1
2
= V
22
Y.
(5.153)
Deci, n virtutea lemei 5.1, avem Y = V
1
22
D
1
2
.
In concluzie, n mod necesar, din
(5.153) rezulta ca unica (pseudo)solut ie, n sens CMMPT, este
X = D
1
V
12
Y = D
1
V
12
V
1
22
D
1
2
= X
,
i.e. (5.144). Teorema este demonstrata. 3
Prezentam n continuare o modalitate de calcul a solut iei problemei CMMPT
care deriva nemijlocit din demonstrat ia teoremei 5.16.
Algoritmul 5.8 (CMMPT Solut ia problemei CMMPT) (Se dau
matricele A I C
mn
, B I C
mp
, cu m n+p, precum si matricele dia-
gonale nesingulare C = diag(c
1
, c
2
, . . . , c
m
) I C
mm
si D=diag(D
1
, D
2
)
I C
(n+p)(n+p)
, unde D
1
= diag(d
1
, d
2
, . . . , d
n
), D
2
= diag(d
n+1
, d
n+2
,
. . . , d
n+p
). Algoritmul calculeaza solut ia (daca exista a) problemei
CMMPT, denite de cvartetul (A, B, C, D), i.e. calculeaza matricele
E = E
I C
mn
si R = R
I C
mp
care sunt solut ia problemei de mi-
nimizare (5.137) precum si solut ia X
a sistemului liniar (A +E
)X =
= B + R
, R
, X
) raman vide.)
428 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
1. E = [ ], R = [ ], X = [ ]
2. H = C[ A B]D
3. [ U, , V ] = DVS(H,
da
da
)
4. [ P, , Q] = DVS(H( : , 1 : n),
nu
nu
)
5. Daca
n
n+1
atunci
1. Tipareste(Problema nu admite solut ie!)
2. Return
6. Daca
n
=
n+1
atunci
1. Tipareste(Problema nu admite o solut ie unica!)
2. Return
7. Se rezolva sistemul matriceal
X(D
2
V (n + 1 : n +p, n + 1 : n +p)) = D
1
V (1 : n, n + 1 : n +p)
8. E
= C
1
U
2
2
V
H
12
D
1
1
, unde U
2
= U(:, n + 1 : n +p),
2
= (n + 1 : n +p, n + 1 : n +p), V
12
= V (1 : n, n + 1 : n +p)
9. R
= C
1
U
2
2
V
H
22
D
1
2
, unde V
22
= V (n+1 : n+p, n+1 : n+p).
Comentarii. Sintaxa de apel a algoritmului este
[ X, E, R] = CMMPT(A, B, C, D).
2
min
(V
22
)
, (5.154)
ceea ce indica faptul ca a minimiza |X|
D
este echivalent cu maximizarea celei mai
mici valori singulare a submatricei V
22
. Un algoritm pentru cazul important si uzual
p = 1, i.e. al problemei (5.129), poate gasit n [ VI ].
5.6. APLICAT IILE DVS 429
5.6.4 Probleme CMMP cu restrict ii
Intr-o formulare generala, problema celor mai mici patrate cu restrict ii are
urmatorul enunt . Date matricea A I C
mn
, cu m > n, vectorul b I C
m
si mult imea
nevida A I C
n
, sa se determine vectorul x
|
def
= |Ax
b| = min
x A
|Ax b|, (5.155)
unde, ca n toate problemele de tip CMMP, | | este norma euclidiana.
Diversele probleme CMMP cu restrict ii difera, natural, prin tipurile de mult imi
A.
In continuare vom considera c ateva cazuri frecvent ntalnite n aplicat ii.
Problema CMMP cu restrict ii liniare tip egalitate
Restrict iile liniare tip egalitate pot descrise prin
A = x[ x I C
n
, Cx = d , (5.156)
unde C I C
pn
, p < n, este o matrice epica
29
si d I C
p
.
Problema CMMP (5.155), (5.156) poate rezolvata prin reducerea la rezolvarea
unei probleme CMMP fara restrict ii n modul urmator. Fie factorizarea QR a
matricei monice C
H
, i.e.
C
H
= Q
_
R
1
0
_
= Q
1
R
1
, (5.157)
unde R
1
I C
pp
este superior triunghiulara nesingulara, Q I C
nn
este unitara si
Q
1
= Q( : , 1 : p). Condit ia Cx = d devine echivalenta cu R
H
1
Q
H
1
x = d, i.e.
Q
H
1
x = (R
H
1
)
1
d
def
= y
. (5.158)
Pe de alta parte, considerand partit ia Q = [ Q
1
Q
2
], avem
r
def
= Axb = AQQ
H
xb = [ AQ
1
AQ
2
]
_
Q
H
1
x
Q
H
2
x
_
b = A
1
y +A
2
z b = A
2
z
b
(5.159)
29
Daca C nu este epica, i.e. r = rangC < p, atunci restrict iile pot rescrise n forma
Cx =
d,
unde
C I C
rn
este epica.
Intr-adev ar, dac a C = U
1
1
V
H
1
este dezvoltarea DVS a matricei C,
atunci
C poate
1
V
H
1
, n care caz
d = U
H
1
d. Dac a p = n, atunci C este nesingular a, i.e. X are
un singur element, si problema de minimizare devine trivial a.
430 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
unde am utilizat notat iile
A
1
= AQ
1
, A
2
= AQ
2
, y = Q
H
1
x, z = Q
H
2
x,
b = b A
1
y.
Acum, ntrucat restrict iile sunt echivalente cu xarea vectorului y conform (5.158),
problema CMMP cu restrict iile (5.156) s-a redus la problema minimizarii normei
reziduului (5.159) n raport cu z, fara alte restrict ii. Altfel spus, daca z
este solut ia
problemei CMMP fara restrict ii
|r
|
def
= |A
2
z
| = min
z I C
np
|A
2
z
|, unde
b
def
= b A
1
y
, (5.160)
atunci, evident,
x
= Q
_
y
_
(5.161)
este solut ia problemei CMMP cu restrict ii (5.155), (5.156).
Rezulta urmatorul algoritm de calcul.
Algoritmul 5.9 (CMMP RLE Solut ia problemei CMMP cu
restrict ii liniare tip egalitate) (Se considera date matricea monica A
I C
mn
, cu m > n, si vectorul b I C
m
, care denesc problema CMMP,
precum si matricea epica C I C
pn
, cu p < n, si vectorul d I C
p
, care
denesc restrict iile (5.156). De asemenea se considera data tolerant a tol
care este parametru de intrare pentru algoritmul CMMP fara restrict ii.
Algoritmul calculeaza solut ia x = x
b|,
b = U
H
b,
|Bx d| = |V SW
1
x d| = |Sy
d| ,
d = V
H
d,
(5.166)
30
Aceste condit ii nu sunt neaparat necesare, dar permit anumite simplic ari (v. 5.1).
432 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
i.e. rezolvarea problemei (5.155), (5.162), revine la a rezolva problema echivalenta
de calcul a (pseudo)solut iei y
} = W
1
A (daca exista) astfel ncat
|r
| = |Cy
b| = min
y }
|Cy
b|. (5.167)
Fie, acum, r
A
= rangA, r
B
= rangB ceea ce, avand n vedere ordonarea din
(5.164), nseamna
c
rA+1
= c
rA+2
= . . . = c
n
= 0, s
1
= s
2
= . . . = s
nrB
= 0. (5.168)
Rezulta
(y)
def
= |r|
2
= |Cy
b|
2
=
rA
i=1
[c
i
y
i
b
i
[
2
+
m
i=rA+1
[
b
i
[
2
(5.169)
si, respectiv,
(y)
def
= |Sy
d|
2
=
nrB
i=1
[
d
i
[
2
+
n
i=nrB+1
[s
i
y
i
d
i
[
2
+
p
i=n+1
[
d
i
[
2
2
. (5.170)
O condit ie evidenta ca mult imea } sa nu e vida, i.e. o condit ie necesara de
existent a a solut iei problemei (5.167), este
nrB
i=1
[
d
i
[
2
+
p
i=n+1
[
d
i
[
2
2
. (5.171)
Avand n vedere ca funct ia (5.169), care trebuie minimizata, este marginita pe
compactul }, denit de (5.170), condit ia (5.171) este si sucienta pentru existent a
solut iei problemei CMMP (5.167) cu restrict ii patratice.
Ideea rezolvarii problemei (5.167) este reducerea acesteia la o problema cu re-
strict ii de tip egalitate, pentru care se pot aplica tehnici clasice de minimizare.
1. Consideram, mai ntai, cazul particular n care n (5.171) avem egalitate n
locul inegalitat ii
31
. Rezulta, n mod necesar, pentru satisfacerea restrict iei,
y
i
=
d
i
c
i
, i = n r
B
+ 1 : n. (5.172)
Intrucat, condit ia c
2
i
+ s
2
i
= 1, i = 1 : n implica r
A
+ r
B
n, i.e. r
A
n r
B
,
rezulta ca putem calcula componentele y
i
, i = 1 : n r
B
astfel ncat (y) = |r|
2
sa e minima. Obt inem
y
i
=
b
i
s
i
, i = 1 : n r
B
. (5.173)
31
In cazul n care matricea B, vectorul d si scalarul sunt stabilite din alte considerente
decat cele de asigurare a existent ei solut iei problemei, este put in probabil ca n (5.171) s a c adem
peste situat ia de egalitate. Totusi, n situat ia n care nu exist a solut ii, un compromis posibil este
cresterea scalarului pana la atingerea egalit at ii din (5.171).
5.6. APLICAT IILE DVS 433
Prin urmare, solut ia problemei CMMP (5.167), n situat ia
nrB
i=1
[
d
i
[
2
+
p
i=n+1
[
d
i
[
2
=
2
. (5.174)
este
y
=
_
b
1
c
1
.
.
.
b
nrB
c
nrB
d
nrB+1
s
nrB+1
.
.
.
d
n
s
n
_
_
, r
y
def
= Cy
b =
_
_
0
.
.
.
0
nrB+1
d
nrB+1
.
.
.
rA
d
rA
b
rA+1
.
.
.
b
m
_
_
, (5.175)
iar solut ia corespunzatoare a problemei CMMP init iale, n acest caz, este
x
= W
1
y
, r
= Ur
y
, (5.176)
cu valoarea minima a normei euclidiene a reziduului data de
|r
| = |r
y
| =
_
rA
i=nrB+1
[
i
d
i
b
i
[
2
+
m
i=rA+1
[
b
i
[
2
, (5.177)
unde
i
=
c
i
s
i
, i = nr
B
+1 : r
A
, sunt valorile singulare generalizate nite si nenule
ale perechii (A, B).
2.
In continuare, studiem situat ia n care inegalitatea (5.171) este satifacuta
strict, i.e.
nrB
i=1
[
d
i
[
2
+
p
i=n+1
[
d
i
[
2
<
2
. (5.178)
In acest caz, consideram cea mai mica valoare posibila (i.e. n absent a oricaror
restrict ii) pe care o poate lua funct ia criteriu (y) din (5.169) si anume
= min
y I C
n
(y) =
m
i=rA+1
[
b
i
[
2
, (5.179)
care se obt ine pentru y
} unde
} = y [ y I C
n
cu y
i
=
b
i
c
i
, i = 1 : r
A
, (5.180)
434 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
i.e. componentele y
i
, i = r
A
+ 1 : n, ale vectorilor din
} sunt arbitrare.
Pe de alta parte vectorul y
} care minimizeaza funct ia (y), ce deneste
restrict ia (5.170), este dat de
y
i
=
b
i
c
i
, i = 1 : r
A
, y
i
=
d
i
s
i
, i = r
A
+ 1 : n, (5.181)
iar valoarea minima a funct iei este
= min
y
}
(y) = ( y) =
nrB
i=1
[
d
i
[
2
+
rA
i=nrB
[s
i
b
i
c
i
d
i
[
2
+
p
i=n+1
[
d
i
[
2
. (5.182)
Pot exista doua situat ii:
a.
In prima situat ie, caracterizata de
2
, (5.183)
vectorul y
= y reprezinta,
n acest caz, o solut ie a problemei
32
(5.167). O solut ie a problemei CMMP init iale
se obt ine utilizand relat iile (5.176).
b. A doua situat ie este caracterizata de
>
2
, (5.184)
n care minimul absolut din (5.179) al funct iei (y) nu poate atins. Un rat io-
nament simplu, indica faptul ca, din motive de continuitate a funct iei obiectiv, n
acest caz minimul lui se atinge pe frontiera domeniului }. Prin urmare avem aici
o problema de extrem cu legaturi tip egalitate. Concret, problema este de a calcula
y
pentru care
(y
) = min
yY
(y), } = y [ y I C
n
, (y) =
2
, (5.185)
iar pentru rezolvarea ei vom utiliza metoda clasica a multiplicatorilor lui Lagrange.
Hamiltonianul asociat problemei (5.185) este
h(, y) = (y) +((y)
2
) = |Cy
b|
2
+(|Sy
d|
2
2
), (5.186)
unde IR este multiplicatorul Lagrange. Introducand vectorii y
R
= Rey IR
n
si y
I
= Imy IR
n
putem privi funct ia h din (5.186) ca o funct ie reala de 2n + 1
variabile reale. Impunand condit iile cunoscute, de anulare a derivatelor part iale,
_
_
h
y
R
i
= 0
h
y
I
i
= 0
, i = 1 : n, (5.187)
32
Problema init iala nu impune select ia, dintre solut iile care asigur a minimul absolut al funct iei
, a celei care minimizeaza funct ia , criteriu ndeplinit de y. Prin urmare, ar putea utilizate
si alte criterii de select ie, cum ar , de exemplu, calculul vectorului y
Y de norm a euclidian a
minima care satisface restrict ia (5.170).
5.6. APLICAT IILE DVS 435
se obt ine sistemul liniar diagonal
(C
T
C +S
T
S) y = S
T
b +S
T
d (5.188)
care, considerand drept parametru, se rezolva imediat. Admit and a priori ca
matricea sistemului (5.188) este nesingulara, obt inem expresia y = y() denita de
y
i
() =
_
b
i
c
i
, i = 1 : n r
B
c
i
b
i
+s
i
b
i
c
2
i
+s
2
i
, i = n r
B
+ 1 : r
A
d
i
s
i
, i = r
A
+ 1 : n
(5.189)
Multiplicatorul Lagrange =
i=1
|
d
2
i
+
rA
i=nrB+1
[c
i
s
i
b
i
c
i
d
i
c
2
i
+s
2
i
[
2
+
p
i=n+1
[
d
i
[
2
2
= 0,
(5.190)
obt inuta prin impunerea condit iei ca solut ia (5.189) sa satisfaca relat ia de legatura.
i=1
|
d
2
i
+
rA
i=nrB+1
[s
i
b
i
c
i
d
i
[
2
c
2
i
+
p
i=n+1
[
d
i
[
2
2
> 0, (5.191)
n virtutea condit iei (5.184), si
lim
() =
nrB
i=1
[
d
i
[
2
+
p
i=n+1
[
d
i
[
2
2
< 0, (5.192)
n virtutea condit iei (5.178), ecuat ia (5.190) admite o solut ie reala pozitiva =
= y(
), r
y
= Cy
b, (5.193)
iar solut ia problemei CMMP init iale se obt ine utilizand relat iile (5.176).
Pentru a scrie algoritmul de rezolvare al problemei CMMP cu restrict ii patratice
tip inegalitate vom admite ca dispunem de o procedura de calcul a descompunerii
valorilor singulare generalizate (exercitt iul 5.22) care va apelata utilizand sintaxa
[ c, s, U, V, W ] = DVSG(A, B).
33
Ecuat iile de tipul (5.190) sunt cunoscute sub numele de ecuat ii seculare, denumire provenit a
din astronomie.
436 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
Algoritmul DVSG furnizeaza vectorii c si s ai elementelor diagonale ale matricelor
diagonale C si S, precum si matricele de transformare. Evident, rangul matricei A
este dat de numarul componentelor nenule ale vectorului c, iar rangul matricei B
de cel al componentelor nenule ale vectorului s. Neglijarea elementelor vectorilor
c si s inferioare lui tol|A|, respectiv lui tol|B|, unde tol este o tolerant a xata, si
determinarea rangului (numeric al) celor doua matrice vor realizate cu algoritmul
Rang DVSG care poate scris fara dicultate de cititor (exercit iul 5.23) si care
va apelat folosind sintaxa
[ r
A
, r
B
] = Rang DVSG(s, c, tol).
Rezulta urmatorul algoritm.
Algoritmul 5.10 (CMMP RPI Solut ia problemei CMMP cu re-
strict ii patratice tip inegalitate) (Se considera date matricea A I C
mn
,
cu m > n, si vectorul b I C
m
, care denesc problema CMMP, precum
si matricea B I C
pn
, cu p n, vectorul d I C
p
si scalarul > 0 care
denesc restrict iile (5.162). De asemenea, pentru evaluarea rangului
este utilizata tolerant a tol. Algoritmul calculeaza solut ia x = x
I C
n
a problemei CMMP cu restrict ii (5.155), (5.162) si reziduul r = r
, de
norma euclidiana minima, aferent.)
1. [ c, s, U, V, W ] = DVSG(A, B)
2. [ r
A
, r
B
] = Rang DVSG(s, c, tol)
3. b U
H
b
4. d V
H
d
5. =
nrB
i=1
[d
i
[
2
+
p
i=n+1
[d
i
[
2
6. Daca >
2
atunci
1. Tipareste Problema unu are solut ie.
2. Return
altfel
1. Daca =
2
atunci
1. y
i
=
b
i
c
i
pentru i = 1 : n r
B
2. y
i
=
d
i
s
i
pentru i = n r
B
+ 1 : n
altfel
1. = +
rA
i=nrB
[s
i
b
i
c
i
d
i
[
2
2. Daca
2
atunci
1. y
i
=
b
i
c
i
pentru i = 1 : r
A
2. y
i
=
d
i
s
i
pentru i = r
A
+ 1 : n
altfel
5.6. APLICAT IILE DVS 437
1. Se calculeaza solut ia =
rA
i=nrB+1
[c
i
s
i
b
i
c
i
d
i
c
2
i
+s
2
i
[
2
+
2
= 0
utilizand, e.g. metoda Newton.
2. y
i
=
b
i
c
i
pentru i = 1 : n r
B
3. y
i
=
c
i
b
i
+
s
i
b
i
c
2
i
+
s
2
i
pentru i = n r
B
+ 1 : r
A
4. y
i
=
d
i
s
i
pentru i = r
A
+ 1 : n
7. x
= Wy
.
Comentarii. Sintaxa de apel a acestui algoritm este
x = CMMP RPI(A, b, B, d, , tol).
Cititorul poate completa algoritmul cu calculul reziduului optimal r = r
si, even-
tual, a normei euclidiane a acestuia.
Complexitatea algoritmului este determinata decisiv de calculul DVSG si de
rezolvarea iterativa a ecuat iei seculare. 3
Observat ia 5.12 Pentru rezolvarea problemei CMMP cu restrict ii patratice tip
egalitate se procedeaza ca n partea a doua a deducerii algoritmului de mai sus.
Intrucat algoritmul corespunzator se obt ine practic prin eliminarea unor instruct iuni
din algoritmul 5.10, detaliile sunt lasate n sarcina cititorului. 3
3.
Incheiem acest paragraf, particularizand algoritmul 5.10 pentru rezolvarea
unei probleme ntalnite deseori n aplicat ii, si anume problema CMMP cu restrict ii
patratice denite de o bila. Concret, formularea acestei probleme se obt ine con-
siderand n (5.162) B = I
n
si d = 0, i.e. restrict ia devine
A = x[ x I C
n
, |x| . (5.194)
In acest caz, matricea B ind diagonala de lanceput, nu mai este necesara utilizarea
DVSG ci este sucienta DVS a matricei A. Fie, deci, A = UV
H
DVS a matricei
A. Notand y = V
H
x si
b = U
H
b, problema revine la a calcula y
I C
n
astfel ncat
sa avem
|r
|
2
= |y
b|
2
= min
ycalY
|y
b|
2
, } = y [ y I C
n
, |y| . (5.195)
Avand n vedere faptul ca
(y)
def
= |y
b|
2
=
rA
i=1
[
i
y
i
b
i
[
2
+
m
i=rA+1
[
b
i
[
2
, (5.196)
minimul absolut al funct iei este
=
m
i=rA+1
[
b
i
[
2
(5.197)
438 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
si se atinge pentru
y
i
=
_
_
_
b
i
i
, i = 1 : r
A
0, i = r
A
+ 1 : n,
(5.198)
componentele nule ind alese n vederea satisfacerii restrict iei. Prin urmare, daca
pentru y = y restrict ia este satisfacuta, i.e.
|y|
2
=
m
i=rA+1
[
b
i
[
2
2
i
2
, (5.199)
atunci solut ia y
= V y
. Daca
m
i=rA+1
[
b
i
[
2
2
i
>
2
, (5.200)
atunci, procedand ca n cazul general, solut ia optimala a problemei CMMP (5.195)
este denita de
y
i
=
_
_
_
b
i
2
i
+
, i = 1 : r
A
0, i = r
A
+ 1 : n,
(5.201)
unde
i=1
_
i
[
b
i
[
2
i
+
_
2
2
= 0. (5.202)
Solut ia problemei CMMP init iale este, evident, x
= V y
.
Rezumam cele aratate mai sus ntr-un algoritm.
Algoritmul 5.11 (CMMP RPB Solut ia problemei CMMP cu
restrict ii patratice tip bila) (Se considera date matricea A I C
mn
, cu
m > n, si vectorul b I C
m
, care denesc problema CMMP, precum si
scalarul > 0 care deneste restrict ia (5.194). De asemenea, pentru
evaluarea rangului, este utilizata tolerant a tol. Algoritmul calculeaza
solut ia x = x
da
da
)
2. r = Rang DVS(, tol)
3. b U
H
b
4. =
r
i=1
[b
i
[
2
2
i
5. Daca
2
atunci
1. Se calculeaza vectorul y
I C
n
denit n (5.198).
altfel
1. Se calculeaza solut ia
I C
n
denit n (5.201).
6. x
= V ( : , 1 : r
A
)y
(1 : r
A
).
Comentarii. Sintaxa de apel a algoritmului va
x = CMMP RPI(A, b, B, d, , tol).
Efortul principal de calcul consta n calculul DVS. Pentru rezolvarea ecuat iei secu-
lare se poate folosi orice metoda iterativa abila. 3
5.6.5 Calculul pseudoinversei
Ment ionam de la nceput ca sunt put ine situat iile aplicative n care este necesar
calculul explicit al pseudoinversei unei matrice date.
In cazul general, calculul
pseudoinversei matricei A I C
mn
face apel la DVS A = UV
H
, utilizandu-se
relat ia
X =
r
j=1
v
j
u
H
j
j
, v
j
= V ( : , j), u
j
= U( : , j), (5.203)
stabilita n 5.1 si unde r este rangul (numeric al) matricei A. Rezulta urmatorul
algoritm.
Algoritmul 5.12 (Pinv Calculul pseudoinversei) (Data matricea
A I C
mn
si tolerant a tol > 0 pentru determinarea rangului numeric,
algoritmul calculeaza pseudoinversa X I C
nm
a matricei A.)
1. [ U, , V ] = DVS(A,
da
da
)
2. r = Rang DVS(, tol)
3. X = 0
4. Pentru j = 1 : r
1. v
j
=
v
j
j
2. X X +v
j
u
H
j
Comentarii. Sintaxa de apel a algoritmului este
X = Pinv(A, tol),
iar complexitatea sa este determinata, n principal, de complexitatea algoritmului
DVS cu acumularea transformarilor. 3
440 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
5.7 Rutine LAPACK si MATLAB
LAPACK. Calculul DVS al unei matrice generale este efectuat de o singura rutina
de tip driver, numita xGESVD. Aceasta calculeaza valorile singulare si, opt ional,
vectorii singulari stanga si/sau dreapta.
Rutinele de calcul care implementeaza cele doua faze ale algoritmului DVS sunt
urmatoarele:
xGEBRD realizeaza reducerea unei matrice oarecare la forma bidiagonala prin
transformari ortogonale de echivalent a. xGBBRD efectueaza aceeasi operat ie
pentru matrice banda, utilizand rotat ii Givens (n loc de reectori).
xBDSQR implementeaza faza iterativa a algoritmului DVS, calculand valorile
singulare si, opt ional, vectorii singulari, ai unei matrice bidiagonale (de ret inut
abrevierea BD pentru matricele bidiagonale).
DVS este utilizata pentru rezolvarea problemei generale a celor mai mici patrate
(calculul pseudosolut iei normale a sistemului Ax = b) n rutina driver xGELSS.
Descompunerea valorilor singulare generalizate (DVSG) a unei perechi de ma-
trice este furnizata de rutina driver xGGSVD.
MATLAB. Valorile si vectorii singulari ai unei matrice generale A pot cal-
culat i cu
[U, S, V] = svd(A)
unde U si V cont in (pe coloane) vectorii singulari stanga, respectiv dreapta iar S este
o matrice diagonala cont inand valorile singulare. Apelul simplu svd(A) returneaza
un vector cont inand valorile singulare.
Alte funct ii care utilizeaza DVS sunt:
rank pentru calculul rangului.
pinv care calculeaza pseudoinversa.
norm pentru obt inerea normei spectrale |A|
2
=
1
.
cond pentru calculul numarului de condit ionare
2
(A) =
1
/
n
.
Amintim n nal ca rezolvarea n sens CMMP a sistemului Ax = b (de rang
nemaxim) prin operat ia Ab nu produce pseudosolut ia normala (vezi detalii n capi-
tolul 3).
5.8 Probleme
P 5.1 Care sunt valorile singulare ale matricelor
A =
_
1 1 2
1 0 1
_
, B =
_
1 2 0
3 1 1
_
?
5.8. PROBLEME 441
Dar ale matricei C = A+ iB ?
P 5.2 Scriet i formulele explicite pentru calculul DVS a unei matricei A IR
22
. Aceeasi
problema pentru o matrice complexa 2 2.
P 5.3 Fie A I C
mn
. a) Demonstrat i ca matricele
A, A
T
si A
H
, unde
A este conjugata
matricei A, au aceleasi valori singulare cu A. b) Daca P I C
mm
si Q I C
nn
sunt matrice
unitare, atunci matricea B = PAQ are aceleasi valori singulare cu matricea A. c) Aratat i
ca matricea A, unde I C, are valorile singulare ||i(A).
P 5.4 Fie A I C
mn
, cu m n, si matricea B =
_
0 A
H
A 0
_
I C
(m+n)(m+n)
.
Exprimat i vectorii proprii ai matricei B n funct ie de vectorii singulari ai matricei A.
P 5.5 Se considera date matricele reale A, B IR
mn
. Fie matricea complexa C =
= A + iB I C
mn
si matricea real a D =
_
A B
B A
_
IR
2m2n
. Stabilit i relat iile de
legatura dintre DVS ale matricelor C si D.
P 5.6 a) Fie A I C
nn
o matrice normala, i.e. care satisface condit ia A
H
A = AA
H
(v.
cap.4), (n particular hermitica, iar n cazul real, simetrica) si (A) = { 1, 2, . . . , n }, cu
|1| |2| . . . |n|. Aratat i ca valorile singulare ale matricei A sunt i = |i|, i = 1: n.
b) Care sunt valorile proprii si valorile singulare ale matricei A =
_
6 3 1
1 3 3
3 1 3
_
?
P 5.7 Care sunt valorile singulare ale unei matrice n n unitare (ortogonale) ?
P 5.8 Fie V I C
mk
o matrice avand coloanele ortogonale si P = V V
H
proiectorul
ortogonal pe ImV .
a) Aratat i ca matricea Q = I 2P este unitara.
b) Care sunt valorile singulare ale unui proiector ortogonal ?
P 5.9 Aratat i ca daca A I C
mn
, atunci A2 AF
rang AA2.
P 5.10 Demonstrat i ca daca Q I C
mn
este o matrice cu coloanele ortogonale, i.e.
Q
H
Q = In, si P este o matrice obt inuta din Q prin eliminarea a cel mult n 1 linii
(oricare), atunci P2 = 1.
P 5.11 Aratat i ca daca A I C
mn
are rangul n, atunci A(A
H
A)
1
A
H
2 = 1.
P 5.12 Demonstrat i ca daca 1 este cea mai mare valoare singulara a matricei A, atunci
1 = max
y IR
m
\ {0}
x IR
n
\ {0}
y
T
Ax
y2x2
.
P 5.13 a) Fie vectorii u I C
m
, v I C
n
si matricea A = uv
H
. Care este DVS a matricei
A ? Care este rangul lui A ? b) Aratat i ca orice matrice A I C
mn
de rang 1 poate
scrisa sub forma A = uv
H
, unde u I C
m
, v I C
n
.
P 5.14 Elaborat i un algoritm pentru calculul DVS a matricei A = In + uv
T
, unde
u, v IR
n
sunt doi vectori necoliniari.
442 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
P 5.15 Elaborat i un algoritm, similar algoritmului JQ, care sa calculeze reducerea unei
matrice complexe A I C
mn
la o forma superior bidiagonala reala prin transformari unitare
bilaterale.
P 5.16 Fie o matrice superior bidiagonala J I C
nn
denita prin vectorul f I C
n
al
elementelor diagonale si vectorul g I C
n1
al elementelor sale supradiagonale. Aratat i
ca daca J are doua valori singulare egale i = i+1, atunci f si/sau g au cel put in o
componenta nula.
P 5.17 Adaptat i algoritmul JQ pentru reducerea ecienta a unei matrice A I C
nn
supe-
rior triunghiulare la forma superior bidiagonala prin transformari unitare de echivalent a.
P 5.18 Fie A =
_
A1 A2
0 A3
_
, unde A I C
mn
, A1 I C
pp
. Elaborat i un algoritm pentru
reducerea ecienta a matricei A la forma bidiagonala prin transformari unitare bilaterale.
P 5.19 Adaptat i algoritmul JQ pentru reducerea ecienta a unei matrice A I C
nn
tridiagonale la forma superior bidiagonala prin transformari unitare de echivalent a.
P 5.20 Fie A I C
mn
, cu m < n. Elaborat i un algoritm pentru calculul matricelor
unitare U I C
mm
, V I C
nn
astfel ncat U
H
AV =
_
B 0
cu B I C
mm
superior
bidiagonala.
P 5.21 Demonstrat i ca orice matrice mn este limita unui sir de matrice mn de rang
maximal. Interpretat i important a acestui rezultat pentru practica numerica.
P 5.22 Elaborat i un algoritm de calcul al descompunerii valorilor singulare generalizate
(DVSG) a unei perechi de matrice (A, B) I C
mn
I C
pn
date.
P 5.23 Scriet i un algoritm de calcul simultan al rangurilor numerice a doua matrice
A I C
mn
si B I C
pn
date, utiliz and descompunerea valorilor singulare generalizate a
perechii (A, B).
P 5.24 Elaborat i un algoritm de calcul al descompunerii polare a unei matrice A I C
mn
date.
P 5.25 Elaborat i un algoritm de calcul al descompunerii CS a unei matrice unitare
Q I C
mm
date.
P 5.26 Se dau matricele A I C
mm
, B I C
nn
si C, D I C
mn
. a) Aratat i ca sistemul
de ecuat ii matriceale
_
AX Y B = C
XB
H
A
H
Y = D
are solut ie unica (X, Y ) I C
mn
I C
mn
daca si numai daca (A) (B) = . b) Scriet i
un algoritm pentru rezolvarea sistemului de mai sus.
P 5.27 Fie date matricea A IR
mn
si vectorul b IR
m
. a) Aratat i ca pentru orice
> 0 problema de minimizare
min
x IR
n
_
b Ax
2
+x
2
_
5.8. PROBLEME 443
are o solut ie unica x
. c) Ce se ntampla
cand 0 ? d) Aratat i ca sistemul
(A
T
A +In)(A
T
A +In)y = ( )A
T
b
este satisfacut de y
not
= x
.
P 5.28 Aratat i ca o matrice patrata are (cel put in) o valoare singulara nula daca si numai
daca are (cel put in) o valoare proprie nula.
P 5.29 Fie matricele patrate A, B I C
nn
. Se stie (vezi exercit iul 4.5 din cap.4) ca
matricele AB si BA au aceleasi spectre de valori proprii. Este adevarat acest lucru si
pentru mult imile lor de valori singulare?
P 5.30 Fie matricele A, B I C
mn
, p = min(m, n) si (A), (B) mult imile (nu uitat i,
ordonate descrescator!) ale valorilor singulare ale matricei A, respectiv B.
a) Demonstrat i si interpretat i inegalitatea
1(A +B) 1(A) +1(B).
Este adevarata inegalitatea i(A+B) i(A)+i(B) si pentru i 2 : p ? Daca raspunsul
dv. este armativ, atunci prezentat i o demonstrat ie, iar daca este negativ prezentat i un
contraexemplu.
b) Demonstrat i inegalitatea
i+j1(A+B) i(A) +j(B),
unde i, j 1 : p, cu i +j p + 1.
P 5.31 Fie matricele A, B I C
mn
, p = min(m, n) si (A), (B) mult imile ale valorilor
singulare ale matricei A, respectiv B.
a) Demonstrat i si interpretat i inegalitatea
1(AB
H
) 1(A)1(B).
Este adevarata inegalitatea i(AB
H
) i(A)i(B) si pentru i 2 : p ? Daca raspunsul
dv. este armativ, atunci prezentat i o demonstrat ie, iar daca este negativ prezentat i un
contraexemplu.
b) Demonstrat i inegalitatea
i+j1(AB
H
) i(A)j(B),
unde i, j 1 : p, cu i +j p + 1.
P 5.32 Fie matricea A I C
nn
si matricea B = AP I C
nn
unde P este o matrice
de permutare. Presupunem ca P a fost aleasa astfel ncat matricea B sa aiba coloanele
ordonate n sensul descrescator al normelor lor euclidiene, i.e. daca j = B(:, j)2, atunci
1 2 . . . n. Demonstrat i ca
n
j=k
2
j
n
j=k
2
j
, k = 1 : n,
unde i sunt valorile singulare ale matricei A. Formulat i un rezultat analog pentru linii.
Traget i, printre alte concluzii, pe aceea ca o matrice care are o coloana (sau o linie) de
norma euclidiana mica are, n mod necesar, si o valoare singulara mica.
444 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
P 5.33 Se considera matricea
A() =
_
0 In1
0
_
IR
nn
, 0.
a) Calculat i valorile proprii si valorile singulare ale matricei A.
b) Pentru n=10, care sunt variat iile absolute ale modulelor valorilor proprii si ale
valorilor singulare atunci cand variaza de la 0 la 10
10
?
c) Traget i concluzia ca n timp ce valorile proprii ale unei matrice pot (foarte) rau
condit ionate, valorile singulare sunt ntotdeauna perfect condit ionate. Ret inet i ca aceasta
concluzie este de o important a capitala n rezolvarea numerica pe calculator a problemelor
de algebra liniara n sensul ca metodele care fac apel la valorilor singulare sunt cele mai
bune.
P 5.34 Aratat i ca o matrice A I C
nn
este normala, i.e. A
H
A = AA
H
, daca si numai
daca n descompunerea polara A = PW modulul P = UU
H
I C
nn
(hermitic si
pozitiv semidenit) si factorul de faza W = UV
H
(unitar) comuta. (
(B, A).
Demonstrat ie. 1
In acest caz polinomul caracteristic (6.4) este p() = det(A
B) = det(B)det(B
1
A I
n
) = det(AB
1
I
n
)det(B) cu det(B) ,= 0, i.e.
are aceleasi radacini cu polinoamele caracteristice ale matricelor B
1
A si AB
1
.
Rezulta ca p() este un polinom de gradul n cu coecient i complecsi si, n consecint a,
are exact n valori proprii complexe, nu neaparat distincte. 2
Daca ,= 0, atunci
(6.3) implica (B
1
A)x = 0. 3
Observat ia 6.1 Daca matricea B este singulara, atunci numarul valorilor proprii
generalizate al perechii (A, B) poate lua orice valoare din mult imea (0 : n1).
A 451
n mod necesar, un proces (iterativ) innit, aceeasi situat ie aparand si la calculul
vectorilor proprii generalizat i fara a se cunoaste valorile proprii asociate. Exista
si aici metode corespondente pentru metodele puterii si puterii inverse de calcul
iterativ al unui vector propriu generalizat pe care le propunem spre elaborare citi-
torului (v. exercit iul 6.6). Pentru asigurarea ecient ei acestor procese iterative este
esent iala exploatarea rezultatelor structurale part iale care se face prin reducerea
corespunzatoare a dimensiunii problemei. Baza teoretica a acestor reduceri este
data de propozit ia 6.2.
Pentru k = 1 propozit ia 6.2 se particularizeaza ntr-un corespondent genera-
lizat al lemei de deat ie unitara 4.2. Aplicarea consecventa a acesteia ne conduce la
urmatorul rezultat important a carui demonstrat ie, ind similara cu demonstrat ia
teoremei 4.12, este lasata n sarcina cititorului.
Teorema 6.1 (Forma Schur generalizata) Oricare ar perechea (A, B) I C
nn
I C
nn
exista matricele unitare Q, Z I C
nn
astfel ncat
Q
H
AZ = S, Q
H
BZ = T, (6.14)
unde matricele S, T sunt superior triunghiulare. Perechile de elemente diagonale
(s
ii
, t
ii
) cu t
ii
,= 0 ale matricelor S si T determina valorile proprii generalizate
(nite)
i
=
s
ii
t
ii
(6.15)
ale perechii (A, B). Cele n perechi de elemente diagonale pot dispuse n orice
ordine predeterminata.
Perechea (S, T) se numeste forma Schur generalizata (FSG) a perechii (A, B),
iar coloanele q
i
, respectiv z
i
, ale matricelor de transformare Q si Z se numesc
vectori Schur generalizat i ai perechii (A, B) la stanga, respectiv la dreapta, asociat i
FSG (S, T).
Daca matricea B este nesingulara, atunci si T este nesingulara, i.e. t
ii
,= 0
pentru tot i i 1: n. Daca B este singulara, perechilor (s
ii
, t
ii
) cu s
ii
,= 0 si t
ii
= 0
le corespund valorile proprii generalizate pe care am convenit sa le consideram
innite. Justicarea acestei convent ii este, acum, evidenta daca avem n vedere
(6.15). Pentru fascicolele regulate, considerate aici, nu este posibil sa avem simultan
s
ii
= 0 si t
ii
= 0 pentru nici un i.
In cazul n care matricele A, B sunt reale se obt ine un spor important de ecient a
daca se utilizeaza n exclusivitate o aritmetica reala. Corespondentul generalizat al
formei Schur reale este introdus prin urmatoarea teorema pe care o prezentam fara
demonstrat ie.
Teorema 6.2 (Forma Schur reala generalizata) Oricare ar perechea (A, B)
IR
nn
IR
nn
exista matricele ortogonale Q, Z IR
nn
astfel ncat
Q
T
AZ = S, Q
T
BZ = T, (6.16)
unde matricea S este n forma Schur reala iar matricea T este superior triunghiu-
lara. Perechile de blocuri diagonale (S
ii
, T
ii
), i = 1: p, de dimensiuni 11 sau 22
ale matricelor S si T determina valorile proprii generalizate ale perechii (A, B), mai
precis daca blocul diagonal i al lui S are ordinul n
i
, atunci
p
i=1
n
i
= n si
(A, B) =
p
i=1
(S
ii
, T
ii
). (6.17)
Perechile de blocuri diagonale pot dispuse n orice ordine predeterminata.
Perechea (S, T) se numeste forma Schur reala generalizata (FSRG) a perechii
(A, B), iar coloanele q
i
, respectiv z
i
, ale matricelor ortogonale de transformare Q
si Z se numesc vectori Schur generalizat i ai perechii (A, B) la stanga, respectiv la
dreapta, asociat i FSRG.
Conform (6.17), daca dispunem de FSRG a unei perechi (A, B), calculul valorilor
proprii generalizate se reduce la rezolvarea ecuat iilor algebrice
det(S
ii
T
ii
) = 0, i = 1: p, (6.18)
de grad cel mult doi.
Toate considerat iile facute n legatura cu FSG au un corespondent transparent
pentru FSRG. De exemplu, daca dimensiunea cumulata a primelor l blocuri diago-
nale ale matricei S este k, atunci primele k coloane ale matricei ortogonale de trans-
formare Z formeaza o baza ortogonala a unui subspat iu de deat ie k-dimensional
(din IR
n
) al perechii (A, B) asociat primelor k valori proprii generalizate.
Din cele de mai sus rezulta ca problema de calcul a valorilor proprii generalizate
se reduce, n esent a, la obt inerea formei Schur (reale) generalizate. Cum acest lucru
nu este posibil, n cazul general, printr-o secvent a nita de operat ii elementare,
calculul va bazat, n mod necesar, pe trunchierea unui proces innit, similar
algoritmului QR.
A 453
6.2.3 Forma diagonala a fascicolelor hermitice
pozitiv denite
In cazul fascicolelor hermitice (n cazul real, simetrice) vom interesat i de condit iile
n care transformarile de congruent a pot utilizate pentru reducerea la forma Schur
generalizata. Daca o astfel de posibilitate exista, atunci, avand n vedere ca rezul-
tatul este o forma Schur generalizata hermitica, rezulta ca ambele matrice sunt di-
agonale. Vom numi aceasta structura forma diagonala generalizata. Aceste condit ii
sunt prezentate n teorema urmatoare. T inand seama de faptul ca rezultatul nu
este o generalizare directa a unui rezultat similar din cazul ordinar, prezentam si
demonstrat ia.
Teorema 6.3 (Forma diagonala generalizata) Fie un fascicol hermitic denit de
perechea (A, B) I C
nn
I C
nn
si matricea (hermitica)
C() = A + (1 )B, IR. (6.19)
Daca exista un scalar [0, 1], astfel ncat matricea C() este pozitiv semidenita,
i.e. x
H
C()x 0, x I C, si
KerC() = KerA KerB, (6.20)
atunci exista o matrice nesingulara T I C
nn
astfel ncat perechea congruenta
(F, G) = (T
H
AT, T
H
BT) (6.21)
are matricele F si G diagonale, i.e. este n forma diagonala generalizata.
d
1
,
d
2
, . . . ,
d
k
),
1
=
_
0
0 I
nk
_
si matricea nesingu-
lara T
1
= U
1
1
1
. Consideram transformarea de congruent a
(A
1
, B
1
) = (T
H
1
AT
1
, T
H
1
BT
1
) (6.23)
si matricea
C
1
() = T
H
1
C()T
1
=
1
1
U
H
1
C()U
1
1
1
=
_
I
k
0
0 0
_
= A
1
+(1)B
1
. (6.24)
T
H
(C() (1 )B)T =
=
1
__
I
k
0
0 0
_
(1 )
_
G
11
0
0 0
__
=
= diag(f
1
, f
2
, . . . , f
k
, 0, . . . , 0),
G = T
H
BT = Q
H
B
1
Q = diag(g
1
, g
2
, . . . , g
k
, 0, . . . , 0),
(6.29)
unde
f
i
=
1
g
i
.
Am obt inut si n acest caz forma diagonala generalizata a perechii init iale.
In cazul real demonstratia este identica, cu ment iunea ca toate matricele care
apar sunt reale. Teorema este demonstrata. 3
In aplicatii, de cele mai multe ori, apar fascicole hermitice (simetrice) de semn
denit. Evident, ntr-un astfel de caz, condit iile teoremei de mai sus sunt ndeplinite:
daca B este pozitiv denita, atunci pentru = 0, iar daca A este pozitiv denita,
atunci pentru = 1. Deci fascicolele hermitice pozitiv denite sunt ntotdeauna
generalizat diagonalizabile.
6.3. ALGORITMUL QZ 455
6.3 Algoritmul QZ
Algoritmul QZ, elaborat de C.B. Moler si G.W. Stewart n anul 1973 [ 44 ], este, n
esent a, o procedura de deat ie iterativa care construieste (recurent) un sir de perechi
de matrice unitar echivalente cu perechea init iala, sir care, n condit ii precizate, este
convergent catre forma Schur generalizata.
In cazul real se poate impune exclusiv o
aritmetica reala pe baza unei strategii a pasilor dubli.
In aceasta situat ie termenii
sirului sunt perechi ortogonal echivalente, iar limita sa este o forma Schur reala
generalizata a perechii init iale.
Algoritmul QZ este organizat, ca si algoritmul QR, n doua faze:
a) Faza a I-a, de reducere, prin calcul direct, a perechii (A, B) init iale la o
pereche unitar echivalenta (H, T) avand matricea H n forma superior Hessenberg
si matricea T n forma superior triunghiulara, structura cea mai apropiata de FSG ce
poate obt inuta printr-un calcul nit. Vom numi perechea (H, T) forma Hessenberg
generalizata a lui (A, B).
b) Faza a II-a, de deat ie iterativa, prin care elementele subdiagonale ale
matricei superior Hessenberg H sunt anulate asimptotic (simultan cu conservarea
structurii superior triunghiulare a matricei T), utilizand transformari unitare de
echivalent a.
.
In cadrul pasului init ial vom anula elementele A(3 : n, 1) din prima
coloana a matricei A, n ordinea n: 1: 3, prin transformari unitare de echivalent a
denite de doua secvent e de rotat ii (complexe) conform schemei de calcul
HT- 1 1. Pentru i = n: 1: 3
1. Se determina rotat ia Q
(1)
i1,i
astfel ncat ((Q
(1)
i1,i
)
H
A)(i, 1) = 0
2. A (Q
(1)
i1,i
)
H
A
3. B (Q
(1)
i1,i
)
H
B % Se altereaza zeroul din pozit ia (i, i 1) a
matricei superior triunghiulare B
4. Q QQ
(1)
i1,i
5. Se determina rotat ia Z
(1)
i1,i
astfel ncat (BZ
(1)
i1,i
)(i, i 1) = 0
6. A AZ
(1)
i1,i
7. B BZ
(1)
i1,i
8. Z ZZ
(1)
i1,i
Intrucat premultiplicarea unei matrice cu o rotat ie din planul (i1, i) afecteaza nu-
mai liniile i1 si i, execut ia instruct iunii 1.3 are ca efect o posibila alterare
8
a struc-
turii superior triunghiulare a matricei B prin alterarea zeroului din pozit ia (i, i1).
Refacerea structurii superior triunghiulare a lui B se realizeaza la instruct iunea 1.6
prin postmultiplicarea matricei B cu o rotat ie calculata corespunzator la instruc-
t iunea 1.5. Postmultiplicarea cu o rotat ie plana din planul (i1, i), afectand numai
coloanele i1 si i, nu are nici un efect (ntrucat i > 2) asupra zerourilor create n
prima coloana a matricei A
9
.
In acest fel, pe masura crearii zerourilor din prima
coloana a lui A, elementul alterant al structurii superior triunghiulare a lui B se
deplaseaza pe o traiectorie subdiagonala ascendenta pana la parasirea matricei din
pozit ia (3, 2) dupa cum se poate vedea si din urmatoarea exemplicare pentru n = 4.
In diagramele structurale de mai jos zeroul nou creat a fost marcat cu , elementul
alterant cu +, iar ncadrarile indica liniile si coloanele afectate la pasul respectiv.
(A, B) = (
_
_
_
_
,
_
_
0
0 0
0 0 0
_
_
),
(A, B) ((Q
(1)
34
)
H
A, (Q
(1)
34
)
H
B) = (
_
_
_
_
,
_
_
0
0 0
0 0 +
_
_
),
8
Alterarea are efectiv loc daca elementul diagonal (i1, i1) al matricei curente B este nenul,
care este cazul obisnuit.
9
De observat ca ncercarea de anulare a elementului (2, 1) a lui A este sortit a esecului ntruc at
postmultiplicarea cu rotat ia Z
(1)
1,2
poate altera toate zerourile create n prima coloan a.
6.3. ALGORITMUL QZ 457
(A, B) (AZ
(1)
34
, BZ
(1)
34
) = (
_
_
0
_
_
,
_
_
0
0 0
0 0
_
_
),
(A, B) ((Q
(1)
23
)
H
A, (Q
(1)
23
)
H
B) = (
_
_
0
_
_
,
_
_
0
0 +
0 0 0
_
_
),
(A, B) (AZ
(1)
23
, BZ
(1)
23
) = (
_
0
0
_
,
_
0
0
0
0 0
_
).
Cumuland transformarile din acest exemplu se obt ine
(A, B) ((Q
(1)
23
)
H
(Q
(1)
34
)
H
AZ
(1)
34
Z
(1)
23
, (Q
(1)
23
)
H
(Q
(1)
34
)
H
BZ
(1)
34
Z
(1)
23
)
def
=
def
= ((Q
(1)
)
H
AZ
(1)
, (Q
(1)
)
H
BZ
(1)
).
Prin urmare, schema de calcul de mai sus produce matricele
A A
(1)
= (Q
(1)
23
)
H
(Q
(1)
n2,n1
)
H
(Q
(1)
n1,n
)
H
AZ
(1)
n1,n
Z
(1)
n2,n1
Z
(1)
23
def
=
def
= (Q
(1)
)
H
AZ
(1)
, (6.31)
B B
(1)
= (Q
(1)
23
)
H
(Q
(1)
n2,n1
)
H
(Q
(1)
n1,n
)
H
BZ
(1)
n1,n
Z
(1)
n2,n1
Z
(1)
23
def
=
def
= (Q
(1)
)
H
BZ
(1)
, (6.32)
cu A
(1)
(3 : n, 1) = 0 si B
(1)
superior triunghiulara, realizandu-se astfel obiectivul
pasului 1. Evident, matricele unitare de transformare
Q
(1)
def
= Q
(1)
n1,n
Q
(1)
n2,n1
Q
(1)
23
, Z
(1)
def
= Z
(1)
n1,n
Z
(1)
n2,n1
Z
(1)
23
(6.33)
cumuleaza cele doua secvent e de rotat ii utilizate la pasul 1.
Pasul k
In cazul real toate rotat iile sunt reale si, aplicate unor matrice init iale reale, con-
duc la o pereche rezultat reala. De asemenea, matricele de transformare cumulate
sunt reale ca produse de matrice reale.
Caracterul nit al calculului este evident. Demonstrat ia este completa. 3
Demonstrat ia teoremei de mai sus conduce imediat la urmatoarea structura a
algoritmului de reducere a unei perechi (A, B) la forma Hessenberg generalizata.
HT 1. Se calculeaza triangularizarea unitara a matricei B, i.e. matricea unitara
Q si B Q
H
B astfel ncat noul B este superior triunghiular
2. A Q
H
A
3. Pentru k = 1 : n2
1. Se executa procedura HT- k
Pentru scrierea formala a algoritmului vom utiliza o procedura de triangularizare
unitara a unei matrice complexe utilizand reectori hermitici, prezentatan capitolul
3. Pentru scopurile noastre, sintaxa de apel a acestei proceduri va
10
[ B, U, b ] = TUN(B),
i.e. procedura suprascrie matricea argument B cu rezultatul triangularizarii si
livreaza, n matricea U I C
n(n1)
si vectorul b IR
n1
, elementele denitorii
ale reectorilor complecsi hermitici U
k
= I
n
1
b(k)
U(:, k)(U(:, k))
H
utilizat i. (Pre-
cizam ca U(1 : k1, k) = 0, k = 2 : n1.) De asemenea, vom folosi procedurile din
tabelul 4.3 (vezi capitolul 4), la care vom adauga o procedura suplimentara necesara
pentru procesarile legate de anularea elementelor alterante ale structurii superior
triunghiulare a matricei B si anume procedura Gcm pentru calculul unei rotat ii
complexe bidimensionale Z
12
=
_
c s
s c
_
modicate care aplicata pe dreapta
unui vector linie a I C
12
anuleaza primul element al lui a. Vom numi aceasta
transformare rotat ie (complexa) modicata. Este simplu de vazut ca elementele
denitorii ale acestei rotat ii sunt
c =
_
_
1, daca a
1
= 0,
0, daca a
1
,= 0, a
2
= 0,
[a
2
[
r
, daca a
1
,= 0, a
2
,= 0,
s =
_
_
0, daca a
1
= 0,
1, daca a
1
,= 0, a
2
= 0,
a
1
a
2
[a
2
[r
, daca a
1
,= 0, a
2
,= 0.
(6.42)
unde r =
_
[a
1
[
2
+[a
2
[
2
. Calculul elementelor denitorii pentru rotat ia de mai sus
va nsot it de calculul a d = aZ
12
, astfel ncat sintaxa propusa pentru aceasta
procedura este
[ d, c, s ] = Gcm(a)
10
Corespondentul real este procedura de triangularizare ortogonal a pe care, n consens, o vom
numi TOR. Atragem atent ia ca, din dorint a de a asigura o claritate maxim a, aici s-au f acut
unele rabaturi la ecient a, cum ar memorarea vectorilor Householder ntr-o matrice distinct a.
De aceea, sintaxa si denumirile generice folosite difer a de cele din capitolul 3. Implement arile de
performant a maxima vor trebui sa respecte ns a toate recomand arile explicit formulate n capitolul
3.
460 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZAT I
suprascrierea (interna a) lui a realizandu-se cu apelul [ a, c, s ] = Gcm(a). Cu aceste
precizari obt inem urmatorul algoritm.
Algoritmul 6.1 (HTQZc Reducerea la forma Hessenberg genera-
lizata) (Data o pereche (A, B) I C
nn
I C
nn
, precum si matricele
unitare Q, Z I C
nn
, algoritmul calculeaza perechea unitar echivalenta
(A, B) (H, T) = (
Q
H
A
Z,
Q
H
B
Z) avand forma superior Hessenberg
generalizata. Opt ional se acumuleaza matricele unitare de transformare
Q Q
Q, Z Z
Z. Opt iunea se exprima prin intermediul unei variabile
logice opt de tipul sir de caractere ce poate lua valorile
da
sau
nu
. Daca
opt =
nu
atunci
1. Pentru k = n1 : 1 : 1
1. Q(:, k : n) = Hcd(Q(:, k : n), U(k : n, k), b(k))
4. Pentru k = 1 : n2
1. Pentru i = n : 1 : k+2
1. [ A(i1 : i, k), c, s ] = Gc(A(i1 : i, k))
2. A(i1 : i, k+1 : n) = Gcs(c, s, A(i1 : i, k+1 : n))
3. B(i1 : i, i1 : n) = Gcs(c, s, B(i1 : i, i1 : n))
4. Daca opt =
da
atunci
Q( : , i1 : i) = Gcd(Q( : , i1 : i), c, s)
5. [ B(i, i1 : i), c, s ] = Gcm(B(i, i1 : i))
6. A( : , i1 : i) = Gcd(A( : , i1 : i), c, s)
7. B(1 : i1, i1 : i) = Gcd(B(1 : i1, i1 : i), c, s)
8. Daca opt =
da
atunci
Z( : , i1 : i) = Gcd(Z( : , i1 : i), c, s)
Comentarii.
In acest capitol, pentru apelul algoritmului HTQZc va utilizata
sintaxa
[ H, T, Q, Z ] = HTQZc(A, B, Q, Z, opt).
Similar cu cele prezentate la calculul valorilor proprii ordinare din capitolul 4, acu-
mularea transformarilor se face ntotdeauna prin nmult irea la dreapta cu matricea
de transformare curenta, i.e. utilizand procedurile Hcd sau Gcd. Totusi, daca
init ial Q este matricea unitate (e.g. n situat iile n care perechea (A, B) nu provine
din prelucrari anterioare), atunci se obt ine un spor important de ecient a daca
instruct iunea 3 se nlocuieste cu instrut iunea
3. Daca opt =
da
atunci
1. Pentru k = n1 : 1 : 1
1. Q(k : n, k : n) = Hcs(U(k : n, k), b(k), Q(k : n, k : n))
6.3. ALGORITMUL QZ 461
i.e. acumularea relectorilor se face n ordine inversa, realizand o umplere progre-
siva a matricei Q (vezi si comentariile la algoritmul HQc din capitolul 4).
op
4n
3
operat ii suplimentare pentru Q si N
op
3n
3
operat ii
suplimentare pentru Z.
Algoritmul HTQZ este numeric stabil, i.e. forma Hessenberg generalizata cal-
culata ntr-o aritmetica n virgul a mobila este o pereche exact unitar (ortogonal)
echivalenta cu o pereche usor perturbata (A+E, B+F), unde matricele de pertur-
bare E si F satisfac condit iile |E| p(n)
M
|A| si |F| p(n)
M
|B| cu p(n) o
funct ie cu o crestere modesta de dimensunea n a problemei (v. si 6.5, 6.6). 3
6.3.2 Evident ierea valorilor proprii generalizate innite
Fie perechea (H, T) I C
nn
I C
nn
n forma Hessenberg generalizata, obt inuta e.g.
cu algoritmul HTQZc, care deneste un fascicol regulat. Daca T este singulara,
i.e. T are (cel put in) un element diagonal nul, atunci perechea (H, T) are (cel
put in) o valoare proprie generalizata innita.
Intr-un astfel de caz, valorile proprii
generalizate innite pot evident iate folosind o secvent a nita de transformari de
echivalent a unitare (n cazul real, ortogonale), simultan cu conservarea formei Hes-
senberg generalizate. Concret, exista matricele unitare
Q si
Z astfel ncat matricele
perechii (H, T) (
H,
T) = (
Q
H
H
Z,
Q
H
T
Z) au structura
H =
_
H
11
H
12
0 H
22
_
, T =
_
T
11
T
12
0 T
22
_
, (6.43)
cu perechea (H
11
, T
11
) n forma superior Hessenberg generalizata avand T
11
nesin-
gulara, H
22
superior triunghiulara nesingulara si T
22
strict superior triunghiulara,
i.e. cu toate elementele diagonale nule (toate submatricele de aceiasi indici au
aceleasi dimensiuni). Evident, valorile proprii generalizate ale perechii (H
11
, T
11
)
sunt valorile proprii generalizate nite ale perechii init iale, n timp ce valorile pro-
prii generalizate ale perechii (H
22
, T
22
) sunt valorile proprii generalizate innite ale
acesteia.
Detaliile de construct ie a structurii (6.43) sunt urmatoarele.
Presupunem mai ntai ca matricea T are un singur element diagonal nul. Acesta
poate deplasat n pozit ia (n, n), simultan cu conservarea formei Hessenberg
generalizate a perechii (H, T) si cu anularea elementului (n, n1) al matricei H,
prin aplicarea unei transformari unitare de echivalent a sub forma unei secvent e de
rotat ii. Concret, daca t
kk
= 0, k 2 : n1
11
, este zeroul urmarit, atunci scopul
este atins executand schema de calcul
11
Daca zeroul se aa deja n ultima pozit ie diagonal a se execut a numai instruct iunea 2 din
462 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZAT I
DZ- k, n
% Deplasarea zeroului diagonal al matricei T din pozit ia (k, k) n pozit ia (n, n)
1. Daca k < n
1. Pentru i = k+1 : n
1. Se determina rotat ia Q
(kn)
i1,i
astfel ncat ((Q
(kn)
i1,i
)
H
T)(i, i) = 0
2. H (Q
(kn)
i1,i
)
H
H % Se altereaza zeroul din pozit ia (i, i2) a lui H
3. T (Q
(kn)
i1,i
)
H
T
4. Se determina rotat ia Z
(kn)
i2,i1
astfel ncat (HZ
(kn)
i2,i1
)(i, i2) = 0
5. H HZ
(kn)
i2,i1
6. T TZ
(k)
i2,i1
2. % Ultima rotat ie:
1. Se determina rotat ia Z
(kn)
n1,n
astfel ncat (HZ
(kn)
n1,n
)(n1, n) = 0
2. H HZ
(kn)
n1,n
3. T TZ
(kn)
n1,n
Aceasta schema se completeaza corespunzator cu eventuala actualizare a ma-
tricelor de transformare. Pentru a dezvalui mai clar mecanismul schemei de calcul
de mai sus consideram un exemplu cu n = 4 si k = 2.
In diagramele structurale de
mai jos am marcat cu anularile curente de elemente si cu + alterarile temporare
de zerouri.
Incadrarile marcheaza liniile si coloanele afectate n etapa respectiva.
(H, T) = (
_
_
0
0 0
_
_
,
_
_
0 0
0 0
0 0 0
_
_
),
(H, T)((Q
(24)
23
)
H
H, (Q
(24)
23
)
H
T) = (
_
_
+
0 0
_
_
,
_
_
0 0
0 0
0 0 0
_
_
),
(H, T) (HZ
(24)
12
, TZ
(24)
12
) = (
_
_
0 0
_
_
,
_
_
0 0
0 0
0 0
0
0
_
_
),
schema de calcul DZ- k, n pentru anularea elementului H(n 1, n). Dac a zeroul se a a n
pozit ia (1, 1) deplasarea sa n pozit ia (n, n) are un nceput atipic a c arui prezentare ar complicat
schema de calcul. Cititorul interesat poate desprinde acest caz din algoritmul 6.2, prezentat mai
departe.
6.3. ALGORITMUL QZ 463
(H, T)((Q
(24)
34
)
H
H, (Q
(24)
34
)
H
T) = (
_
_
0
0 +
_
_
,
_
_
0 0
0 0 0
0 0 0
_
_
),
(H, T) (HZ
(24)
23
, TZ
(24)
23
) = (
_
0
0
_
,
_
0
0
0
+
0 0
0 0
0
_
_
)
(H, T) (HZ
(24)
34
, TZ
(24)
34
) = (
_
_
0
0 0
_
_
,
_
_
0
0 0
0 0
+
0 0
_
_
).
Prin urmare, n exemplul considerat, deplasarea zeroului din pozit ia (2, 2) n pozit ia
(4, 4) a matricei T se realizeaza cu secvent a
(H, T) ((Q
(24)
34
)
H
(Q
(24)
23
)
H
HZ
(24)
12
Z
(24)
23
Z
(24)
34
, (Q
(24)
34
)
H
(Q
(24)
23
)
H
TZ
(24)
12
Z
(24)
23
Z
(24)
34
)
def
= ((Q
(24)
)
H
HZ
(24)
, (Q
(24)
)
H
TZ
(24)
).
In cazul general, deplasarea unui zero din pozit ia (k, k), k 2 : n1, n pozit ia
(n, n) se face cu secvent a
H (Q
(kn)
n1,n
)
H
(Q
(kn)
k+1,k+2
)
H
(Q
(kn)
k,k+1
)
H
HZ
(kn)
k1,k
Z
(kn)
k,k+1
Z
(kn)
n2,n1
Z
(kn)
n1,n
def
= (Q
(kn)
)
H
HZ
(kn)
, (6.44)
T (Q
(kn)
n1,n
)
H
(Q
(kn)
k+1,k+2
)
H
(Q
(kn)
k,k+1
)
H
TZ
(kn)
k1,k
Z
(kn)
k,k+1
Z
(kn)
n2,n1
Z
(kn)
n1,n
def
= (Q
(kn)
)
H
TZ
(kn)
. (6.45)
Daca matricea superior triunghiulara T are un singur zero diagonal, atunci dupa
deplasarea sa pe ultima pozit ie diagonala
12
perechea (H, T) transformata va avea
structura
H =
_
H h
0 h
nn
_
, T =
_
T t
0 0
_
, (6.46)
cu perechea (
H,
T) n forma Hessenberg generalizata si cu
T nesingulara. Fascicolul
init ial este regulat daca si numai daca n (6.46) h
nn
,= 0.
In acest caz procedura a
pus n evident a o valoare proprie generalizata innita.
12
Vezi nota de picior precedenta.
464 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZAT I
Daca matricea T are mai multe zerouri diagonale, acestea pot deplasate suc-
cesiv n colt ul din dreapta jos al lui T prin aplicarea repetata a schemei de cal-
cul DZ- k, n adaptate la necesit at ile curente n forma DZ- i, j . Procedura este
urmatoarea
13
.
DZ % Deplasarea zerourilor diagonale ale matricei T n colt ul din dreapta jos
1. i = n, j = n
2. C^at timp i > 0
1. Daca T(i, i) = 0 atunci
1. Executa DZ- i, j
2. j j 1
3. i j 1
altfel
1. i i 1
Dupa execut ia procedurii de mai sus perechea (H, T) transformata va avea struc-
tura (6.43). Fascicolul init ial este regulat daca si numai daca H
22
este nesingulara.
Intr-un astfel de caz, numarul valorilor proprii generalizate innite este dat de or-
dinul blocurilor H
22
si T
22
.
Prezentam algoritmul care implementeaza schema de calcul DZ .
Algoritmul 6.2 (DZc Deplasarea zerourilor diagonale.)
(Date o pereche (H, T) I C
nn
I C
nn
n forma Hessenberg generali-
zata si matricele unitare Q, Z I C
nn
, algoritmul suprascrie perechea
(H, T) cu o pereche echivalenta, tot n forma Hessenberg generalizata,
dar avand toate zerourile diagonale ale matricei T situate n colt ul din
dreapta jos. Opt ional, se actualizeaza matricele unitare de transformare
Q, Z I C
nn
. Opt iunea se exprima prin intermediul unei variabile logi-
ce opt de tipul sir de caractere ce poate lua valorile
da
sau
nu
. Daca
opt =
nu
atunci
Q( : , l1: l) = Gcd(Q( : , l1: l), c, s)
6. [ H(l, k: k+1), c, s ] = Gcm(H(l, k: k+1))
7. H(1: l1, k: k+1) = Gcd(H(1: l1, k: k+1), c, s)
8. Daca l = 2 atunci
H(3, k: k+1) = Gcd(H(3, k: k+1), c, s)
9. T(1: l1, k: k+1) = Gcd(T(1: l1, k: k+1), c, s)
10. Daca opt =
da
atunci
Z( : , k: k+1) = Gcd(Z( : , k: k+1), c, s)
2. Daca j > 1 atunci
1. % Ultima rotat ie din secvent a curenta:
1. (H(j, j1: j), c, s) = Gcm(H(j, j1: j))
2. H(1: j1, j1: j) = Gcd(H(1: j1, j1: j), c, s)
3. T(1: j1, j1: j) = Gcd(T(1: j1, j1: j), c, s)
4. Daca opt =
da
atunci
Z( : , j1: j) = Gcd(Z( : , j1: j), c, s)
3. j j 1
4. i j
altfel
1. i i 1
Comentarii. Sintaxa cu care algoritmul de mai sus va apelat este
[ H, T, Q, Z ] = DZc( H, T, Q, Z, opt ).
Complexitatea algoritmului este cel mult O(n
3
), numarul efectiv de operat ii ind
decisiv inuent at de numarul si dispunerea zerourilor diagonale ale matricei T.
Utilizand exclusiv transformari unitare (ortogonale), algoritmul DZc este numeric
stabil.
In cazul real se utilizeaza exact aceleasi secvent e de rotat ii, de data aceasta
reale, ceea ce are ca efect obt inerea ca rezultat a unei perechi transformate reale,
iar efortul de calcul este sensibil diminuat. Pentru a distinge cazul real vom utiliza
sintaxa
[ H, T, Q, Z ] = DZr( H, T, Q, Z, opt ).
Formal, varianta reala a algoritmului se obt ine nlocuind n numele procedurilor
utilizate sigla c cu sigla r. 3
6.3.3 Faza iterativa a algoritmului QZ
Etapa iterativa a algoritmului QZ construieste un sir de perechi de matrice unitar
(ortogonal) echivalente convergent catre forma Schur (reala) generalizata.
In esent a,
n cazul n care matricea B este nesingulara, iterat iile QZ reprezinta o implementare
specica a iterat iilor QR pentru matricea C = AB
1
. Concret, perechea curenta
(A
k
, B
k
) a sirului QZ este astfel calculata ncat matricea C
k
= A
k
B
1
k
sa e ma-
tricea curenta a sirului QR pentru matricea C. Asa cum s-a mai precizat, ecient a
466 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZAT I
fazei iterative a algoritmului QZ este determinant asigurata de reducerea prelimi-
nara a perechii (A, B) la forma Hessenberg generalizata folosind algoritmii HTQZc
sau HTQZr si de conservarea acestei structuri de iterat iile QZ. Pentru a sublinia n
mod imperativ acest lucru, n continuare vom presupune aceasta reducere efectuata
si vom folosi notat ia generica (H, T) pentru perechea curenta, desi, natural, orice im-
plementare ngrijita utilizeaza suprascrierea perechii (A, B) init iale. De asemenea,
pentru situat iile n care matricea B (i.e. T) este singulara vom presupune efectuata
si evident ierea valorilor proprii generalizate innite cu ajutorul algoritmului DZc
sau DZr.
Nu vom mai dezvolta aici variantele cu deplasare explicita ci ne vom limita la
variantele profesionale cu deplasare implicita cu pas simplu pentru cazul datelor
complexe, respectiv cu pas dublu pentru cazul datelor reale.
Fie data perechea (H, T) I C
nn
I C
nn
n forma Hessenberg generalizata si
presupunem ca matricea T este nesingulara. Avandn vedere observat ia de mai sus,
privitoare la substratul conceptual al iterat iilor QZ, pentru implementarea unui pas
QRcu deplasare implicita pentru matricea G = HT
1
avem nevoie, pentru a utiliza
teorema 4.15, ca matricea superior Hessenberg G sa e ireductibila (i.e. cu toate
elementele subdiagonale nenule). Este usor de vazut (v. exercit iul 6.8) ca aceasta
condit ie este ndeplinita daca si numai daca H este ireductibila.
In acest context,
vom spune ca perechea (H, T) se aa n forma Hessenberg generalizata ireductibila
daca H este ireductibila si T este nesingulara.
Pentru a evident ia part ile ireductibile
14
ale perechii (H, T) vom partit iona
matricele H si T n acord cu zerourile subdiagonale ale matricei superior Hessenberg
H. Astfel, daca H are un singur zero subdiagonal n pozit ia (k + 1, k), atunci
considerand partit ia
H =
_
H
11
H
12
0 H
22
_
, T =
_
T
11
T
12
0 T
22
_
, (6.47)
avem perechile (H
11
, T
11
) I C
kk
I C
kk
si (H
22
, T
22
) I C
(nk)(nk)
I C
(nk)(nk)
n forma Hessenberg generalizata ireductibila carora li se pot aplica iterat iile QZn
varianta cu deplasare implicita. Cum, evident,
(H, T) = (H
11
, T
11
) (H
22
, T
22
) (6.48)
rezulta ca problema init iala a calculului valorilor proprii generalizate se reduce la
rezolvarea a doua probleme de aceeasi natura, dar de dimensiuni mai mici. Analog
se procedeaza cand matricea H are mai multe zerouri subdiagonale. Gestionarea
acestor zerouri si aplicarea tehnicii iterative cu deplasare implicita numai part ilor
ireductibile va prezentata n cadrul formei nale a algoritmului QZ.
In cadrul acestui paragraf vom considera data perechea (H, T), cu T nesingulara,
n forma Hessenberg generalizata ireductibila si vom stabili algoritmul de calcul al
perechii succesor al perechii curente din sirul QZ. Vom trata distinct situat ia datelor
complexe si a celor reale.
Reamintim ca ideea de baza a iterat iei QZ consta ntr-o implementare specica
a iterat iei QR cu deplasare implicita pentru matricea G = HT
1
si anume n
14
Cazul real se trateaza identic.
6.3. ALGORITMUL QZ 467
construct ia sirului de perechi (H
k
, T
k
) astfel ncat matricea G
k
= H
k
T
1
k
sa e
matricea corespunzatoare a sirului QR pentru matricea G. Principalul avantaj
de natura numerica al acestei abordari consta n evitarea inversarii matricei T
k
si
eliminarea, datorita acestui fapt, a unei posibile instabilitat i numerice cauzate de o
condit ionare necorespunzatoare a lui T
k
.
Precizam de la nceput doua consecint e ale faptului ca iterat iile QZ reprezinta o
forma mascata a iterat iilor QR (pentru a caror motivare recomandam consultarea
capitolului 4):
a) conservarea formei Hessenberg generalizate pe parcursul procesului iterativ;
b) excelente proprietat i de convergent a catre forma Schur (reala) generalizata.
A. Un pas QZ pentru perechi complexe
Conform celor prezentate n capitolul 4, un pas simplu QR cu deplasare implicita
pentru matricea G
k
= H
k
T
1
k
realizeaza urmatoarea secvent a de calcule.
1. Se calculeaza prima coloana q
(k)
1
a matricei Q
k
ce deneste transfor-
marea unitara aferenta unui pas simplu QR cu deplasare explicita.
2. Se determina o matrice unitara P astfel ncat prima coloana a lui
P sa e q
(k)
1
, i.e. Pe
1
= q
(k)
1
.
3. Se calculeaza matricea F = P
H
G
k
P (a carei structura nu mai este
superior Hessenberg).
4. Se aplica algoritmul HQ de reducere a matricei F la forma superior
Hessenberg rezultand matricea succesor G
k+1
= H
k+1
T
1
k+1
.
Fie, pentru simplicarea notat iilor, (H
k
, T
k
)
not
= (H, T) perechea curenta a sirului
QZ, presupusa ireductibila, (H
k+1
, T
k+1
)
not
= (H
, T
= H
(T
)
1
. Urmand etapele din schema de calcul de mai sus vom
transfera transformarile matricei G perechii (H, T). Avem urmatoarele particula-
ritat i.
1. Expresia deplasarii curente = g
nn
n raport cu elementele matricelor H si
T este
=
h
n,n
t
n,n
h
n,n1
t
n1,n
t
n1,n1
t
n,n
. (6.49)
Daca , (G), i.e. G I
n
este nesingulara, atunci prima coloana a matricei
de transformare Q
k
not
= Q este
q
1
= Qe
1
=
_
_
h
11
t
11
h
21
t
11
0
.
.
.
0
_
_
, (6.50)
468 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZAT I
unde este un factor real de normare. Vom numi vectorul
w =
_
_
h
11
t
11
h
21
t
11
_
_
, (6.51)
al elementelor nenule ale vectorului q
1
/ vector de deplasare implicita asociat pasului
simplu QZ.
2. Matricea unitara P de la instruct iunea 2 a schemei de calcul de mai sus este,
cel mai simplu, o rotat ie (complexa), avand structura
P =
_
P 0
0 I
n2
_
(6.52)
cu
P I C
22
astfel calculata ncat
P
H
w = e
1
. (6.53)
3. Este usor de vazut ca aplicarea transformarii de asemanare de la punctul 2
al schemei de calcul de mai sus este echivalenta cu aplicarea rotat iei P
H
ambelor
matrice din perechea (H, T).
Intr-adevar, daca (
H,
T) = (P
H
H, P
H
T), atunci
H
T
1
= P
H
HT
1
P = P
H
GP. Alterarea structurii superior Hessenberg a matricei
G n pozit ia (3, 1) se transfera n alterarea structurala a perechii (H, T). Concret,
datorita structurii (6.52) a lui P, matricea
H ramane superior Hessenberg, pe cand
, T
) = (
Q
H
HZ,
Q
H
TZ) este n forma Hessenberg
generalizata, atunci G
= H
1
=
Q
H
HZZ
H
T
1
Q =
Q
H
H
T
1
Q =
Q
H
G
Q este
o matrice superior Hessenberg (ca produs dintre o matrice superior Hessenberg si
o matrice superior triunghiulara). Concret, readucerea perechii alterate la forma
Hessenberg generalizata se face utilizand algoritmul HTQZ adaptat, pentru asigu-
rarea ecient ei necesare, la situat ia structurala prezenta. Detaliile sunt precizate
prin urmatoarea schema de calcul.
HTQZ1
1. Pentru k = 2: n
1. Se calculeaza rotat ia modicata Z
k1,k
astfel ncat
(TZ
k1,k
)(k, k1) = 0
2. H HZ
k1,k
% Apare un element nenul n pozit ia (k+1, k1)
a lui H (pentru k < n)
3. T TZ
k1,k
% Se anuleaza elementul T(k, k1)
4. Daca k < n atunci
1. Se calculeaza rotat ia Q
k,k+1
astfel ncat (Q
H
k,k+1
H)(k+1, k1) = 0
2. H Q
H
k,k+1
H % Se anuleaza elementul H(k+1, k1)
3. T Q
H
k,k+1
T % Apare un element nenul n pozit ia (k+1, k) a lui T
6.3. ALGORITMUL QZ 469
Aceasta schema realizeaza deplasarea elementelor alterante ale structurilor ma-
tricelor H si T de-a lungul unor trasee paralele cu diagonala principala pana la
eliminarea lor din matricele respective utilizand n acest scop doua secvent e de
rotat ii.
Pentru exemplicare prezentam evolut ia structurala a perechii (H, T) n cazul
n = 4. Ca si n exemplele anterioare, ncadrarile marcheaza liniile si coloanele
afectate de operat ia curenta.
(H, T) (P
H
H, P
H
T) = (
_
_
0
0 0
_
_
,
_
_
+
0 0
0 0 0
_
_
),
(H, T) (HZ
12
, TZ
12
) = (
_
_
+
0 0
_
_
,
_
_
0 0
0 0
0
_
_
),
(H, T) (Q
H
23
H, Q
H
23
T) = (
_
_
0 0
_
_
,
_
_
0
0
0 +
0 0 0
_
_
),
(H, T) (HZ
23
, HZ
23
) = (
_
0
0
+
_
,
_
0
0
0
0 0
_
),
(H, T) (Q
H
34
H, Q
H
34
T) = (
_
_
0
0
_
_
,
_
_
0
0 0
0 0 +
_
_
),
(H, T) (HZ
34
, TZ
34
) = (
_
_
0
0 0
_
_
,
_
_
0
0 0
0 0
_
_
).
Aplicarea rotat iei P
H
care asigura prima coloana impusa a matricei de trans-
formare corespunzatoare pasului QR curent pentru matricea HT
1
si apoi reface-
rea structurii Hessenberg generalizate cu ajutorul variantei adaptate a algoritmului
470 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZAT I
HTQZ, data de schema de calcul de mai sus, conduc la obt inerea perechii succesor
_
H H
= Q
H
n1,n
Q
H
23
P
H
HZ
12
Z
23
Z
n1,n
,
T T
= Q
H
n1,n
Q
H
23
P
H
TZ
12
Z
23
Z
n1,n
,
(6.54)
din sirul QZ. Perechea (H
, T
h
n,n1
t
n1,n
t
n1,n1
t
n,n
2. w =
_
_
h
11
t
11
h
21
t
11
_
_
Comentarii. Sintaxa de apel a acestui algoritm va
w = VD1(H, T),
iar complexitatea sa este, evident, O(1). 3
Cu aceste precizari putem prezenta algoritmul de implementare al unui pas
simplu QZ cu deplasare implicita. Sunt utilizate proceduri cuprinse n tabelul 4.3
si procedura Gcm, de calcul al unei rotat ii modicate, introdusa n acest capitol.
Algoritmul 6.4 (IT QZ1 - Un pas simplu QZ cu deplasare im-
plicita) (Date o pereche (H, T) I C
nn
I C
nn
n forma Hessenberg
generalizata ireductibila, matricele unitare Q, Z I C
nn
si vectorul de
deplasare implicita w I C
2
, algoritmul suprascrie perechea (H, T) cu
perechea succesor (H
, T
) = (Q
H
k
HZ
k
, Q
H
k
TZ
k
) din sirul QZ. Opt ional,
se actualizeaza matricele unitare de transformare Q si Z. Opt iunea se
exprima cu ajutorul variabilei logice opt de tipul sir de caractere care
poate lua valorile
da
sau
nu
. Daca opt =
nu
, algoritmul returneaza
matricele Q si Z nemodicate.)
1. [ w, c, s ] = Gc(w)
2. H(1: 2, :) = Gcs(c, s, H(1: 2, :))
3. T(1: 2, :) = Gcs(c, s, T(1: 2, :))
4. Daca opt =
da
atunci
1. Q( : , 1: 2) = Gcd(Q( : , 1: 2), c, s)
6.3. ALGORITMUL QZ 471
5. Pentru k = 2 : n
1. [ T(k, k1 : k), c, s ] = Gcm(T(k, k1 : k))
2. l = min(k+1, n)
3. H(1: l, k1 : k) = Gcd(H(1: l, k1 : k), c, s)
4. T(1 : k1, k1 : k) = Gcd(T(1 : k1, k1 : k), c, s)
5. Daca opt =
da
atunci
1. Z( : , k1 : k) = Gcd(Z( : , k1 : k), c, s)
6. Daca k < n atunci
1. [ H(k : k+1, k1), c, s ] = Gc(H(k : k+1, k1))
2. H(k : k+1, k : n) = Gcs(c, s, H(k : k+1, k : n))
3. T(k : k+1, k : n) = Gcs(c, s, T(k : k+1, k : n))
4. Daca opt =
da
atunci
1. Q( : , k : k+1) = Gcd(Q( : , k : k+1), c, s)
Comentarii. Vom utiliza urmatoarea sintaxa de apel a algoritmului de mai sus
[ H, T, Q, Z ] = IT QZc(H, T, Q, Z, w, opt).
Complexitatea unui pas simplu QZ este O(n
2
). Concret, pentru execut ia algoritmu-
lui 6.3 sunt necesari N
op
12n
2
opi fara acumularea transformarilor, N
op
12n
2
opi suplimentari pentru acumularea transformarilor, la care se adauga cele 2(n1)
extrageri de radical. 3
B. Algoritmul QZ pentru matrice complexe
Provenind din adaptarea algoritmului QR algoritmul QZ utilizeaza toate ideile
acestuia pentru exploatarea evolut iei structurale a elementelor sirului QZ. Concret,
algoritmul QZ pentru matrice complexe se obt ine prin iterarea pasului simplu QZ,
anularea efectiva a elementelor subdiagonale ale matricei H devenite neglijabile si,
pe aceasta baza, reducerea succesiva a dimensiunii problemei pana la obt inerea
rezultatului dorit.
Pentru deciziile de anulare a elementelor subdiagonale ale matricei H se uti-
lizeaza criteriul cunoscut de la algoritmul QR
[h
k+1,k
[ < tol([h
kk
[ +[h
k+1,k+1
[), (6.55)
unde scalarul pozitiv tol deneste nivelul de tolerant a si are, uzual, un ordin de
marime comparabil cu eroarea de reprezentare din formatul virgula mobila al masinii
t inta.
De asemenea, pentru monitorizarea evolut iei structurale a matricelor din sirul
QZ, la ecare iterat ie, dupa anularea elementelor subdiagonale care satisfac condit ia
(6.55), se va determina cel mai mic ntreg p si cel mai mare ntreg q astfel ncat
perechea curenta (H, T) sa aiba structura
H =
_
_
H
11
H
12
H
13
0 H
22
H
23
0 0 H
33
_
_
p
n p q
q
, T =
_
_
T
11
T
12
T
13
0 T
22
T
23
0 0 T
33
_
_
p
n p q
q
,
(6.56)
472 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZAT I
cu perechea (H
22
, T
22
) I C
(npq)(npq)
I C
(npq)(npq)
n forma Hessenberg
generalizata ireductibila si H
33
, T
33
IR
qq
superior triunghiulare. Astfel, iterat ia
QZ (complexa) se va aplica, de fapt, numai perechii (H
22
, T
22
)
(H
22
, T
22
) (H
22
, T
22
) = (Q
H
22
H
22
Z
22
, Q
H
22
T
22
Z
22
), (6.57)
echivalenta cu aplicarea asupra perechii de matrice (H, T) a transformarii de echi-
valent a unitare
Q = diag(I
p
, Q
22
, I
q
), Z = diag(I
p
, Z
22
, I
q
). (6.58)
Aceasta transformare afecteaza celelalte blocuri ale matricelor H, T din (6.56) n
felul urmator:
H
=
_
_
H
11
H
12
Z
22
H
13
0 Q
H
22
H
22
Z
22
Q
H
22
H
23
0 0 H
33
_
_, T
=
_
_
T
11
T
12
Z
22
T
13
0 Q
H
22
T
22
Z
22
Q
H
22
T
23
0 0 T
33
_
_.
(6.59)
Algoritmul QZ se termina n momentul n care se anuleaza toate elementele
subdiagonale ale matricei H, i.e. q devine n 1. Utilizand, pentru claritate, sin-
taxele de apel ment ionate ale algoritmilor 6.16.4, algoritmul QZ cu pas simplu, cu
deplasare implicita, se scrie astfel.
Algoritmul 6.5 (QZ1 Algoritmul QZ cu pasi simpli si deplasari
implicite) (Date un fascicol matriceal denit de perechea (A,B)I C
nn
I C
nn
, matricele unitare Q, Z I C
nn
si un nivel de tolerant a tol
pentru anularea elementelor subdiagonale, algoritmul calculeaza forma
Schur generalizata (A, B) (S, T)=(Q
H
AZ, Q
H
BZ) a perechii (A, B).
Toate calculele se efectueaza pe loc, n locat iile de memorie ale tablouri-
lor A si B. Opt ional, se acumuleaza transformarile prin actualizarea
matricelor Q si Z. Opt iunea se exprima cu ajutorul variabilei logice opt
de tipul sir de caractere care poate lua valorile
da
sau
nu
. Daca nu
se doreste acumularea, matricele Q si Z se returneaza nemodicate.)
1. % Reducerea la forma Hessenberg generalizata
1. [ A, B, Q, Z ] =HTQZc(A, B, Q, Z, opt)
2. % Deplasarea zerourilor diagonale ale matricei B si evident ierea
valorilor proprii innite.
1. [ A, B, Q, Z ] =DZc(A, B, Q, Z, opt)
3. % Faza iterativa
1. p = 0, q = 0, cont it = 0
2. C^at timp q < n
1. % Anularea elementelor subdiagonale neglijabile
Pentru i = p + 1 : n q 1
1. Daca [a
i+1,i
[ tol([a
ii
[ +[a
i+1,i+1
[) atunci a
i+1,i
= 0
6.3. ALGORITMUL QZ 473
2. % Determinarea lui q
C^at timp a
nq,nq1
= 0
1. q q + 1
2. cont it = 0
3. % Terminarea algoritmului
Daca q = n 1 atunci return.
3. % Determinarea lui p
1. p = n q 1
2. C^at timp a
p+1,p
,= 0
1. p p 1
2. Daca p = 0 atunci break
4. % Iterat ia curenta
1. k = p+1, l = nq
2. w = VD1(A(k: l, k: l), B(k: l, k: l))
3. [ A(k: l, k: l), B(k: l, k: l), Q
c
, Z
c
] =
IT QZc(A(k: l, k: l), B(k: l, k: l), I
lp
, I
lp
, w, opt)
4. Daca q > 0 atunci
1. A(k: l, l+1: n) = Q
c
A(k: l, l+1: n)
2. B(k: l, l+1: n) = Q
c
B(k: l, l+1: n)
5. Daca p > 0 atunci
1. A(1: p, k: l) = A(1: p, k: l, )Z
c
2. B(1: p, k: l) = B(1: p, k: l)Z
c
5. % Acumularea transformarilor
1. Daca opt=da atunci
1. Q( : , k : l) = Q( : , k : l)Q
c
2. Z( : , k : l) = Z( : , k : l)Z
c
6. cont it cont it + 1
7. Daca cont it > 30 atunci
1. Tipareste S-au atins 30 de iterat ii fara sa se
poata anula un element subdiagonal.
Este posibil ca pentru aceste date
algoritmul QZ sa nu e convergent.
2. Return
Comentarii.
In aspectele sale esent iale, algoritmul de mai sus sta la baza tuturor
programelor profesionale de calcul al valorilor proprii generalizate ale unui fascicol
matriceal complex. Utilizarea lui pentru calculul formei Schur generalizate a unui
fascicol real este posibila
15
, dar este mai put in ecientan raport cu varianta special
elaborata pentru acest caz si prezentata mai jos.
15
Pentru probleme de mica dimensiune diferent a de ecient a nu este decisiv a astfel c a acest
algoritm poate folosit cu succes. Atragem ns a atent ia c a procedura Gc de calcul a unei rotat ii
complexe cu relat iile (6.42), aplicata unui vector real, calculeaz a de fapt o rotat ie real a astfel nc at,
pentru date reale, acest algoritm va lucra exclusiv cu numere reale privite ca numere complexe
si nu va capabil sa reduca perechile de blocuri diagonale 2 2. Pentru a dep asi acest impas
se poate proceda, de exemplu, la identicarea situat iei si monitorizarea blocurilor diagonale ca n
algoritmul special destinat cazului real (vezi mai departe).
474 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZAT I
Sintaxa de apel este
[S, T, Q, Z] = QZ1(A, B, Q, Z, tol, opt),
perechea (S, T) n FSG putand suprascrie (intern) perechea (A, B).
La fel ca n cazul algoritmului QR, exista date de intrare pentru care algoritmul
nu este convergent, desi acest lucru se ntampla extrem de rar n practica. Aici,
dupa 30 de iterat ii fara progresul parametrului structural q se declara esecul desi mai
exista sanse de convergent a printr-o modicare empirica a vectorului de deplasare
(v. cap. 4).
Printre ranarile posibile care nu au fost incluse este opt iunea de a calcu-
lata numai una din matricele de transformare (de obicei Z, ale carei prime coloane
reprezinta o baza pentru spat iul de deat ie asociat primelor valori proprii general-
izate, vezi sect iunea urmatoare). De asemenea, din rat iuni de claritate a prezentarii,
s-a preferat acumularea transformarilor n cadrul unei iterat ii n matricele de trans-
formare curente Q
c
si Z
c
si apoi aplicarea lor celorlalte blocuri afectate si ma-
tricelor de transformare Q si Z sub forma unor nmult iri cu matrice dense fapt care
poate conduce la o anumita reducere (totusi put in semnicativa) a ecient ei.
Datorita procesului iterativ, complexitatea algoritmului depinde de datele de
intrare. Viteza de convergent a a procesului iterativ este similara cu cea a algorit-
mului QR. Evaluarile experimentale converg catre aprecierea ca, n medie, doua
iterat ii sunt suciente pentru a pune n evident a o valoare proprie generalizata.
In
aceasta situat ie, pentru fascicole de ordin superior (e.g. n > 100) se poate aprecia
ca algoritmul QZ are o complexitate O(n
3
). Evaluari mai ne sunt date la varianta
reala.
Utilizarea exclusiva a transformarilor unitare confera algoritmului QZ1 o foarte
buna stabilitate numerica. Se arata ca forma Schur generalizata (S, T) calculata
este forma Schur generalizata exacta a unei perechi foarte apropiate de perechea
(A, B) data. Concret, avem
S =
Q
H
(A +E)
Z, T =
Q
H
(B +F)
Z,
unde
Q,
Z sunt matrice riguros unitare, iar matricele de perturbat ie E si F satisfac
condit iile
|E|
2
M
|A|
2
, |F|
2
M
|B|
2
,
cu precizia masinii t inta. Pentru considerat ii suplimentare vezi sect iunea 6.5. 3
C. Un pas QZ pentru matrice reale
In cazul perechilor (H, T) reale un spor important de ecient a se obt ine utilizand o
aritmetica reala care impune utilizarea une strategii a pasilor dubli.
In conformitate
cu cele aratate n capitolul 4, un pas dublu QR cu deplasare implicita pentru
matricea G
k
= H
k
T
1
k
consta n efectuarea urmatoarelor operat ii:
1. Se calculeaza prima coloana q
(k)
1
a matricei Q
k
ce deneste trans-
formarea ortogonala aferenta unui pas dublu QR cu deplasare ex-
plicita.
6.3. ALGORITMUL QZ 475
2. Se determina o matrice ortogonala U astfel ncat prima coloana a
lui U
T
sa e q
(k)
1
, i.e. U
T
e
1
= q
(k)
1
.
3. Se calculeaza matricea F = U
T
G
k
U (a carei structura nu mai este
superior Hessenberg).
4. Se aplica algoritmul HQ de reducere a matricei F la forma superior
Hessenberg rezultand matricea succesor G
k+2
= H
k+2
T
1
k+2
.
Daca matricea superior Hessenberg G
k
este ireductibila, atunci, conform teo-
remei 4.9, rezultatul G
k+2
al aplicarii schemei de calcul de mai sus va esent ial
acelasi cu cel dat de un pas dublu QR cu deplasare explicita. Notam si aici,
pentru simplicare, (H
k
, T
k
)
not
= (H, T) perechea curenta a sirului QZ, presupusa
ireductibila, (H
k+2
, T
k+2
)
not
= (H
, T
= H
(T
)
1
. Urmand etapele din schema de cal-
cul de mai sus vom transfera transformarile matricei G perechii (H, T). Mai mult,
exploatand corespunzator avantajele structurale date de forma Hessenberg genera-
lizata a perechilor init iala si nala, complexitatea pasului dublu va O(n
2
), ceea ce
n economia ntregului algoritm este esent ial, reducand complexitatea algoritmului
QZ cu deplasare implicita la cea a variantei cu deplasare explicita si asigurand,
n acelasi timp, posibilitatea utilizarii exclusive a aritmeticii reale. Detaliile sunt
prezentate n continuare.
1. Daca notam cu
1
si
2
valorile proprii (posibil complexe) ale matricei
G(n1 : n, n1 : n), atunci n expresia primei coloane a matricei de transformare
Q
k
not
= Q acestea apar sub forma sumei si produsului (ntotdeauna reale). T inandu-
se seama de structura Hessenberg a matricelor G si H, vom calcula elementele
blocului matriceal X = G(n1 : n, n2 : n) IR
23
ca solut ie a sistemului
triunghiular
XT(n2 : n, n2 : n) = H(n1 : n, n2 : n),
care se rezolva recurent, pe linii (exercit iu pentru cititor)
_
_
x
11
=
h
n1,n2
t
n2,n2
x
12
=
h
n1,n1
t
n2,n1
x
11
t
n1,n1
x
13
=
h
n1,n
t
n2,n
x
11
t
n1,n
x
12
t
n,n
x
21
= 0
x
22
=
h
n,n1
t
n1,n1
x
23
=
h
nn
t
n1,n
x
22
t
n,n
,
(6.60)
dupa care valorile cautate ale sumei si produsului se obt in imediat
_
def
=
1
+
2
= x
12
+x
23
,
def
=
1
2
= x
12
x
23
x
13
x
22
.
(6.61)
476 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZAT I
Daca
1
,
2
, (G), i.e. matricea M = (G
1
I
n
)(G
2
I
n
) = G
2
G + I
n
este nesingulara, atunci prima coloana a matricei de transformare Q
k
not
= Q (nca
un exercit iu pentru cititor) este
q
1
= Qe
1
=
_
_
h
11
t
11
(
h
11
t
11
h
21
t
12
t
11
t
22
) +
h
21
h
12
t
11
t
22
+
h
21
t
11
(
h
11
t
11
+
h
22
t
22
h
21
t
12
t
11
t
22
)
h
21
h
32
t
11
t
22
0
.
.
.
0
_
_
, (6.62)
unde este un factor real de normare. Elementele nenule w = q
1
(1 : 3)/ ale lui
q
1
/, i.e.
w =
_
_
h
11
t
11
(
h
11
t
11
h
21
t
12
t
11
t
22
) +
h
21
h
12
t
11
t
22
+
h
21
t
11
(
h
11
t
11
+
h
22
t
22
h
21
t
12
t
11
t
22
)
h
21
h
32
t
11
t
22
_
_
, (6.63)
denesc vectorul de deplasare implicita asociat pasului dublu QZ.
2. Matricea ortogonala U de la instruct iunea 2 a schemei de calcul de mai sus
este, cel mai recomandat, un reector (real) avand structura
U =
_
U 0
0 I
n3
_
, (6.64)
cu
U IR
33
reectorul care asigura
Uw = e
1
, IR. (6.65)
3. Se constata si aici imediat ca aplicarea transformarii de asemanare de la
punctul 3 al schemei de calcul de mai sus este echivalenta cu aplicarea trans-
formarii U = U
T
ambelor matrice din perechea (H, T).
Intr-adevar, daca (
H,
T) =
= (U
T
H, U
T
T), atunci
H
T
1
= U
T
HT
1
U = U
T
GU =
G. Alterarea structurii
superior Hessenberg a matricei G n pozit iile (3, 1), (4, 1), (4, 2) se transfera n al-
terarea structurala a perechii (H, T). Concret, datorita structurii (6.64) a lui U,
structura matricei
H va diferi de o structura superior Hessenberg prin elementul
nenul din pozit ia (3, 1) iar structura matricei
T va diferi de o structura superior
triunghiulara prin elementele nenule din pozit iile (2, 1), (3, 1) si (3, 2).
4. Restaurarea structurii Hessenberg generalizate a perechii (
H,
T) printr-o
transformare ortogonala de echivalent a poate asimilata cu refacerea formei Hessen-
berg a matricei
G. Motivat ia este aceeasi cu cea de la iterat ia QZ complexa. Con-
cret, readucerea perechii alterate la forma Hessenberg generalizata se face cu algo-
ritmul HTQZ adaptat, pentru asigurarea ecient ei necesare, la situat ia structurala
6.3. ALGORITMUL QZ 477
actuala. Pentru adaptarea algoritmului HTQZ vom utiliza reectori modicat i
pe care i denim prin expresia cunoscuta
V = I
n
vv
T
, =
1
2
|v|
2
,
unde vectorul v se calculeaza astfel ncat sa se asigure anularea primelor n1
elemente ale unui vector a IR
n
dat
16
, i.e. (V a)(1 : n1) = 0 (si, ntrucat
reectorul este o matrice simetric a, (a
T
V )(1 : n1) = 0). Conform celor prezentate
n capitolul 3, nu este greu de vazut ca elementele denitorii ale acestui reector si
suprascrierea vectorului a cu V a se calculeaza economic cu schema:
HM 1. = sgn(a
n
)|a|
2. v
i
= a
i
, i = 1 : n1
3. v
n
= a
n
+
4. = a
n
5. a
i
= 0, i = 1 : n1
6. a
n
=
Vom introduce o procedura cu sintaxa
[ d, v, ] = Hrm(a)
pentru calculul reectorilor modicat i de ordin dat de dimensiunea vectorului a
si calculul vectorului d = V a sau d = aV dupa cum vectorul argument este un
vector coloana sau un vector linie. Suprascrierea (interna) a lui a cu d se face cu
apelul [a, v, ] = Hrm(a). Procedurile de premultiplicare si postmultiplicare a unei
matrice cu un reector modicat sunt identice cu cele care opereaza cu reectorii
nemodicat i, i.e. vom folosi procedurile Hrs si Hrd din tabelul 4.3. De asemenea,
daca U IR
pp
este un reector (modicat) vom nota
U
(p)
k
=
_
_
I
k1
0 0
0 U 0
0 0 I
npk+1
_
_
care este, la randul sau, un reector de ordinul n pe care l vom numi reector
(modicat) de ordin n si indici (k, p).
Cu aceste precizari putem prezenta detaliile adaptarii algoritmului HTQZ prin
urmatoarea schema de calcul.
HTQZ2
1. Pentru k = 1 : n3
1. Se calculeaza reectorul modicat Z
(3)
k
astfel ncat
(TZ
(3)
k
)(k+2, k : k+1)=0
2. H HZ
(3)
k
% Apar doua elemente nenule n pozit iile (k+3, k : k+1)
16
Prin reectori nemodicat i vomntelege pe parcursul acestui capitol reectorii care aplicat i
unui vector n-dimensional anuleaza ultimele n1 componente ale acestuia.
478 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZAT I
3. T TZ
(3)
k
% Se anuleaza elementele T(k+2, k : k+1)
4. Se calculeaza reectorul modicat Z
(2)
k
astfel ncat (TZ
(2)
k
)(k+1, k)=0
5. H HZ
(2)
k
6. T TZ
(2)
k
% Se anuleaza elementul T(k+1, k)
7. Se calculeaza reectorul Q
(3)
k+1
astfel ncat (Q
(3)
k+1
H)(k+2 : k+3, k) = 0
8. H Q
(3)
k+1
H % Se anuleaza elementele H(k+2 : k+3, k)
9. T Q
(3)
k+1
T % Apar elemente nenule n pozit iile (k+3, k+1)
si (k+3, k+1 : k+2)
2. % Ultimele transformari
1. Se calculeaza reectorul modicat Z
(3)
n2
astfel ncat
(TZ
(3)
n2
)(n, n2 : n1) = 0
2. H HZ
(3)
n2
3. T TZ
(3)
n2
% Se anuleaza elementele T(n, n2 : n1)
4. Se calculeaza reectorul modicat Z
(2)
n2
astfel ncat (TZ
(2)
n2
)(n1, n2) = 0
5. H HZ
(2)
n2
6. T TZ
(2)
n2
% Se anuleaza elementul T(n1, n2)
7. Se calculeaza reectorul Q
(2)
n1
astfel ncat (Q
(2)
n1
H)(n, n2) = 0
8. H Q
(2)
n1
H % Se anuleaza elementul H(n, n2)
9. T Q
(2)
n1
T % Apare un element nenul n pozit ia (n, n1) a lui T
10. Se calculeaza reectorul modicat Z
(2)
n1
astfel ncat (TZ
(2)
n2
)(n, n1)=0
11. H HZ
(2)
n1
12. T TZ
(2)
n1
% Se anuleaza elementul T(n, n1)
Aceasta schema realizeaza deplasarea elementelor alterante ale structurilor ma-
tricelor H si T de-a lungul unor trasee paralele cu diagonala principala pana la
eliminarea lor din matricele respective, utilizand n acest scop secvent e de reec-
tori.
Pentru exemplicare prezentam prima parte a evolut iei structurale a perechii
(H, T) n cazul n = 5.
(H, T) (UH, UT) = (
_
_
+
0 0
0 0 0
_
_
,
_
_
+
+ +
0 0 0
0 0 0 0
_
_
),
(H, T)(HZ
(3)
1
, TZ
(3)
1
)=(
_
_
+
+ +
0 0 0
_
_
,
_
_
+
0 0 0
0 0 0
0
_
_
),
6.3. ALGORITMUL QZ 479
(H, T)(HZ
(2)
1
, TZ
(2)
1
)=(
_
_
+
+ +
0 0
0
_
_
,
_
_
0 0
0 0
0 0
0
0 0
_
_
),
(H, T)(Q
(3)
2
H, Q
(3)
2
T)=(
_
_
+
0 0 0
_
_
,
_
_
0
0 +
0 + +
0 0 0 0
_
_
),
etc. Se observa ca s-a obt inut deplasarea cu o pozit ie spre dreapta jos a celor doua
grupuri de elemente alterante, proces care poate continuat pana la eliminarea lor.
Aplicarea reectorului U = U
T
care asigura prima coloana impusa a matricei
de transformare corespunzatoare pasului QR curent pentru matricea HT
1
si apoi
refacerea structurii Hessenberg generalizate cu ajutorul variantei adaptate a algo-
ritmului HTQZ, data de schema de calcul de mai sus, conduc la obt inerea perechii
succesor
H H
= Q
(2)
n1
Q
(3)
n2
Q
(3)
1
UHZ
(3)
1
Z
(2)
1
Z
(3)
n2
Z
(2)
n2
Z
(2)
n1
T T
= Q
(2)
n1
Q
(3)
n2
Q
(3)
1
UTZ
(3)
1
Z
(2)
1
Z
(3)
n2
Z
(2)
n2
Z
(2)
n1
(6.66)
din sirul QZ. Prima coloana a matricei U nu este afectata de multiplicarea la dreapta
cu matricea Q
(3)
1
Q
(3)
n2
Q
(2)
n1
.
T inand seama de (6.61), (6.63) calculul economic al vectorului de deplasare
implicita se poate face cu urmatorul algoritm.
Algoritmul 6.6 (VD2 Calculul vectorului de deplasare implicita
pentru un pas dublu QZ) (Date o pereche (H, T) IR
nn
IR
nn
n
forma Hessenberg generalizata cu T nesingulara algoritmul calculeaza
vectorul w R
3
de deplasare implicita pentru un pas dublu QZ.)
1. Se calculeaza si cu relat ia (6.61).
2. =
h
11
t
11
, =
h
22
t
22
, =
h
21
t
11
, =
t
22
, = t
12
3. w =
_
_
+h
12
+
( +)
h
32
_
_
Comentarii. Sintaxa de apel a a acestui algoritm va
w = VD2(H, T),
iar complexitatea sa ramane, evident, O(1). 3
480 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZAT I
Suntem n masura sa prezentam acum algoritmul formal de implementare a
unui pas dublu QZ cu deplasare implicita. Sunt utilizate procedurile de calcul
al reectorilor cuprinse n tabelul 4.3, la care se adauga procedurile introduse n
aceasta sect iune.
Algoritmul 6.7 (IT QZ2 Un pas dublu QZ cu deplasare im-
plicita) (Date o pereche (H, T) IR
nn
IR
nn
n forma Hessen-
berg generalizata ireductibila, vectorul de deplasare implicita w IR
3
si matricele ortogonale Q, Z IR
nn
, algoritmul suprascrie perechea
(H, T) cu perechea succesor (H
, T
) = (Q
T
k
HZ
k
, Q
T
k
TZ
k
) din sirul QZ.
Opt ional, se actualizeaza matricele de transformare Q si Z. Opt iunea
se exprima cu ajutorul variabilei logice opt de tipul sir de caractere care
poate lua valorile
da
sau
nu
. Daca opt =
nu
, algoritmul returneaza
matricele Q si Z nemodicate.)
1. [ w, u, ] = Hr(w)
2. H(1: 3, :) = Hrs(u, , H(1: 3, :))
3. T(1: 3, :) = Hrs(u, , T(1: 3, :))
4. Daca opt =
da
atunci
Z( : , k : k+2) = Hrd(Z( : , k : k+2), u, )
5. [ T(k+1, k : k+1), u, ] = Hrm(T(k+1, k : k+1))
6. H(1 : k+3, k : k+1) = Hrd(H(1 : k+3, k : k+1), u, )
7. T(1 : k, k : k+1) = Hrd(T(1 : k, k : k+1), u, )
8. Daca opt =
da
atunci
Z( : , k : k+1) = Hrd(Z( : , k : k+1), u, )
9. [ H(k+1 : k+3, k), u, ] = Hr(H(k+1 : k+3, k))
10. H(k+1 : k+3, k+1 : n) = Hrs(u, , H(k+1 : k+3, k+1 : n))
11. T(k+1 : k+3, k+1 : n) = Hrs(u, , T(k+1 : k+3, k+1 : n))
12. Daca opt =
da
atunci
Q( : , k+1 : k+3) = Hrd(Q( : , k+1 : k+3), u, )
6. % Ultimele transformari
1. [ T(n, n2 : n), u, ] = Hrm(T(n, n2 : n))
2. H( : , n2 : n) = Hrd(H( : , n2 : n), u, )
3. T(1 : n1, n2 : n) = Hrd(T(1 : n1, n2 : n), u, )
4. Daca opt =
da
atunci
Z( : , n2 : n) = Hrd(Z( : , n2 : n), u, )
5. [ T(n1, n2 : n1), u, ] = Hrm(T(n1, n2 : n1))
6.3. ALGORITMUL QZ 481
6. H( : , n2 : n1) = Hrd(H( : , n2 : n1), u, )
7. T(1 : n2, n2 : n1) = Hrd(T(1 : n2, n2 : n1), u, )
8. Daca opt =
da
atunci
Z( : , n2 : n1) = Hrd(Z( : , n2 : n1), u, )
9. [ H(n1 : n, n2), u, ] = Hr(H(n1 : n, n2))
10. H(n1 : n, n1 : n) = Hrs(u, , H(n1 : n, n1 : n))
11. T(n1 : n, n1 : n) = Hrs(u, , T(n1 : n, n1 : n))
12. Daca opt =
da
atunci
Q( : , n1 : n) = Hrd(Q( : , n1 : n), u, )
13. [ T(n, n1 : n), u, ] = Hrm(T(n, n1 : n))
14. H( : , n1 : n) = Hrd(H( : , n1 : n), u, )
15. T(1 : n1, n1 : n) = Hrd(T(1 : n1, n1 : n), u, )
16. Daca opt =
da
atunci
Z( : , n1 : n) = Hrd(Z( : , n1 : n), u, )
Comentarii. Sintaxa de apel a algoritmului de mai sus va
[ H, T, Q, Z ] = IT QZ2(H, T, Q, Z, w, opt).
Complexitatea unui pas dublu QZn implementarea de mai sus este O(n
2
). Concret,
pentru execut ia algoritmului 6.7 sunt necesari N
op
32n
2
opi fara acumularea
transformarilor, N
op
20n
2
pentru calculul matricei Z, N
op
12n
2
pentru calculul
matricei Q, la care se adauga cele 2(n 1) extrageri de radical. 3
D. Algoritmul QZ pentru matrice reale
Algoritmul QZ pentru matrice reale reproduce structura algoritmului omonim pen-
tru matrice complexe cu urmatoarele aspecte specice:
a) n faza iterativa monitorizarea structurii matricei H are loc cu evident ierea
blocurilor diagonale 2 2;
b) faza iterativa a algoritmului QZ se termina n momentul n care ordinul
submatricii H
22
scade la cel mult 2, i.e. q devine mai mare decat n 3.
c) dupa terminarea fazei iterative, algoritmul se completeaza cu reducerea la
forma superior triunghiulara a perechilor de blocuri diagonale 2 2 care au valori
proprii generalizate reale.
Rezolvarea problemelor ridicate de primele doua aspecte este imediata.
In ceea
ce priveste punctul c), triangularizarea perechilor de blocuri diagonale 22 cu valori
proprii reale se face n felul urmator.
Fie perechea (
H,
T) IR
22
IR
22
cu
h
21
,= 0 si valorile proprii generalizate
reale
1
si
2
. Atunci
v =
_
1
t
22
h
22
h
21
_
(6.67)
este un vector propriu generalizat asociat lui
1
, i.e.
H v =
1
T v si o = Imv
este un subspat iu de deat ie al fascicolului (
H,
T). Matricele
Q si
Z care denesc
482 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZAT I
transformarea ortogonala de echivalent a ce aduce perechea (
H,
T) la forma Schur
generalizata se pot construi procedand ca n demonstrat ia propozit iei 6.2. Concret,
(vezi exercit iul 6.9),
Z este reectorul care asigura (
Zv)(2) = 0, iar apoi
Q este
reectorul care asigura (
Q
T
(
T
Z(:, 1))(2) = 0.
Daca blocul diagonal ce trebuie triangularizat se aa pe liniile si coloanele k si
k+1, atunci rezultatul dorit se obt ine aplicand perechii (H, T), de ordinul n, trans-
formarea ortogonala de echivalent a denita de matricele Q = diag(I
k1
,
Q, I
nk1
)
si diag(I
k1
,
Z, I
nk1
).
)/2
2. v =
_
1
t
k+1,k+1
s
k+1,k+1
s
k+1,k
_
3. [ v, u
Z
,
Z
] = Hr(v)
4. S(1 : k+1, k: k+1) = Hrd(S(1 : k+1, k: k+1), u
Z
,
Z
)
5. T(1 : k+1, k: k+1) = Hrd(T(1 : k+1, k: k+1), u
Z
,
Z
)
6. [ T(k: k+1, k), u
Q
,
Q
] = Hr(T(k: k+1, k))
7. S(k: k+1, k: n) = Hrs(u
Q
,
Q
, S(k: k+1, k: n))
8. S(k+1, k) = 0 % zeroul calculat se seteaza la un zero efectiv
9. T(k: k+1, k+1: n) = Hrs(u
Q
,
Q
, T(k: k+1, k+1: n))
Comentarii. Sintaxa de apel a acestui algoritm va
[ S, T, u
Q
,
Q
, u
Z
,
Z
] = TRID2g(S, T, k),
iar complexitatea sa este O(n). 3
Cu aceste precizari si t inand seama de aspectele comune cu cazul complex putem
scrie algoritmul QZ standard cu pas dublu, cu deplasare implicita, pentru calculul
formei Schur reale generalizate.
6.3. ALGORITMUL QZ 483
Algoritmul 6.9 (QZ2 Algoritmul QZ cu pasi dubli si deplasari
implicite) (Date un fascicol matriceal denit de perechea (A,B)IR
nn
IR
nn
, matricele ortogonale Q, Z IR
nn
si un nivel de tolerant a tol
pentru anularea elementelor subdiagonale, algoritmul calculeaza forma
Schur reala generalizata (A, B) (S, T) = (
Q
T
A
Z,
Q
T
B
Z) a perechii
(A, B). Toate calculele se efectueaza pe loc, n locat iile de memorie
ale tablourilor A si B. Opt ional, se acumuleza transformarile prin ac-
tualizarea matricelor Q Q
Q si Z Z
Z. Opt iunea se exprima cu
ajutorul variabilei logice opt de tipul sir de caractere care poate lua
valorile
da
sau
nu
.
3. % Terminarea normala a fazei iterative
Daca q n 2 atunci break
4. % Determinarea lui p
1. p = n q 1
2. C^at timp a
p+1,p
,= 0
1. p p 1
2. Daca p = 0 atunci break
484 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZAT I
5. % Iterat ia curenta
1. k = p+1, l = nq
2. w = VD2(A(k: l, k: l), B(k: l, k: l))
3. [ A(k: l, k: l), B(k: l, k: l), Q
c
, Z
c
] =
IT QZ2(A(k: l, k: l), B(k: l, k: l), I
lp
, I
lp
, w, opt)
4. 1. Daca q > 0 atunci
1. A(k: l, l+1: n) = Q
c
A(k: l, l+1: n)
2. B(k: l, l+1: n) = Q
c
B(k: l, l+1: n)
5. 1. Daca p > 0 atunci
1. A(1: p, k: l) = A(1: p, k: l)Z
c
2. B(1: p, k: l) = B(1: p, k: l)Z
c
6. cont it cont it + 1
6. Daca opt=da atunci
1. Q( : , k : l) = Q( : , k : l)Q
c
2. Z( : , k : l) = Z( : , k : l)Z
c
7. % Terminarea prin esec a algoritmului
1. Daca cont it > 30
atunci
1. Tipare ste S-au consumat 30 iterat ii QZ pentru
evident ierea unui bloc diagonal fara a se atinge
acest obiectiv. Este posibil ca, pentru aceste date
de intrare, algoritmul QZ sa nu e convergent.
2. Return
4. % Triangularizarea blocurilor 2 2 cu valori proprii generalizate
reale
1. k = 1
2. C^at timp k < n
1. Daca a
k+1,k
= 0 atunci k k + 1
altfel
1. [ A, B, u
Q
,
Q
, u
Z
,
Z
] =TRID2g(A, B, k)
2. Daca opt=da si
Z
,= 0 atunci
1. Q( : , k: k+1) = Hrd(Q( : , k: k+1), u
Q
,
Q
)
2. Z( : , k: k+1) = Hrd(Z( : , k: k+1), u
Z
,
Z
)
3. k k + 2
Comentarii.
In aspectele sale esent iale, algoritmul de mai sus sta la baza tuturor
programelor profesionale de calcul al valorilor proprii generalizate ale unui fasci-
col matriceal real. Precizarile referitoare la aspectele de organizare a algoritmului
facute la varianta complexa raman valabile.
In acest sens s-au pastrat identicatorii
variabilelor cu aceeasi semnicat ie.
Sintaxa de apel este
[S, T, Q, Z] = QZ2(A, B, Q, Z, tol, opt),
6.3. ALGORITMUL QZ 485
perechea (S, T) n FSG putand suprascrie (intern) perechea (A, B).
La fel ca n cazul algoritmului QR, exista date de intrare pentru care algoritmul
nu este convergent, desi acest lucru se ntampla extrem de rar n practica. Aici, dupa
30 de iterat ii fara progresul parametrului structural q se declara esecul algoritmului
desi mai exista sanse de convergent a printr-o modicare empirica a vectorului de
deplasare dupa un numar precizat de iterat ii, e.g. 10 sau 20 (v. cap. 4).
Acceptand evaluarea conform careia sunt suciente, n medie, doua iterat ii pen-
tru a pune n evident a o valoare proprie generalizata, algoritmul necesita un numar
de N
A
op
= 30n
3
opi fara acumularea transformarilor, N
Q
op
= 16n
3
opi suplimentari
pentru calculul lui Q si N
Z
op
= 20n
3
opi pentru acumularea lui Z. Putem, deci,
considera ca pentru fascicole de ordin superior (e.g. n > 100) algoritmul QZ are o
complexitate O(n
3
).
Si aici, utilizarea exclusiva a transformarilor ortogonale confera algoritmului QZ
o foarte buna stabilitate numeric a. Concret, perechea calculata (S, T) satisface
S =
Q
T
(A +E)
Z, T =
Q
T
(B +F)
Z,
unde
Q,
Z sunt matrice riguros ortogonale, iar matricele de perturbat ie E si F
satisfac condit iile
|E|
2
M
|A|
2
, |F|
2
M
|B|
2
.
Pentru considerat ii suplimentare vezi sect iunea 6.5. 3
, Z =
k
..
nk
..
_
Z
1
Z
2
. (6.75)
Daca, acum, consideram o = ImZ
1
, atunci 1
1
def
= Ao = Im(AZ
1
) = Im(QSZ
H
Z
1
)
de unde, t inand seama de relat iile (6.74), (6.75), precum si de faptul ca Z
H
1
Z
1
= I
k
,
6.4. CALCULUL SUBSPAT IILOR DE DEFLAT IE 487
Z
H
2
Z
1
= 0, rezulta
1
1
= Im([ Q
1
Q
2
]
_
S
11
S
12
0 S
22
_ _
Z
H
1
Z
H
2
_
Z
1
) = Im(Q
1
S
11
) ImQ
1
,
cu egalitate n ultima relat ie daca si numai daca S
11
este nesingulara.
In acest din
urma caz coloanele lui Q
1
formeaza o baza unitara a lui 1
1
. Absolut analog avem
1
2
def
= Bo = Im(BZ
1
) = Im(QTZ
H
Z
1
) de unde rezulta
1
2
= Im(Q
1
T
11
) ImQ
1
,
cu egalitate n ultima relat ie dac a si numai daca T
11
este nesingulara.
In consecint a,
1
def
= Ao +Bo = 1
1
+1
2
ImQ
1
. (6.76)
cu egalitate n ultima relat ie daca una din matricele S
11
sau T
11
este nesingulara.
In cazul real, toate considerat iile de mai sus raman valabile cu singurul amen-
dament ca subspat iile de deat ie reale ale unui fascicol real se asociaza ntotdeauna
unor seturi simetrice de valori proprii generalizate
17
fapt indus de posibilitatea
unor partit ii de forma (6.74) unde, de data aceasta, S este n forma Schur reala.
T inand seama de cele de mai sus, un subspat iu de deat ie al unui fascicol (A, B)
este complet denit de un set de valori proprii generalizate, iar calculul sau (i.e.
calculul unei baze ortogonale) se reduce, n denitiv, la obt inerea unei forme Schur
generalizate (S, T) = (Q
H
AZ, Q
H
BZ) n care setul de valori proprii precizat co-
incide cu spectrul de valori proprii al subfascicolului lider principal de dimensiune
corespunzatoare. O data obt inuta aceasta forma Schur, baza cautata este data de
primele coloane ale matricei Z. Prin urmare, dupa aplicarea algoritmului QZ si
obt inerea unei prime forme Schur, n care perechile diagonale nu au o ordine pre-
determinata, calculul unui subspat iu de deat ie se reduce la ordonarea perechilor
diagonale (i.e. aducerea n primele pozit ii diagonale a valorilor proprii vizate), prin
transformari unitare de echivalent a, si actualizarea matricei de transformare Z.
La fel ca n cazul valorilor proprii ordinare, mecanismul de ordonare a formei
Schur generalizate se va baza pe procedurile de permutare a doua perechi (de
blocuri, n cazul real) diagonale adiacente.
6.4.1 Ordonarea formei Schur generalizate (complexe)
Vom considera mai ntai cazul complex. Fie un fascicol matriceal de ordinul doi
(S, T) I C
22
I C
22
n forma Schur generalizata cu valorile proprii distincte, i.e.
17
Reamintim ca prin set simetric nt elegem o mult ime numeric a n care elementele complexe
apar n perechi complex conjugate.
488 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZAT I
s
11
t
22
,= s
22
t
11
. Continuand analogia cu problema valorilor proprii ordinare, e
x
2
un vector propriu generalizat unitar al fascicolului (S, T) asociat valorii proprii
2
= (s
22
, t
22
), i.e. un vector care satisface condit iile
t
22
Sx
2
= s
22
Tx
2
, x
2
,= 0. (6.78)
De asemenea, e w I C
2
un vector ortogonal cu x
2
si matricea unitara de transfor-
mare Z = [ x
2
w]. Concret, vectorul propriu generalizat din (6.78) are expresia
x
2
= y, cu y =
_
s
22
t
12
s
12
t
22
s
11
t
22
s
22
t
11
_
, (6.79)
unde IR este un factor scalar de normare, iar matricea unitara Z poate rotat ia
(complexa) care realizeaza (Z
H
y)(2) = 0.
Daca Q I C
22
este o matrice unitara astfel ncat
(Q
H
SZ)(2, 1) = 0 sau (Q
H
TZ)(2, 1) = 0, (6.80)
atunci obt inem (exercit iu pentru cititor)
S
= Q
H
SZ =
_
s
22
0 s
11
_
, T = Q
H
TZ =
_
t
22
0 t
11
_
, (6.81)
unde cu s-au notat elementele lipsite de semnicat ie. S-a realizat astfel per-
mutarea celor doua valori proprii generalizate. Alegerea uneia din cele doua alter-
native de calcul a matricei Q se face din considerente de asigurare a unei stabilitat i
numerice maxime a algoritmului de ordonare.
In [ VI ] se arata ca decizia trebuie
luata n raport cu modulele elementelor s
22
si t
22
. Daca [s
22
[ [t
22
[, atunci Q va
rotat ia care anuleaza al doilea element al primei coloane a matricei SZ, iar n caz
contrar rotat ia care anuleaza al doilea element al primei coloane a matricei TZ.
Pentru un fascicol de ordinul n, permutarea valorilor proprii adiacente (s
kk
, t
kk
)
si (s
k+1,k+1
, t
k+1,k+1
) ale formei Schur generalizate (S, T) I C
nn
I C
nn
se reali-
zeaza folosind transformarea unitara de echivalent a (S
, T
) = (Q
H
SZ, Q
H
TZ) cu
Q = diag(I
k1
,
Q, I
nk1
), Z = diag(I
k1
,
Z, I
nk1
), (6.82)
unde transformarea denita de matricele de ordinul doi
Q si
Z asigura permutarea
valorilor proprii ale perechii (S(k : k + 1, k : k + 1), T(k : k + 1, k : k + 1)).
Rezumand cele prezentate mai sus, rezulta urmatoarea schema de calcul:
PG11 c 1. Daca s
kk
t
k+1,k+1
,= s
k+1,k+1
t
kk
atunci
1. Se calculeaza vectorul y =
_
s
k+1,k+1
t
k,k+1
s
k,k+1
t
k+1,k+1
s
kk
t
k+1,k+1
s
k+1,k+1
t
kk
_
2. Se calculeaza rotat ia Z
12
astfel ncat (Z
H
12
y)(2) = 0
3. S S diag(I
k1
, Z
12
, I
nk1
)
4. T T diag(I
k1
, Z
12
, I
nk1
)
5. Z Z diag(I
k1
, Z
12
, I
nk1
)
6. Daca [t
k+1,k+1
[ [s
k+1,k+1
[ atunci y = S(k : k + 1, k)
altfel y = T(k : k + 1, k)
6.4. CALCULUL SUBSPAT IILOR DE DEFLAT IE 489
7. Se calculeaza rotat ia Q
12
astfel ncat (Q
H
12
y)(2) = 0
8. S diag(I
k1
, Q
H
12
, I
nk1
) S
9. T diag(I
k1
, Q
H
12
, I
nk1
) T
10. Q Qdiag(I
k1
, Q
12
, I
nk1
)
iar algoritmul corespunzator, bazat pe utilizarea procedurilor devenite familiare
pentru cititor, este
Algoritmul 6.10 (PG11c Permutarea a doua valori proprii ge-
neralizate adiacente) (Date o pereche (S, T) I C
nn
I C
nn
n forma
Schur generalizata, matricele unitare Q, ZI C
nn
si ntregul k1: n1,
algoritmul suprascrie perechea de matrice (S, T) cu perechea (S
, T
) =
= (
Q
H
S
Z,
Q
H
T
Z) care realizeaza permutarea valorilor proprii genera-
lizate denite de perechile (s
kk
, t
kk
), (s
k+1,k+1
, t
k+1,k+1
) si actualizeaza
matricele de transformare Q si Z.)
1. Daca s
kk
t
k+1,k+1
,= s
k+1,k+1
t
kk
atunci
1. y =
_
s
k+1,k+1
t
k,k+1
s
k,k+1
t
k+1,k+1
s
kk
t
k+1,k+1
s
k+1,k+1
t
kk
_
2. [ y, c, s ] = Gc(y)
3. S(1 : k + 1, k : k + 1) = Gcd(S(1 : k + 1, k : k + 1), c, s)
4. T(1 : k + 1, k : k + 1) = Gcd(T(1 : k + 1, k : k + 1), c, s)
5. Z(:, k : k + 1) = Gcd(Z(:, k : k + 1), c, s)
6. Daca [t
k+1,k+1
[ [s
k+1,k+1
[ atunci
1. y = S(k : k + 1)
altfel
1. y = T(k : k + 1, k)
7. [ y, c, s ] = Gc(y)
8. S(k : k + 1, k + 1 : n) = Gcs(c, s, S(k : k + 1, k + 1 : n))
9. s
k+1,k
= 0 % zeroul calculat este setat efectiv
10. T(k : k + 1, k : n) = Gcs(c, s, T(k : k + 1, k : n))
11. t
k+1,k
= 0 % zeroul calculat este setat efectiv
12. Q(:, k : k + 1) = Gcd(Q(:, k : k + 1, c, s))
Comentarii. Sintaxa de apel a algoritmului de mai sus va
[ S, T, Q, Z ] = PG11c(S, T, Q, Z, k).
Complexitatea unei permutari a doua valori proprii generalizate vecine este 24n
ind independenta de k. 3
Din momentul n care dispunem de procedura de permutare a doua valori pro-
prii nvecinate, algoritmul propriu-zis de ordonare a formei Schur generalizate (com-
plexe) se reduce, n esent a, la un algoritm de sortare al unei mult imi ordonate bazat
pe interschimbarea elementelor adiacente. Procedand ca n cazul formei Schur or-
dinare, prezentam o varianta care dispune valorile proprii ale unei forme Schur
490 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZAT I
generalizate (S, T) ale fascicolului (A, B) n ordinea impusa de permutarea data
= i
1
, i
2
, . . . , i
n
n sensul ca perechea diagonala aata init ial n pozit ia (k, k) va
plasata n nal n pozit ia (i
k
, i
k
) (vezi si comentariul la algoritmul ce urmeaza).
Prin actualizarea matricei unitare de transformare Z se calculeaza si baze ortogo-
nale pentru subspat iile de deat ie asociate unor grupuri impuse de valori proprii
generalizate. Concret, coloanele matricei actualizate Z(: , 1 : k) formeaza o baza
ortogonala a subspat iului de deat ie o
k
asociat setului de valori proprii
k
=
=
i
= (s
ii
, t
ii
) [ i = 1 : k (n numerotarea nala). Actualizarea matricei
unitare de transformare Q nu este necesara. Daca se efectueaza totusi, atunci
coloanele matricei actualizate Q(: , 1: k) formeaza o baza ortogonala a subspat iului
1
k
= Ao
k
+Bo
k
n situat ia n care dim1
k
= dimo
k
= k.
Algoritmul 6.11 (FSG ORD Ordonarea formei Schur genera-
lizate (complexe)) (Date o pereche (S, T) I C
nn
I C
nn
n forma
Schur generalizata, matricele unitare Q, Z I C
nn
si permutarea =
= i
1
, i
2
, . . . , i
n
, algoritmul suprascrie perechea (S, T) cu perechea uni-
tar echivalenta (S
, T
) = (
Q
H
S
Z,
Q
H
T
Z) care are (s
i
k
,i
k
, t
i
k
,i
k
) =
= (s
kk
, t
kk
), k = 1 : n si actualizeaza matricele de transformare Q
si Z.)
1. Pentru k = 1 : (n 1)
1. mut a =nu
2. l = k
3. Pentru j = (k + 1) : n
1. Daca i
j
< i
l
atunci
1. l = j
2. mut a=da
4. Daca mut a =da atunci
1. Pentru j = (l 1) : 1 : k
1. [ S, T, Q, Z ] = PG11c(S, T, Q, Z, j)
2. i
j
i
j+1
Comentarii. Sintaxa naturala de apel a algoritmului prezentat este
[ S, T, Q, Z ] = FSG ORD(S, T, Q, Z, ).
Complexitatea unei ordonari este dictata esent ial de natura permutarii. Cazurile
limita sunt permutarea identica pentru care nu se face nici o operat ie aritmetica si
inversiunea pentru care se efectueaza
1
2
n(n 1) apelari ale procedurii PG11c care
conduc la o complexitate de O(n
3
).
Algoritmul de mai sus realizeaza o ordonare totala a perechilor diagonale. Daca
se urmareste exclusiv construct ia unei baze unitare pentru un subspat iu de deat ie
k-dimensional (k < n) este sucienta o ordonare part iala constand n aducerea, pe
caile cele mai scurte, a valorilor proprii generalizate vizate n primele k pozit ii di-
agonale. De asemenea, se renunt a la actualizarea matricei Q. Propunem cititorului
o astfel de adaptare a algoritmului.
6.4. CALCULUL SUBSPAT IILOR DE DEFLAT IE 491
De multe ori este mai comod ca n locul permutarii sa utilizam permutarea
inversa =
1
= j
1
, j
2
, . . . , j
n
.
In acest caz, algoritmul suprascrie perechea
(S, T) cu perechea unitar echivalenta (S, T) (S
, T
) = (
Q
H
S
Z,
Q
H
T
Z) care are
(s
kk
, t
kk
) = (s
j
k
,j
k
, t
j
k
,j
k
) si o varianta a sa arata astfel.
1. Pentru k = 1 : n 1
1. Daca k ,= j
k
atunci
1. Pentru i = (j
k
1) : 1 : k
1. [ S, T, Q, Z ] = PG11c(S, T, Q, Z, i)
2. Pentru i = (k + 1) : n
1. Daca j
i
< j
k
atunci j
i
= j
i
+ 1.
Dupa execut ia acestui algoritm coloanele matricei actualizate Z(: , 1 : k) formeaza
o baza ortogonala a subspat iului de deat ie o
k
asociat setului de valori proprii
k
=
i
= (s
ii
, t
ii
) [ i j
1
, j
2
, . . . , j
k
(n numerotarea init iala). 3
6.4.2 Ordonarea formei Schur reale generalizate
_
S
11
S
12
S
1p
0 S
22
S
1p
.
.
.
.
.
.
.
.
.
.
.
.
0 0 S
pp
_
_
, T =
_
_
T
11
T
12
T
1p
0 T
22
T
1p
.
.
.
.
.
.
.
.
.
.
.
.
0 0 T
pp
_
_
. (6.83)
Problema calculului subspat iilor de deat ie reale asociate unor seturi simetrice de
valori proprii generalizate revine la ordonarea corespunzatoare a blocurilor diagonale
ale formei Schur reale generalizate.
In acest scop este necesar sa stim sa permutam
doua perechi de blocuri adiacente. Permutarea a doua perechi de blocuri vecine
1 1 se face cu algoritmul PG11c cu singura ment iune ca toate transformarile
utilizate sunt reale (cu reducerea corespunzatoare a numarului de operat ii).
Intrucat
scrierea variantei reale a algoritmului se rezuma la nlocuirea siglei c cu sigla r n
identicatorii procedurilor, ne marginim sa introducem sintaxa de utilizare
[ S, T, Q, Z ] = PG11r(S, T, Q, Z, k).
Ramane sa aratam cum se pot permuta, prin transformari ortogonale de echivalent a,
doua perechi de blocuri diagonale vecine din care cel put in una din perechi are
blocurile de ordinul 2.
Consideram acum perechea de matrice de ordin 3 sau 4, partit ionate identic,
S =
_
S
11
S
12
0 S
22
_
, T =
_
T
11
T
12
0 T
22
_
, (6.84)
492 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZAT I
unde, prin urmare, cel put in unul din blocurile diagonale S
11
(T
11
), S
22
(T
22
) este
2 2.
In principiu, putem aplica ideile utilizate la elaborarea algoritmului PG11
i.e. calculul unei baze ortogonale a subspat iului de deat ie asociat valorilor proprii
generalizate ale perechii (S
22
, T
22
) si aplicarea propozit iei 6.2. Propunem cititoru-
lui implementarea acestor idei. Aici vom urma o cale echivalenta care utilizeaza
algoritmul QZ cu deplasare implicita. Avand n vedere faptul ca perechea (S, T)
din (6.84) este deja n forma Schur reala generalizata rezulta ca putem determina
deplasarea (n forma implicita) exacta care, utilizata n algoritmul QZ2 pune n
evident a, n pozit ia (2, 2) perechea cu valorile proprii dorite, n cazul nostru, n
vederea permutarii, cu valorile proprii ale perechii (S
11
, T
11
). Cunoasterea exacta a
deplasarii face ca, teoretic, sa e sucienta o singura iterat ie QZ pentru obt inerea
rezultatului dorit.
In practica, daca nivelul de tolerant a practicat este de ordinul
de marime al erorilor de rotunjire, este posibil sa e necesare cateva (doua-trei)
iterat ii pentru a putea considera elementele blocului
21
neglijabile. De asemenea,
ntrucat algoritmul QZ2 cu deplasari implicite efectueaza calculele aferente unei
iterat ii numai asupra perechilor n forma Hessenberg generalizata ireductibila este
necesar mai ntai un pas QZ articial care sa altereze structura Schur reala gene-
ralizata a perechii (S, T).
In consecint a, toate cele trei tipuri de permutare se vor
supune urmatoarei scheme de calcul.
PGkl
1. Se determina elementele denitorii exacte pentru vectorul w de deplasare
implicita (i.e. valoarea proprie generalizata daca prima pereche de blocuri
este 1 1, respectiv suma s si produsul p ale valorilor proprii generalizate
n cazul cand prima pereche de blocuri este 2 2).
2. Se executa un pas QZ cu un vector de deplasare implicita xat aleator
(e.g. alegerea w = [ 1 1 1 ]
T
da bune rezultate).
3. Se aplica algoritmul QZ cu deplasarea implicita exacta (i.e. calculata cu
elementele de la punctul 1).
Pentru fascicolul de ordinul n (6.82), permutarea blocurilor adiacente (S
kk
, T
kk
)
si (S
k+1,k+1
, T
k+1,k+1
) ale formei Schur reale generalizate (S, T) IR
nn
IR
nn
se
obt ine folosind transformarea ortogonala de echivalent a (S
, T
) = (Q
T
SZ, Q
T
TZ)
denita de
Q = diag(I
r
,
Q, I
s
), Z = diag(I
r
,
Z, I
s
), (6.85)
unde transformarea denita de matricele
Q si
Z, de ordinul 2, 3 sau 4, asigura
permutarea blocurilor diagonale ale perechii
S =
_
S
kk
S
k,k+1
0 S
k+1,k+1
_
,
T =
_
T
kk
T
k,k+1
0 T
k+1,k+1
_
, (6.86)
si unde r este ordinul cumulat al blocurilor diagonale 1 : (k 1), iar s este ordinul
cumulat al blocurilor diagonale (k + 2) : p.
Vom implementa schema de calcul de mai sus ntr-un algoritm care va trata toate
cazurile. Pentru aceasta vom utiliza rezultatele stabilite si procedurile elaborate n
acest capitol. Pentru o nt elegere mai lesnicioasa a algoritmului facem urmatoarele
precizari:
6.4. CALCULUL SUBSPAT IILOR DE DEFLAT IE 493
pentru relat iile de calcul al vectorilor de deplasare implicita (exacta) reco-
mandam consultarea algoritmilor Vd1 si Vd2;
pentru o prezentare mai clara a algoritmulor, actualizarea blocurilor nediag-
onale de pe bloc-liniile si bloc-coloanele afectate n etapa curenta, conform relat iei
(6.85), se va face utilizand matricele de transformare locala
Q si
Z n forma nefac-
torizata.
Obt inem urmatorul algoritm.
Algoritmul 6.12 (PGr Permutarea a doua perechi diagonale adi-
acente) (Date o pereche (S, T) IR
nn
IR
nn
n forma Schur reala
generalizata, ntregul l care reprezintand pozit ia diagonala a elementului
11
al primului bloc diagonal si ordinele i s j ale celor doua blocuri diago-
nale adiacente precum s tolerant a tol pentru neglijarea elementelor sub-
diagonale, algoritmul suprascrie perechea (S, T) cu perechea (S
, T
) =
= (
Q
T
S
Z,
Q
T
T
Z), realizand permutarea perechii de blocuri diagonale
(S
kk
, T
kk
) cu perechea de blocuri diagonale (S
k+1,k+1
, T
k+1,k+1
). De
asemenea, se actualizeaza matricele de transformare Q si Z.)
1. % Cazul a doua perechi de blocuri 1 1
Daca i = 1 si j = 1 atunci
1. [ S, T, Q, Z ] = PG11r(S, T, Q, Z, l)
2. Return
2. % Cazul perechilor de blocuri 1 1, 2 2
Daca i = 1 si j = 2 atunci
1. q = l + 2
2. =
s
ql,l
t
l,l
3. w = [ 1 1 1 ]
T
4. [ S(l : q, l : q), T(l : q, l : q),
Q,
Z ] =
= IT QZ2(S(l : q, l : q), T(l : q, l : q), I
3
, I
3
, w,
da
)
5. C^at timp [s
l+2,l+1
[ tol([s
l+1,l+1
[ +[s
l+2,l+2
[)
1. w
exact
= [
s
l,l
t
l,l
s
l+1,l
t
l,l
0 ]
T
2. [ S(l : q, l : q), T(l : q, l : q),
Q,
Z ] =
= IT QZ2(S(l : q, l : q), T(l : q, l : q),
Q,
Z, w
exact
,
da
)
6. S(l +2, l +1) = 0 % anularea efectiva a elementului neglijabil
7. Daca l > 1 atunci
1. S(1 : l 1, l : q) = S(1 : l 1, l : q)
Z
2. T(1 : l 1, l : q) = T(1 : l 1, l : q)
Z
8. Daca l < n 2 atunci
1. S(l : q, q + 1 : n) =
Q
T
S(l : q, q + 1 : n)
2. T(l : q, q + 1 : n) =
Q
T
T(l : q, q + 1 : n)
9. Q( : , l : q) = Q( : , l : q)
Q
10. Z( : , l : q) = Z( : , l : q)
Z
494 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZAT I
11. Return
3. % Cazul primei perechi de blocuri 2 2
Daca i = 2 si j < 3 atunci
1. q = l +i +j 1
2. =
s
l+1,l+1
t
l,l
+s
l,l
t
l+1,l+1
s
l+1,l
t
l,l+1
t
l,l
t
l+1,l+1
3. =
s
l,l
s
l+1,l+1
s
l+1,l
s
l,l+1
t
l,l
t
l+1,l+1
4. w = [ 1 1 1 ]
T
5. [ S(l : q, l : q), T(l : q, l : q),
Q,
Z ] =
= IT QZ2(S(l : q, l : q), T(l : q, l : q), I
ql+1
, I
ql+1
, w,
da
)
6. r = l +j
7. C^at timp [s
r,r1
[ tol([s
r1,r1
[ +[s
r,r
[)
1. =
s
ll
t
ll
, =
s
l+1,l+1
t
l+1,l+1
, =
s
l+1,l
t
ll
,
=
t
l+1,l+1
, = t
l,l+1
.
2. w
exact
=
_
_
+s
l,l+1
+
( +)
s
l+2,l+1
_
_
3. [ S(l : q, l : q), T(l : q, l : q),
Q,
Z ] =
= IT QZ2(S(l : q, l : q), T(l : q, l : q),
Q,
Z, w
exact
,
da
)
8. S(r, r 1) = 0 % anularea efectiva a elementului neglijabil
9. Daca l > 1 atunci
1. S(1 : l 1, l : q) = S(1 : l 1, l : q)
Z
2. T(1 : l 1, l : q) = T(1 : l 1, l : q)
Z
10. Daca q < n atunci
1. S(l : q, q + 1 : n) =
Q
T
S(l : q, q + 1 : n)
2. T(l : q, q + 1 : n) =
Q
T
T(l : q, q + 1 : n)
11. Q( : , l : q) = Q( : , l : q)
Q
12. Z( : , l : q) = Z( : , l : q)
Z
Comentarii. Sintaxa de apel a acestui algoritm va
[ S, T, Q, Z ] = PGr(S, T, Q, Z, l, i, j, tol).
Complexitatea unei permutari a doua perechi de blocuri adiacente este O(n), ind
practic independenta de pozit ia lor, dar dependenta de dimensiunile blocurilor di-
agonale ale matricii S. 3
Cu aceasta procedura de permutare a doua perechi adiacente algoritmul de or-
donare a formei Schur reale generalizate este, n esent a, identic cu cel de ordonare
a formei Schur complexe generalizate si este prezentat n continuare. Facem si aici,
pentru o nt elegere mai comoda a algoritmului, urmatoarele precizari:
6.4. CALCULUL SUBSPAT IILOR DE DEFLAT IE 495
structura (i.e. ordinul) blocurilor diagonale ale matricei S a FSRG va me-
morata n vectorul strbl;
pentru localizarea blocurilor diagonale ale matricei S a FSRG vom utiliza
vectorul lcbl care va cont ine pozit iile elementelor (1, 1) ale acestora;
pentru a simplica la maxim monitorizarea elementelor nule de pe subdiag-
onala matricei S, nu vom apela formal la algoritmul QZ2 ci vom adopta ideile
acestuia la situat a structurala concreta.
Se obt ine urmatorul algoritm.
Algoritmul 6.13 (FSRG ORD Ordonarea formei Schur reale
generalizate) (Date o pereche (S, T) IR
nn
IR
nn
n forma Schur ge-
neralizata (6.83), cu T nesingulara, matricele ortogonale Q, Z IR
nn
,
permutarea = i
1
, i
2
, . . . , i
p
si tolerant a tol pentru neglijarea ele-
mentelor subdiagonale, algoritmul suprascrie perechea (S,T) cu perechea
ortogonal echivalenta (S
, T
) = (
Q
T
S
Z,
Q
T
T
Z) avand (S
i
k
i
k
, T
i
k
i
k
) =
(S
kk
, T
kk
) si actualizeaza matricele ortogonale de transformare Q si Z.)
1. % Determinarea numarului, a structurii si localizarii blocurilor di-
agonale ale matricei S.
1. p = 0, j = 1
2. C^at timp j < n
1. p p + 1
2. Daca s
j+1,j
= 0 atunci
1. strbl(p) = 1
2. j j + 1
3. Daca j = n atunci
1. p p + 1
2. strbl(p) = 1
altfel
1. strbl(p) = 2
2. j j + 2
2. Pentru k = 1 : (p 1)
1. mut a =nu
2. l = k
3. Pentru j = (k + 1) : p
1. Daca i
j
< i
l
atunci
1. l = j
2. mut a =da
4. Daca mut a =da atunci
1. Pentru j = (l 1) : 1 : k
1. lcbl(1) = 1
2. Pentru i = 2 : p
1. lcbl(i) = lcbl(i 1) +strbl(i 1)
496 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZAT I
3. [S, T, Q, Z] =
= PGr(S, T, Q, Z, lcbl(j), strbl(j), strbl(j + 1), tol)
4. i
j
i
j+1
5. strbl(j) strbl(j + 1)
Comentarii. Sintaxa de apel a algoritmului de mai sus este
[ S, T, Q, Z ] = FSRG ORD(S, T, Q, Z, , tol).
La fel ca n cazul complex, volumul de calcul necesar pentru ordonare este dictata
esent ial de natura permutarii. Cazul cel mai defavorabil apare cand permutarea
este o inversiune si toate blocurile sunt 2 2 si are o complexitate de O(n
3
).
Si aici, daca se urmareste exclusiv construct ia unei baze unitare pentru un
subspat iu de deat ie asociat unui set simetric de valori proprii generalizate denite
de k blocuri diagonale (k < p), este sucienta o ordonare part iala. Se recomanda,
de asemenea, renunt area la actualizarea matricei Q.
1 +
2
_
1 +
2
, , IR.
18
Distant ei cordale i se pot da urm atoarele interpret ari.
1. Fie = arctg si
)|.
Prin urmare, printre altele, 0 chord(, ) < 1.
2.
In cazul complex, daca ,
T =
A
B cu |
A A|
2
|
B B|
2
, atunci
chord(,
)
(y
H
Ax)
2
+ (y
H
Bx)
2
+O(
2
),
unde x, y I C
n
sunt vectori proprii generalizat i unitari la dreapta, respectiv la stanga
ai fascicolului T, i.e. satisfac Ax = Bx, y
H
A = y
H
B si |x| = |y| = 1. Prin
urmare, condit ionarea unei valori proprii generalizate individuale poate apreciata
cu numarul
=
1
(y
H
Ax)
2
+ (y
H
Bx)
2
.
Din expresia de mai sus rezulta ca se pot considera rau condit ionate numeric numai
acele valori proprii generalizate pentru care expresia de la numitor (simetrica n
raport cu A si B) este mica. Situat ii de acest fel apar, de exemplu, cand fascicolul
T este apropiat de un fascicol singular, i.e. n forma Schur generalizata exista
(cel put in) o pereche (s
ii
, t
ii
) cu ambele valori foarte mici.
In mod natural, ntr-un
astfel de caz celelalte perechi (s
ii
, t
ii
) pot varia n limite foarte largi. (Amintim
ca daca fascicolul este singular, i.e. exista (s
ii
, t
ii
) = (0, 0), atunci orice numar
complex este valoare proprie generalizata a fascicolului init ial ceea ce nseamna ca
celelalte perechi diagonale ale formei Schur generalizate pot lua orice valori.)
S,
T), cu algo-
ritmul QZ, a unei perechi de matrice (A, B) este forma Schur generalizata exacta
a perechii (A, B) usor perturbate, i.e. satisface relat ia
(
S,
T) = (
Q
H
(A +E)
Z,
Q
H
(B +F)
Z),
unde E si F sunt matrice de perturbat ie ce satisfac inegalitat ile
|E| p(n)|A|
M
, |F| p(n)|B|
M
,
iar
Q si
Z sunt doua matrice riguros unitare.
In relat iile de mai sus, p(n) este
apreciat drept o funct ie cu o crestere modesta de dimensiunea n a problemei,
termen folosit curent pentru funct ii polinomiale de gradul 1, cel mult 2.
I C
nn
cu matricele A si B unitare (n cazul real, ortogonale)?
P 6.4 Fie perechea (A, B) I C
nn
I C
nn
cu B nesingulara. Sa se arate ca (A, B)
daca si numai daca (B, B(AB)
1
B) pentru (A, B).
P 6.5 Scriet i un algoritm de reducere a unei perechi reale (A, B) IR
nn
IR
nn
la
forma Hessenberg generalizata prin transformari ortogonale de echivalent a.
P 6.6 Elaborat i un algoritm care sa calculeze iterativ un vector propriu generalizat al
perechii (A, B) I C
nn
I C
nn
cu B nesingulara adaptand metoda puterii pentru matricea
F = B
1
A sau matricea G = AB
1
fara a calcula explicit matricele F sau G. Aceeasi
cerint a pentru adaptarea metodei puterii inverse.
P 6.7 Fie dat un vector propriu generalizat x I C
n
al unui fascicol regulat denit de
perechea (A, B) I C
nn
I C
nn
. Sa se arate ca Bx = 0 si ca funct ia f : I C IR,
f() =
1
2
Ax Bx
2
2
si atinge valoare minima n valoarea proprie (A, B) asociata
lui x data de expresia =
x
H
B
H
Ax
x
H
B
H
Bx
(A, B).
P 6.8 Fie (H, T) I C
nn
I C
nn
n forma Hessenberg generalizata cu T nesingulara.
Aratat i ca matricea superior Hessenberg G = HT
1
este ireductibila daca si numai daca
matricea H este ireductibila.
P 6.9 Se da un fascicol real de ordinul 2 denit de perechea (H, T) IR
22
IR
22
n forma
Hessenberg ireductibila cu valori proprii generalizate reale. Sa se scrie un algoritm de calcul
al matricelor ortogonale Q, Z IR
22
astfel ncat perechea (
H,
T) = (Q
T
HZ, Q
T
TZ) sa
e n forma Schur.
P 6.10 Fie perechea (A, B) IR
nn
IR
nn
cu A, B simetrice si, n plus, B pozitiv
denita. Sa se arate ca toate valorile proprii generalizate ale perechii (A, B) sunt reale.
Este adevarata aceasta asert iune si daca B nu este pozitiv denita?
Elaborat i un algoritm de calcul al valorilor proprii generalizate ale fascicolului (A, B)
care sa exploateze simetria celor doua matrice.
P 6.11 Se da o pereche (S, T) IR
nn
IR
nn
n forma Schur reala generalizata. Se cer
algoritmii de calcul pentru
500 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZAT I
a) un vector propriu generalizat asociat valorii proprii generalizate reale distincte
k
=
= s
kk
/t
kk
;
b) o pereche de vectori proprii generalizat i complex conjugat i asociat i unei perechi de
valori proprii generalizate complex conjugate date de o pereche diagonala 2 2 situata pe
liniile si coloanele (k, k + 1).
P 6.12 Se considera data o pereche (S, T) I C
nn
I C
nn
n forma Schur genera-
lizata avand n pozit iile diagonale consecutive k, k + 1 o valoare proprie generalizata
dubla
k
= s
kk
/t
kk
=
k+1
= s
k+1,k+1
/t
k+1,k+1
.
In ce condit ii exista doi vectori proprii
generalizat i liniar independent i asociat i acestei valori proprii duble? Considerand aceste
condit ii ndeplinite, scriet i un algoritm de calcul pentru calculul a doi astfel de vectori
proprii.
Indicat ii, raspunsuri, solut ii
Cap. 0. Concepte fundamentale ale calculului numeric
P0.1 Rezultatul depinde de ordinea de calcul; avem y1 = (x1 + x2) + x3 = 0 si
y2 = x1 +(x2 +x3) = 0.001. Rezultatul exact este y2 (eroare relativa egala cu 0). Pentru
y1, eroarea relativa este |0 0.001|/0.001 = 1 (adica 100%).
P0.2 Rezultatul calculat este y = fl(fl(x1 +x2) +x3) = fl((x1 +x2)(1 +1) +x3) =
= [(x1 +x2)(1+1) +x3](1+2), cu |1|, |2|
t
, si de ordinul unitat ii. Rezulta ca:
|y y|
|y|
_
1 +
|x1 +x2|
|x1 +x2 +x3|
_
t
.
P0.3 Presupunem ca datele de intrare sunt afectate de erori, si deci (a + a, b + b)
este utilizat n loc de (a, b). Rezultatul va x + x. Din (x + x)(a + a) = (b + b),
neglijand ax, rezulta ca x/x = a/ab/b. Deci, problema este ntotdeauna bine
condit ionata (erori relative mici ale intrarii implica erori relative mici ale iesirii).
Deoarece x = fl(b/a) = (b/a)(1 + ) = b(1 + )/a =
b/a, cu ||
t
,
algoritmul este numeric stabil. (
ASPUNSURI, SOLUT II
Cap. 1. Algoritmi elementari de calcul numeric
P1.4 Pentru norma 1, un exemplu este x = e1, y = e2. Pentru norma , putem lua
x = e1 + e2 si y = e2.
In norma 2, egalitatea este imposibila pentru vectori necoliniari
(suma lungimii a doua laturi ale unui triunghi este mai mare decat lungimea celei de-a
treia); la fel n normele p = 1, .
P1.5 Pentru n = 2, x =
_
x1
x2
_
, y =
_
y1
y2
_
, = x1y1 +x2y2. fl(xiyi) = xiyi(1+i),
cu |i| M. Atunci = [x1y1(1 + 1) + x2y2(1 + 2)](1 + ) si eroarea absoluta este
| | = |x1y11 +x2y22 +O(M)| 2M|y|
T
|x| +O(M).
P1.6 Deoarece dorim a
T
j
a
k+1
= 0, j 1 : k, iar vectorii a1, . . . , a
k
sunt ortogonali,
atunci 0 = a
T
j
a
k+1
=
k
i=1
ik
a
T
j
ai +a
T
j
b
k+1
=
jk
a
T
j
aj +a
T
j
b
k+1
si deci scalarii
jk
sunt
unic determinat i prin
jk
= (a
T
j
b
k+1
)/(aj
2
2
).
P1.7 Coloanele (sau liniile) nenule ale matricei A sunt vectori coliniari.
P1.8 Se calculeaza (AB)C sau A(BC) dupa cum n1n2n3 +n1n3n4 mai mic, respectiv
mai mare decat n2n3n4 +n1n2n4.
P1.9 A2 Aej2 = (
m
l=1
a
2
lj
)
1/2
|aij| pentru orice i, j. Pentru a doua parte,
din (1.29) avem A2 AF si evident AF max
mn|aij|.
P1.10 Din denit ia normei 2 avem
A2 = max
x=1
Ax2 = max
x=1
_
m
i=1
(
n
j=1
aijxj)
2
_
1/2
. (7.1)
Din inegalitatea Cauchy-Buniakowski-Schwarz, t inand seama ca x2 = 1, avem
(
n
j=1
aijxj)
2
n
j=1
a
2
ij
.
Inlocuind n (7.1), este imediata inegalitatea A2 AF .
Luand acum vectorul x cu componentele egale, xi = 1/
n)AF .
Luand n (7.1) x = ej, se obt ine A2 (1/
m)A1.
Pentru un vector x oarecare sunt ndeplinite relat iile x2 x1 si x2 (1/
n)x1.
Atunci
A2 = sup
Ax2
x2
sup
Ax1
(1/
n)x1
=
nA1.
O matrice A cu toate elementele egale cu 1 are AF = A2 =
mn. O matrice
B cu b1j = 1 si restul elementelor nule are B2 =
n, B1 = 1 si B = n, deci
B2 =
nB1 = (1/
n)B.
P1.11 Daca B IR
pr
, fara a afecta generalitatea putem considera B = A(1 : p, 1 : r).
Fie C = A(1 : m, 1 : r). Este evident ca daca Z este mult imea vectorilor din IR
n
de norma
unitate avand ultimele n r componente nule, atunci
A = max
x=1
Ax max
zZ
Az = C.
Pentru x IR
r
, notand y = Cx IR
m
si y
,
deci C B.
P1.12 Produsul scalar a doi vectori y, z de norma data este maxim cand vectorii sunt
coliniari (vezi din nou inegalitatea Cauchy-Buniakowski-Schwarz) si atunci |y
T
z| = yz.
Cu z = Ax si denit ia normei 2 rezulta prima inegalitate, din care se deduc imediat
celelalte.
P1.13 A este inversabila, deci ImA = IR
n
. A
1
= sup
x =0
A
1
x
x
= sup
y=0
A
1
Ay
Ay
.
Deci, 1/A
1
= inf
y=0
Ay
y
= min
x=1
Ax.
INDICAT II, R
n
k=1
a
ik
b
kj
. a
ik
si b
kj
pot simultan nenule
daca mult imile i p : i + p si j q : j + q au cel put in un element comun, adica daca
i +p > j q sau i p < j +q, ceea ce e echivalent cu |i j| < p +q, deci C este matrice
banda de lat ime p +q.
P1.16 Indicat ie: rezultatul este o matrice nestructurata.
P1.17 Ordinea de calcul va : Pentru i = n : 1 : 1, Pentru j = 1 : i. Sau: Pentru
j = 1 : n, Pentru i = n : 1 : j.
P1.18 Pentru matrice ortogonale, n general, nu.
P1.19 Se adapteaza algoritmul 1.20 la cazul matricelor superior triunghiulare, iar n
instruct iunea 1.4, n loc de UTRIS se apeleaza algoritmul de rezolvare de sisteme liniare.
P1.20 O simpla substitut ie este sucienta. Pentru deducerea expresiei lui N(n) se
presupune N(n) = n
log 7
+ n
2
; coecient ii si se calculeaza prin identicare cu
(1.38). Mai multe despre rezolvarea recurent elor n [2].
P1.21 A ind ortogonal diagonalizabila, exista U ortogonala astfel ncat U
T
U = A.
Elementele diagonale ale lui sunt pozitiv denite (vezi si problema 1.30); e D matricea
diagonala cu dii =
i si Q = U
T
DU, matrice simetrica (si pozitiv denita); din motive
evidente, se noteaza Q =
A.
Demonstrat ia inegalitat ii x+yA xAyA se reduce la |x
T
Ay| xAyA, care
este inegalitatea Cauchy-Buniakowski-Schwarz, pentru vectorii Qx si Qy.
P1.22 Daca A e singulara, atunci exista x = 0 astfel ncat Ax = 0 si deci x
T
Ax = 0,
deci A nu e pozitiv denita; deci A e inversabila.
In plus, ImA = IR
n
, deci orice y IR
n
,
exista x IR
n
astfel ncat y = Ax; atunci x
T
Ax = y
T
A
1
y > 0, deci A
1
> 0.
P1.23 b. Fie A = [a1 a2 . . . an] ortogonala si superior triunghiulara. Atunci, pentru
prima coloana avem a1 = e1 si 0 = a
T
1
aj = a1j, pentru j > 1, etc. (Altfel: A
T
este
inferior triunghiulara, iar A
1
este superior triunghiulara; cum ele sunt egale, A
T
este
diagonala, deci si A.)
c. Fie A superior triunghiulara. Atunci, din AA
T
= A
T
A, pentru elementul (1, 1)
obt inem
n
j=1
a
2
1j
= a
2
11
, deci toate elementele extradiagonale din prima linie sunt nule
etc.
P1.24 b. Adaptam algoritmul LTRIS, de exemplu versiunea pe linii. Singura modi-
care e n instruct iunea 2.1.
1. x b
2. Pentru i = 1 : n
1. Pentru j = max(1, i p) : i 1
1. xi xi lijxj
2. xi xi/lii
P1.25 Pentru L inferior bidiagonala, inversa X este inferior triunghiulara.
1. Pentru j = 1 : n
1. xjj 1/ljj
2. Pentru i = j + 1 : n
1. xij li,i1xi1,j/lii
P1.26 Varianta cu DOT este imediata din algoritmul 1.16 LINV.
Pentru varianta cu Saxpy, e necesara o noua forma a algoritmului, n care, o data
calculata o necunoscuta x
k
, se actualizeaza toate sumele (1.44) pentru i > k.
1. Pentru k = 1 : n
1. x
k
b
k
/l
kk
504 INDICAT II, R
ASPUNSURI, SOLUT II
2. Daca k < n atunci
1. Pentru i = k + 1 : n
1. bi bi l
ik
x
k
Bucla Pentru i se poate nlocui cu operat ia
b(k + 1 : n) Saxpy(x
k
, L(k + 1 : n, k), b(k + 1, n)).
P1.27 Notam cu L(k) elementul aat la adresa k n vectorul L n care se memoreaza
compact matricea triunghiulara. (Consideram L(1) primul element.)
1. x b
2. k 1
3. Pentru i = 1 : n
1. Pentru j = 1 : i 1
1. xi xi L(k)xj
2. k k + 1
2. xi xi/L(k)
3. k k + 1
P1.28 b. Presupunand v = u, = 0, e I C valoarea proprie pentru care
A(u + iv) = (u + iv). Evident, Au = u, deci IR, deci = 0. Asadar v nu este
coliniar cu u.
Notand = + i, cu , IR, egalitatea evidenta
A[u v] = [u v]
_
_
arata ca Au si Av sunt combinat ii liniare de u si v.
P1.29 Din det(I A) = 0 si relat iile lui Vi`ete.
P1.30 Din Ax = x rezulta x
T
Ax = x
2
, deci > 0.
Cap. 2. Rezolvarea sistemelor de ecuat ii liniare
P2.1 Se folosesc matrice inferior triunghiulare elementare modicate, tot de forma
M
k
= I m
k
e
T
k
, dar cu m
k
= [
1k
. . .
k1,k
0 . . . 0]
T
.
P2.2 Pentru GPP, se folosesc funct iile xSWAP pentru interschimbarea a doua linii
(bucla 1.3), xSCAL pentru calculul multiplicatorilor (bucla 1.4) si xAXPY pentru actualizarile
din bucla 1.5.1.
P2.3 Este evident ca, la primul pas al eliminarii gaussiene, pivotul este a11 si
|i1| = |ai1|/|a11| < 1. Notand B = M1A matricea transformata dupa primul pas al
eliminarii, sa demonstram ca submatricea B(2 : n, 2 : n) este diagonal dominanta pe
coloane (apoi, prin induct ie, problema este rezolvata). T inand seama ca bij = aij i1a1j
(pentru i, j 2), avem
i=2,i =j
|bij|
i=2,i =j
|aij|+|i1||a1j| < |ajj||a1j|+
|a11||aj1|
|a11|
|a1j| < |ajj||j1||a1j | < |bjj|.
P2.4 a. Evident,
ik
= xi/x
k
, pentru i = k.
b. Algoritmul este similar cu cel de eliminare gaussiana, numai ca operat iile se
desfasoara permanent pe toate liniile.
INDICAT II, R
. (7.2)
L, L
, U, U
)
1
,
U
1
, (U
)
1
au aceeasi structura. A este nesingulara, deci astfel sunt si D si D
, iar
matricele D
1
si (D
)
1
sunt diagonale. Atunci, din (7.2) rezulta
(L
)
1
L = D
U
1
D
1
,
n care termenul din stanga este o matrice inferior triunghiulara unitate, iar cel din dreapta
o matrice superior triunghiulara. Atunci (L
)
1
L = In, adica L = L
. Rezulta acum ca
U
U
1
= (D
)
1
D.
Termenul stang este o matrice superior triunghiulara unitate, iar cel drept o matrice di-
agonala. Aceasta este posibil doar daca ambii termeni sunt egali cu matricea unitate In.
In concluzie U = U
, D = D
.
P2.6 Presupunem ca exista k < n, cel mai mic astfel ncat A
[k]
este singulara. Deoarece
A
[k]
= L
[k]
D
[k]
U
[k]
, iar L
[k]
si U
[k]
sunt nesingulare ca submatrice lider principale ale unor
matrice triunghiulare unitate, rezulta ca D
[k]
este singulara si anume ca d
kk
= 0 (deoarece
D
[k1]
este nesingulara).
In acest caz, coloana k a matricei LD este nula, deci elementele
l
ik
, i > k, pot arbitrare. Analog, linia k a matricei DU este nula, deci elementele u
kj
,
j > k, pot arbitrare. Cum k < n, rezulta ca factorizarea LDU nu este unica, ceea ce
contrazice ipoteza.
P2.7
In GPP multiplicatorii sunt subunitari. Permutarile de linii lasa multiplicatorii
n triunghiul inferior.
P2.8 GPC se modica la fel ca GPP. |u
kk
| |u
kj
|, j > k, deoarece, la pasul k, pivotul
este mai mare (n modul) decat elementele aate la dreapta sa, iar eliminarea gaussiana
propriu-zisa nu modica linia k.
P2.9 Se modica doar valoarea maxima a indicilor de coloana.
1. Pentru k = 1 : r
1. Se determina i
k
k : n a.. |a
i
k
k
| = max
i=k:n
|a
ik
|.
2. p(k) i
k
3. A(i
k
, 1 : r) A(k, 1 : r)
4. Pentru i = k + 1 : n
1. a
ik
a
ik
/a
kk
5. Pentru i = k + 1 : n
1. Pentru j = k + 1 : r
1. aij aij a
ik
a
kj
506 INDICAT II, R
ASPUNSURI, SOLUT II
P2.10
In algoritmul CROUTbl se executa o factorizare Crout cu pivotare a blocului
curent A(s : n, s : f), la nivel de element. Algoritmul va avea structura urmatoare:
1. Pentru k = 1 : m
1. s (k 1)r + 1
2. f kr
3. A(s : n, s : f) A(s : n, s : f) L(s : n, 1 : s1)U(1 : s1, s : f)
4. Se calculeaza factorizarea LU Crout cu pivotare
P A(s : n, s : f) = L(s : n, s : f) U(s : f, s : f)
5. Se aplica permutarea P blocului A(s : n, f + 1 : n)
6. Se rezolva sistemul superior triunghiular Z U(s : f, s : f) = A(f +1 : n, s : f)
7. A(s : f, f +1 : n) A(s : f, f +1 : n) L(s : f, 1 : s1) U(1 : s1, f +1 : n)
8. Se rezolva sistemul inferior triunghiular L(s : f, s : f) Z = A(s : f, f +1 : n)
9. U(s : f, f + 1 : n) Z (o bloc linie din U)
P2.11 De exemplu, n algoritmul 2.7, se ia m = n/r, iar f = min(kr, n).
P2.12 Transformarile se aplica simultann Asi b, pe linii. Iata algoritmul fara pivotare:
1. Pentru k = 1 : n 1
1. Pentru i = k + 1 : n
1. = a
ik
/a
kk
2. Pentru j = k + 1 : n
1. aij aij a
kj
3. bi bi b
k
2. x = UTRIS(A, b)
P2.13 a. Este evident ca multiplicatorii ij vor nuli pentru i > j + 1. Eliminarea
gaussiana va avea forma:
1. Pentru k = 1 : n 1
1. h
k+1,k
h
k+1,k
/h
kk
2. Pentru j = k + 1 : n
1. h
k+1,j
h
k+1,j
h
k+1,k
h
kj
Vectorul b va modicat n concordant a cu aceste valori particulare ale multiplicato-
rilor:
1. Pentru k = 1 : n 1
1. b
k+1
b
k+1
h
k+1,k
b
k
Apoi trebuie rezolvat un sistem superior triunghiular.
b. Indicat ie: pivotarea part iala nu afecteaza structura superior Hessenberg. c. Se
observa ca L este inferior bidiagonala.
P2.14 a. Se rezolva Hy = b ca n problema anterioara, apoi Rx = y.
P2.15 a. Daca b = c + id, unde c, d R
n
, sistemul poate scris A[y z] = [c d], cu
y, z R
n
si x = y +iz. Acesta constituie un caz particular al punctului b, pentru m = 2.
b. ecuat ia matriceala AX = B consta n m sisteme liniare: Axj = bj, pentru j = 1 : m
(xj si bj sunt coloanele j ale matricelor X, respectiv B). Utilizarea algoritmului:
1. Pentru j = 1 : m
1. Se rezolva Axj = bj utilizand S GPP
nu este o idee buna deoarece numarul de operat ii este 2mn
3
/3. Este mai ecient a utiliza
GPP o singura data, pentru a triangulariza A, precum mai jos:
INDICAT II, R
ASPUNSURI, SOLUT II
Daca u1 = 0 sau, n general, pentru o mai buna stabilitate numerica, se aplica ntai
permutarea u Pu care aduce pe prima pozit ie elementul de modul maxim din u. Deci,
n loc de M se utilizeaza transformarea stabilizata MP.
b. Sistemul Ax = b se transforma n B(Mx) = Mb. Se rezolva By = Mb, apoi
x = M
1
y. Daca se t ine seama de forma speciala a lui B, care are doar prima linie si
diagonala nenule, numarul de operat ii este O(n).
P2.24 Multiplicatorii au tot i valoarea 1 (elementele diagonale nu se modica, cu
except ia celui din dreapta jos) iar n ultima coloana avem a
(k)
in
= 2a
(k1)
in
, pentru i k.
Se obt ine evident a
(n)
nn
= 2
n1
.
P2.25 Avem
cond(A)
|A
1
| |A| |x|
|A| |x|
|A| |x|
|x|
A
1
A.
Am folosit denit ia normei si egalitatea evidenta |A| = A.
P2.26 Elementele diagonale ale matricei D1 sunt di = 1/ maxj=1:n |aij|. Astfel,
liniile matricei B = D1A au norma innit egala cu 1, iar coloanele norma innit in-
ferioara lui 1 (evident, |bij| 1). Elementele diagonale ale matricei D2 se iau acum
dj = 1/ maxi=1:n |bij|. Notand C = BD2, avem cij 1 (ca si pentru B), liniile lui C
pastreaza norma innit unitate, iar coloanele au aceeasi proprietate.
Alegand di si
dj cele mai mici puteri ale lui superioare valorilor 1/ maxj=1:n |aij|,
respectiv 1/ maxi=1:n |bij|, obt inem evident normele innit ale liniilor si coloanelor lui C
n intervalul [1/, 1].
P2.27 a. Sa presupunem ca:
L =
_
L 0
X L
_
,
U =
_
U Y
0 U
_
.
Atunci
B =
L
U =
_
A LY
XU XY +A
_
.
Deci LY = 0 si, deoarece A nesingulara implica L, U nesingulare, Y = 0; XU = R, deci
X = RU
1
, si X este superior triunghiulara.
b.
_
A 0
R A
__
x1
x2
_
=
_
d1
d2
_
_
Ax1 = d1
Rx1 +Ax2 = d2
Se rezolva ntai Ly = d1, Ux1 = y si se obt ine x1 (n 2n
2
opi). Se calculeaza apoi
f = d2 Rx1 (n
2
ops); se rezolva Ly = f, Ux2 = y si se obt ine x2 (n 2n
2
opi). Totalul
este de doar 5n
2
opi. Schema de calcul prezentata poate aplicata pentru rezolvarea
oric arui sistem bloc inferior triunghiular.
P2.28 a. Se utilizeaza eliminarea gaussiana; aij = 0, pentru i > j +n; multiplicatorii
ij vor respecta aceeasi relat ie. b. Se utilizeaza eliminarea gaussiana cu pivotare part iala,
care nu va afecta structura matricei A.
P2.29 a.
1. Pentru s = 1 : n 1
1. as+1,s as+1,s/ass
2. as+1,s+1 as+1,s+1, as+1,sas,s+1
P2.30 Se aplica o eliminare gaussiana pe dreapta (adica pe linii) pentru rezolvarea
sistemului FE = C. Notam p = n s, deci F, C IR
p2
.
INDICAT II, R
|aj1| (1 +
1
) max
i,j
|aij|.
A doua relat ie se demonstreaza n acelasi stil, folosind formulele adecvate pentru aij.
P2.32 Detaliem numai cazul s = 2. Pivotul se gaseste n pozit ia (i
k
, j
k
) si trebuie
adus, la pasul curent k, n pozit ia (k +1, k). Pentru aceasta sunt necesare doua permutari
de linii si de coloane (orice permutare de linii este nsot ita de una de coloane, si reciproc,
pentru a pastra simetria).
Intai se permuta liniile si coloanele k + 1 si i
k
, cu operat iile:
A(k + 1, k + 1) A(i
k
, i
k
)
A(k + 1, 1 : k) A(i
k
, 1 : k)
A(k + 2 : i
k
1, k + 1) A(i
k
, k + 2 : i
k
1)
A(i
k
+ 1 : n, k + 1) A(i
k
+ 1 : n, i
k
).
(Sa notam ca pivotul a ajuns n pozit ia (j
k
, k +1).) Apoi se permuta liniile si coloanele k
si j
k
, cu operat iile
A(k, k) A(j
k
, j
k
)
A(k, 1 : k 1) A(j
k
, 1 : k 1)
A(k + 1 : j
k
1, k) A(j
k
, k + 1 : j
k
1)
A(j
k
+ 1 : n, k) A(j
k
+ 1 : n, j
k
).
P2.33 Algoritmul Cholesky, varianta cu Saxpy, este urmatorul (L se scrie peste tri-
unghiul inferior al lui A)
1. Pentru k = 1 : n
1. a
kk
a
kk
2. Pentru i = k + 1 : n
1. a
ik
a
ik
/a
kk
3. Pentru j = k + 1 : n
1. Pentru i = j : n
1. aij aij a
ik
a
jk
Evident, bucla 1.3.1 se poate nlocui cu un apel la Saxpy.
P2.34 Se respecta structura algoritmului la nivel de element, preluand ideile din algo-
ritmul CROUTbl.
510 INDICAT II, R
ASPUNSURI, SOLUT II
1. Pentru k = 1 : m
1. s (k 1)r + 1
2. f kr
3. A(s : f, s : f) A(s : f, s : f) L(s : f, 1 : s 1) L
T
(1 : s 1, s : f)
4. Utilizand CHOL, calculeaza factorizarea Cholesky
A(s : f, s : f) = L(s : f, s : f) L
T
(s : f, s : f)
(blocul L(s : f, s : f) se memoreaza n triunghiul inferior al lui A(s : f, s : f))
5. A(f +1 : n, s : f) A(f +1 : n, s : f) L(f +1 : n, 1 : s1) L
T
(1 : s1, s : f)
6. Rezolva sistemul superior triunghiular ZL
T
(s : f, s : f) = L(f + 1 : n, s : f)
7. L(f + 1 : n, s : f) Z
In instruct iunea 1.3 se utilizeaza SYRK, n 1.5 GEMM iar n 1.6 TRSM. Transpunerea nu se
efectueaza explicit, ci se paseaza rutinelor BLAS.
P2.35 T = AA
T
nu este deja factorizarea Cholesky deoarece elementele diagonale ale
lui A nu sunt neaparat pozitive. Fie T = LL
T
factorizarea Cholesky. Este natural sa
ncercam sa demonstram ca L este inferior bidiagonala. Pentru orice k 1 : n 1:
t
kk
= a
2
k,k1
+a
2
kk
= l
2
k,k1
+l
2
kk
t
k+1,k
= a
k+1,k
a
kk
= l
k+1,k
l
kk
.
De asemenea, este natural sa ncercam sa demonstram ca |lij| = |aij|; pentru prima relat ie
de mai sus, semnele nu conteaza; pentru a doua, daca a
kk
este negativ, luam l
kk
= a
kk
si l
k+1,k
= a
k+1,k
. Algoritmul va :
1. Pentru k = 1 : n
1. l
kk
|a
kk
|
2. Daca k < n atunci
1. Daca a
kk
< 0 atunci l
k+1,k
a
k+1,k
altfel l
k+1,k
a
k+1,k
P2.36 Algoritmul CHOL pentru matrice banda de lat ime r este
1. Pentru k = 1 : n
1. a
kk
k1
j=max(1,kr)
l
2
kj
2. Daca 0 atunci
1. Aseaza(A nu este pozitiv denita)
2. Stop
3. a
kk
l
kk
=
k1
j=max(1,ir)
lijl
kj
_
/l
kk
P2.37 Se procedeaza analog cu algoritmul CHOL. Calculele decurg n ordine inversa,
i.e. cu k = n : 1 : 1.
P2.38 Calculand pe loc n A, un algoritm direct inspirat de CHOL este
1. Pentru k = 1 : n
1. a
kk
d
k
= a
kk
k1
j=1
l
2
kj
dj
2. Pentru i = k + 1 : n
1. a
ik
l
ik
=
_
a
ik
k1
j=1
lijl
kj
dj
_
/d
k
INDICAT II, R
k1
j=1
l
2
kj
dj
3. Pentru i = k + 1 : n
1. a
ik
a
ik
k1
j=1
lijl
kj
Cap. 3. Problema celor mai mici patrate
P3.3 Scriem ca de obicei Ux = x u, unde = u
T
x/. Prin urmare trebuie sa
avem x u = y, deci putem lua u = x y, unde modulul lui e xat prin condit ia
Ux = x, iar semnul se alege n mod adecvat.
P3.4 a. Amintim ca U este o transformare involutiva, i.e. U
2
= I, prin urmare
condit ia impusa este echivalenta cu Ux = e1, unde = x = 0.
b. U este o transformare ortogonala, deci coloanele matricei U sunt vectori normat i si
ortogonali doi cate doi n IR
m
.
P3.5 a. Cu notat iile din sect iunea 2.1, considerat i transformarea elementara stabi-
lizata T = M1P1 astfel ncat (Tx)i = 0, i = 2 : m. Aratat i ca vectorii yj = T
T
ej,
j = 2 : m, satisfac condit ia ceruta. Ce se obt ine daca n locul lui T se considera un
reector ?
P3.6 Evident, funct ia
2
() = y x
2
este un polinom de gradul 2 n ,
2
() =
2
x
2
2y
T
x +y
2
,
deci problema este elementara. Interpretarea geometrica devine transparenta daca pre-
supunem ca x = 1.
P3.7 a. detU = 1.
b. Scriem Ux = x si obt inem ( 1)x = 2u(u
T
x), unde x = 0. Prin urmare
avem e (i) = 1 si u
T
x = 0, e (ii) x = u si = 1.
In primul caz obt inem m 1
vectori proprii ortogonali (vezi problemele 3.4b sau 3.5b), deci = 1 este valoare proprie
de multiplicitate (algebrica si geometrica) m1. Prin urmare = 1 este valoare proprie
simpla. Descompunerea spectrala U = V V
T
se scrie cu usurint a.
c. Utilizam relat ia U
2
= Im.
P3.8 De exemplu, n cazul =
_
0 1
1 0
_
putem lua u = [1 1]
T
, = 1/2.
P3.9 a. Daca S = R
T
R este factorizarea Cholesky a lui S, atunci relat ia U
T
SU = S
este echivalenta cu V
T
V = Im, unde V = RUR
1
.
b. Considerat i matricea U = Im 2uu
T
S, unde u
2
S
= 1, si aratat i ca U este
S-ortogonala si S-simetrica. Algoritmii de tip 3.1 si 3.2 se scriu n mod evident.
P3.10 b. Condit ia este xJ > 0, deci nu orice vector nenul din IR
m
poate adus
la forma (3.200) utilizand J-reectori. (Aceasta este o deosebire esent iala fat a de cazul
euclidian uzual.) Vectorii cu xJ < 0 pot adusi la forma Ux = ep+1, iar vectorii
izotropi (care satisfac (3.198)) raman izotropi.
In plus, transformarea este rau condit ionata
n vecinatatea conului (3.198).
c. Partit ionand matricele S si R conform cu J, putem scrie
_
S11 S12
S
T
12
S22
_
=
_
R
T
11
0
R
T
12
R
T
22
__
Ip 0
0 Iq
__
R11 R12
0 R22
_
, (7.3)
512 INDICAT II, R
ASPUNSURI, SOLUT II
de unde pe blocuri rezulta
S11 = R
T
11
R11,
S12 = R
T
11
R12,
S22 = R
T
12
R12 R
T
22
R22.
Din prima relat ie, R11 poate determinat aplicand algoritmul de factorizare Cholesky
daca si numai daca
S11 > 0. (7.4)
S22
not
= S22 S
T
12
S
1
11
S12 < 0. (7.5)
(Prin denit ie, matricea
S22 constituie complementul Schur al lui S11 n S.)
S11
not
= S11 S12S
1
22
S
T
12
> 0. (7.8)
In particular, daca au loc condit iile de punct sa (7.4) si (7.7), atunci si celelalte doua
condit ii, (7.5) si (7.8) sunt satisfacute, deci ambele factorizari (7.3) si (7.6) exista si pot
calculate aplicand algoritmul de factorizare Cholesky blocurilor S11,
S22 si respectiv
S22,
S11.
d. Aratat i ntai ca A si B trebuie sa e inversabile.
P3.12 Rotat ia P
ki
modica numai elementele de indici k si i ale lui x.
P3.14 a. Tinand seama de observat ia 3.2, putem utiliza secvent ele P = P1m . . . P13P12
sau P = P12P23 . . . Pm1,m.
b.
Intai anulam componentele 2, 4, 6, . . . , utilizand secvent a S
(1)
= P12P34P56 . . .; apoi
anulam componentele 3, 7, 11, . . . , utilizand secvent a S
(2)
= P13P57P9,11 . . .; mai departe
se aplica S
(3)
= P15P9,13 . . . etc. Transformarea cautata cont ine m 1 rotat ii, grupate
n secvent e de rotat ii disjuncte, i.e. P = S
(p)
. . . S
(2)
S
(1)
, unde p log
2
m. Observat i ca
rotat iile ce compun o secvent a pot aplicate n orice ordine (i.e. comuta), dar ca ordinea
secvent elor este predeterminata.
P3.16 a. J = diag(1, 1). Prin urmare Px
2
J
= x
2
J
= x
2
1
x
2
2
.
b. Ambele probleme sunt rau condit ionate n vecinatatea conului x1 = x2.
P3.17 Pentru orice transformare unitara U avem Ux = x =
7.
a. Exista doua posibilitat i. Daca Q = Q
H
este un reector hermitic atunci obt inem
_
_
=
x1
|x1|
x =
1 + i
7,
u1 = 1 +
_
2
7
, u2 =
2 + i
1 + i
_
2
7
, = u1.
INDICAT II, R
7,
u1 = 1, u2 =
2 + i
1 +
7 + i
, =
1 +
7 + i
7
.
P3.19 Fie Q IR
nn
, ortogonala. Triangularizand ortogonal matricea Q, obt inem
Un1 . . . U2U1Q = R, unde R este superior triunghiulara si ortogonala, ca produs de
matrice ortogonale. Asadar R este diagonala; mai mult, normele coloanelor matricei Q se
conserva prin nmult irea cu reectorii elementari, deci (alegand potrivit semnul) rii = 1,
adica R = I. Rezulta Q = U1U2 . . . Un1.
P3.20 a. Se utilizeaza secvent a de rotat ii Q
T
= Pn,n+1 . . . P2nP1n.
b. u
k
= [0 . . . 0 u
kk
u
k+1,k
0 . . . 0 u
n+1,k
. . . u
mk
]
T
(pentru A superior Hessenberg).
c. u
k
= [0 . . . 0 u
kk
0 . . . 0 u
n+1,k
. . . u
n+k,k
0 . . . 0]
T
.
P3.21 Pentru a nu altera structura de zerouri, se anuleaza elementele a
ik
, i = n+1 : m,
din blocul C, ncepand cu ultima coloana. Matricea R+ rezulta inferior triunghiulara.
P3.22
In cazul m > n, rotat iile necesare pentru anularea elementelor subdiagonale
pot grupate n cel mult m + n 2 secvent e de rotat ii disjuncte; de exemplu, n cazul
m = 6, n = 5 avem m+n 2 = 9, iar gruparea se face astfel
_
_
1
2 3
3 4 5
4 5 6 7
5 6 7 8 9
_
_
.
(Elementele marcate cu aceeasi cifra sunt anulate de rotat ii disjuncte aprt inand aceleaisi
secvent e.)
P3.23 a. Q
T
= P12P23 . . . Pn1,n.
b. Rotat iile pot memorate printr-un singur numar z, vezi procedura ROTG. Totusi,
pozit iile (i, i + 2), i = 1 : n 2, nu raman nule, la fel ca n cazul eliminarii gaussiene cu
pivotare part iala.
P3.24 Daca b = e1, atunci problema e banala, R+ = R+e1c
T
. De aici provine ideea
de a anula ultimele n 1 componente ale lui b fara a altera prea mult structura lui R. Se
vede usor ca secvent a de rotat ii (numai n aceasta ordine !) P = P12P23 . . . Pn1,n poate re-
aliza acest obiectiv. Matricea PR este evident superior Hessenberg, deci
H
not
= P(R + bc
T
) = PR + e1c
T
are aceeasi structura. Mai departe se procedeaza ca
n problema 3.23, i.e. R+ = Q
T
H.
P3.25 Cel mai simplu, partit ionam B, C pe coloane si scriem BC
T
=
p
j=1
bjc
T
j
.
Problema se reduce astfel la cea anterioara.
P3.26 Scriem
P+ = [A
T
R
T
C
T
]
_
RA
C
_
not
= A
T
+
A+,
deci Q
T
A+ = R+.
P3.27 A+ rezulta superior Hessenberg, vezi problema 3.23.
P3.28
ASPUNSURI, SOLUT II
b. S+ =
_
S si
0 i
_
, unde si = W
T
ui, i = 1/i. Forma din text este preferabila,
deoarece aplicarea transformarii necesita numai nmult iri de matrice.
P3.38 Se partit ioneaza B n blocuri si se utilizeaza informat ia din triunghiul strict
inferior al lui A pentru a se forma bloc-reectorii necesari.
P3.40 A = Q
.
P3.41 G = R
T
R
, deci = y
T
y, cu y = (R
)
T
c.
P3.44 Procesul de ortogonalizare ncepe cu ultima coloana an = qnlnn.
P3.46 a. Notand c = R
T
d, putem scrie
G+
not
= G+C
T
C = [R
T
C
T
]
_
R
C
_
= A
T
+
A+,
d+
not
= R
T
d +C
T
y = [R
T
C
T
]
_
d
y
_
= A+b+,
deci problema se reduce la rezolvarea n sensul CMMP a sistemului A+x = b+, unde A+
este matricea din problema 3.20.
b. Se aduce A+ la forma superior triunghiulara Q
T
PA+ = R+ si se aplica trans-
form arile membrului drept.
P3.47 Se procedeaza ca n sect iunea 3.5.1.
P3.48 Matricea B = A
T
+
are structura din problema 3.20. Prin urmare, daca V B = R,
unde V = Vm . . . V2V1, atunci evident A+Z = L, unde Z = V
T
si L = R
T
. Reectorii
reali V
k
= In
k
T
k
/
k
sunt matrice simetrice.
In cazul complex, considerat n text, am
notat V
k
= Z
H
k
, unde Z
k
= I
k
H
k
si
k
= 1/
k
P3.49 a. O matrice epica A este inversabila la dreapta, i.e. exista A
d
astfel ncat
AA
d
= Im (de exemplu se poate lua A
d
= A
+
, unde A
+
= A
T
(AA
T
)
1
). Daca (si numai
daca) m = n, atunci A
d
= A
1
este unica. Daca m < n, atunci mult imea inverselor la
dreapta este A
d
= A
+
+Z
B, unde Z
= KerA
T
, deci are structura
P2 = Q
_
0 0
0 Imn
_
Q
T
, Q = [Q
],
unde Q
T
A = R. De asemenea, norma Frobenius este ortogonal invarianta.
P3.50 a. Daca A este monica si Q
T
A = R, atunci A
T
este epica si A
T
Q = R
T
. Prin
urmare, notand y = Qv, sistemul A
T
y = c devine R
T
v = c. Mai departe se procedeaza ca
n sect iunea 3.6.3.
P3.51
In primul caz, daca A este monica cu m > n, algoritmul are n etape. Pentru a
anula elementele subdiagonale, acum se utilizeaza transformarile elementare (stabilizate)
M
k
, respectiv T
k
= M
k
P
k
(vezi sect iunea 2.1). Notand
MA = R =
_
R
0
_
, M
1
= S = [S
],
putem scrie A = S
, unde R
_
, condit ia
de compatibilitate este d
= 0.
INDICAT II, R
0], N = [N
],
unde N
_
, obt inem sistemul echivalent
L
)
1
b
0
_
,
iar mult imea tuturor solut iilor este x = xB + N
, unde u
IR
nm
este un vector
arbitrar.
Pe scurt, analiza elementara a sistemelor liniare Ax = b cu m = n poate facuta
utilizand metoda eliminarii gaussiene.
P3.52 a. Fie S =
_
Q
H
0
0 (R
)
H
_
. Calculat i SHS
H
si gasit i apoi permutarea
potrivita.
b. Procedat i direct, aratand ca H
_
P2 (A
+
)
H
A
+
G
1
_
= Im+n, sau t inet i seama de
semnicat ia lui H n problema CMMP din sect iunea 3.5.
P3.54 a. (A
T
SA+T)x
= A
T
Sb. T inet i seama de problema 3.46.
b. A trebuie sa e monica. Utilizand factorizarea Cholesky S = D
T
1
D1 si notand
A D1A, b D1b, se obt ine problema CMMP din sect iunea 3.5.
P3.55 a. Notand cu IR
m
vectorul multiplicatorilor, funct ia lui Lagrange este
L(x, ) =
1
2
x
T
Gx x
T
c +
T
(Ax b).
Anuland derivatele part iale ale lui L, se obt in condit iile
Gx
c +A
T
= 0, Ax
= b. (7.9)
= Zu, u =
_
u1
u2
_
precum si
Z
T
GZ =
_
H11 H12
H
T
12
H22
_
, Z
T
c =
_
d1
d2
_
,
se obt ine
_
_
_
H11u1 +H12u2 +L
T
1
= d1
H
T
12
u1 +H22u2 = d2
L1u1 = b.
19
In terminologia specica program arii liniare, x
B
se numeste solut ie de baza.
516 INDICAT II, R
ASPUNSURI, SOLUT II
In cazul general, x
este un punct de minim unic daca si numai daca H22 > 0. (Cum
justicat i aceasta armat ie ?)
In consecint a se poate utiliza factorizarea Cholesky
H22 = R
T
2
R2.
P3.56 Se aplica algoritmul de triangularizare ortogonala Q
T
A = R. Notand
Q
T
B = D, Q
T
b = d si utilizand partit ii adecvate, sistemul de restrict ii se scrie
_
R1
0
_
x +
_
D1
D2
_
y =
_
d1
d2
_
,
unde R1 este superior triunghiulara inversabila, iar D2 este epica. Prin urmare, exista
matricea Z ortogonala astfel ncat D2Z = [0 R2], unde R2 este superior triunghiulara
inversabila. Notand
D1Z = [S1 S2], y = Z
_
v1
v2
_
,
se obt ine
_
R1
0
_
x +
_
S1 S12
0 R2
_ _
v1
v2
_
=
_
d1
d2
_
,
iar din condit ia de minim (n care v2 este xat) rezulta v1 = 0. Solut ia problemei este:
_
_
_
v1 = 0, v2 = R
1
2
d2, y
= Z
_
0
v2
_
x
= R
1
1
(d1 S12v2).
P3.57 Se utilizeaza factorizarea ortogonala CZ = [L1 0]. Se noteaza x = Zu etc.
P3.58 Urmatoarea procedura (LINPACK [XIII, pag. 8.7]) realizeaza permutarea
1. Pentru k = 1 : n
1.
k
k
2. Pentru k = 1 : n
1. j = k
1. C^at timp j < 0
1. j j
2. Daca j = k atunci
1. xj x
j
2. j j
Cap. 4. Calculul valorilor si vectorilor proprii
P4.1 Spectrele celor doua matrice sunt aceleasi (A) = (B) = {2, 2, 4}. Matricea A
este diagonalizabila dar B nu.
P4.2 Nu. Daca x IR
n
, x = 0, si = + i, , IR, = 0, atunci x IR
n
.
P4.3 Implicat ia A, B diagonalizabile C diagonalizabila este evidenta. Reciproc,
daca C este diagonalizabila, e XC I C
(m+n)(m+n)
o matrice nesingulara de vectori
proprii ai matricei C. Avem CXC = XC, cu diagonala. Considerand partit ia XC =
=
_
XA
XB
_
, (cu dimensiunile blocurilor, evidente) avem AXA = XA.
In continuare,
rangXA = m (n caz contrar, XC nu ar nesingulara) si, prin urmare, XA are m coloane
liniar independente, care sunt vectori proprii ai matricei A. Deci, A este diagonalizabila.
Similar se arata ca si matricea B este diagonalizabila.
P4.4
In cazul general, raspunsul la ntrebare este negativ.
Intr-adevar, e.g. daca
A1 = A2 = I C si A12 = 0 matricea A nu este diagonalizabila. Exista si situat ii n
INDICAT II, R
B =
B
A,
rezulta
B = diag(
B1,
B2, . . . ,
Bp). Dar, B ind diagonalizabila, rezulta ca blocurile
B
k
sunt diagonalizabile si, conform punctului a), perechea (
k
In
k
,
B
k
) este diagonalizabila.
Prin urmare, (
A,
B) este diagonalizabila, de unde si (A, B) este diagonalizabila. Pentru
reciproca, vezi punctul b). d) De exemplu, matricele A =
_
1 1
0 1
_
si B =
_
0 1
0 0
_
comuta, dar nu sunt (simultan) diagonalizabile.
P4.7 Fie x un vector propriu al matricei A, asociat valorii proprii , si p cel mai
mare ntreg pentru care vectorii x, Bx, . . ., B
p1
x sunt liniar independent i, i.e. pentru
care matricea Xp = [ x Bx B
p1
x] este monica. Atunci, subspat iul X = ImXp este
B-invariant si, prin urmare, cont ine un vector propriu y = Xpz al matricei B. Dar
AB = BA implica AB
k
= B
k
A. Rezulta Ay = AXpz = Xpz = y, i.e. y este vector
propriu al matricei A.
P4.8 Aratat i ca 1y
H
2
x1 = 2y
H
2
x1.
P4.9 Fara a reduce generalitatea, putem considera ca x2 = 1. Conform lemei 4.2
(deat ie unitara), daca matricea [ x
X ] este unitara, atunci B = X
H
AX =
_
b
H
0 C
_
.
Acum, daca y este un vector propriu la stanga al matricei A, atunci z = X
H
y este un vector
propriu la stanga al lui B, i.e. z
H
B = z
H
. Cum este o valoare proprie simpla, matricea
In1 C este nesingulara. Rezulta z(2 : n) = (
In1 C
H
)
1
bz1, cu z1 = x
H
y = 0
ntrucat, n caz contrar, z = 0. Matricea A =
_
0 1
0 0
_
nu este simpla, iar vectorii proprii
sunt de forma x =
_
0
_
si y =
_
0
_
, , I C, = 0, = 0, ceea ce implica y
H
x = 0.
P4.10 Conform problemelor 4.8 si 4.9, y
H
i
xj = 0 daca i = j si putem scala vectorii
proprii astfel ncat y
H
i
xi = 1. Deci, daca X si Y sunt cele doua matrice de vectori proprii,
atunci Y
H
X = In. Rezulta A = XX
1
= XY
H
=
n
i=1
ixiy
H
i
.
P4.11 Din Ax = x, x = 0, rezulta imediat A
k
x =
k
x (induct ie), (A In)x =
= ( )x si, daca A este nesingulara (caz n care avem = 0),
1
x = A
1
x.
P4.12 Avem A
k
x =
k
x pentru tot i (A) si x vector propriu asociat lui . Rezulta
Px = p(A)x = p()x.
P4.13 Fie (A) si x un vector propriu asociat. Atunci, conform problemei 4.12,
Px = p()x si Qx = q()x.
Intrucat Q este nesingulara avem q() = 0 si, prin urmare,
518 INDICAT II, R
ASPUNSURI, SOLUT II
Q
1
x =
1
q()
x. Rezulta Rx = r()x.
P4.14 Daca valorile proprii ale matricei A sunt numerotate n ordinea descrescatoare
a modulelor, atunci avem (A) = |1|, (A
1
) = 1/|n|. Apoi se aplica teorema 4.10.
P4.15 a) Pentru matricele nilpotente, (A)
k
(0), i.e.
k
= 0, i.e. = 0.
b) Pentru matricele idempotente, e x cu x = 1, un vector propriu al matricei A asociat
valorii proprii . Din x
H
A
2
x = x
H
Ax rezulta
2
= , i.e. {0, 1}.
P4.16 a) Cate unul singur n ambele cazuri. b) Daca o celula Jordan de ordin n ar
diagonalizabila, atunci ar avea n vectori proprii liniar independent i ceea ce ar contrazice
a). c) Avem J
. J
k
0
= 0, deci diagonala, pentru orice k n. d) Se rezolva ecuat ia XJ
= In
care, scrisa pe coloane, se reduce la rezolvarea sistemelor liniare x1 = e1, xj1 +xj = ej,
j = 2 : n (n aceasta ordine!). Nu.
P4.17 Fie
H() = H In. Matricea
H21()
def
=
H
(2:n,1:n1)
() este nesingulara
I C, deci rang
H() n 1, I C.
In particular, H =
H(0) si, prin urmare,
rangul lui H nu poate decat n sau n 1. Vectorii proprii x asociat i unei valori proprii
(H) trebuie sa satisfaca
H()x = 0, de unde rezulta x(1 : n1) = v()xn cu v() =
=
H
1
21
()
H
(2:n,n)
(), i.e. tot i vectorii proprii asociat i lui sunt de forma x = [v
T
() 1]
T
cu I C \ {0} arbitrar, indiferent de ordinul de multiplicitate algebrica a lui . Deci,
multiplicitatea geometrica a unei valori proprii a unei matrice Hessenberg ireductibile nu
poate decat 1 si, prin urmare, o astfel de matrice cu valori proprii multiple nu este
diagonalizabila.
P4.18 a) Se calculeaza det(In C), e.g. prin dezvoltare dupa elementele primei
linii. b) C este nesingulara daca si numai daca 0 (C), i.e. p(0) = pn = 0. Pentru
calculul inversei recomandam rezolvarea ecuat iei matriceale CX = In pe blocuri denite
convenabil sau considerarea unei permutari F = PC a liniilor astfel ncat matricea F este
inferior triunghiulara, apoi C
1
= F
1
P. c) Fie x un vector propriu al matricei C asociat
valorii proprii . Considerand xn = 0, e.g. xn = 1 rezulta x
k
=
nk
. Obt inem o matrice
a vectorilor proprii de tip Vendermonde care este nesingulara daca si numai daca valorile
proprii sunt distincte, singura situat ie n care C este diagonalizabila. La acest ultim rezul-
tat se ajunge si observand ca matricea C are o structura superior Hessenberg ireductibila
si aplicand rezultatul problemei precedente. Pentru calculul unui vector propriu al matri-
cei C
T
asociat aceleeasi valori proprii, presupunet i x1 = 0 si rezolvat i sistemul. Se obt ine
x
k
=
k1
+ p1
k2
+ + p
k1
. d) Mai sunt doua structuri cu coecient i polinomului
pe ultima linie, respectiv, pe ultima coloana, n ordine inversa.
P4.19 a) O matrice reala de rotat ie plana P
jk
(i.e. n planul (j, k)), de ordinul n,
denita de scalarii c si s are, evident, n 2 valori proprii egale cu 1, celelalte doua ind
j,k
= c is. Putem lua e
l
drept vectori proprii asociat i valorilor proprii
l
= 1. Daca
s = 0, x
j,k
= ej ie
k
sunt vectori proprii asociat i valorilor proprii complexe. b) Un
reector elementar real U = In 2uu
T
cu u IR
n
, u = 1, ind simetric are toate
valorile proprii reale si ind ortogonal are toate valorile proprii de modul 1. Deci valorile
proprii sunt 1 sau 1. Fie acum un reector elementar V astfel ncat V
T
u = e1. Avem
V
T
UV = In 2e1e
T
1
= diag(1, 1, . . . , 1), i.e. exista o singura valoare proprie egala cu
1. Un set complet de vectori proprii este dat de coloanele lui V .
P4.20 Presupunem ca matricea normala A este triunghiulara. Avem A = UU
H
cu U unitara si diagonala. Atunci A
H
= U
U
H
. Rezulta aij = iU(i, :)(
U(j, :))
T
si
aji =
iU(i, :)(
U(j, :))
T
, unde i = (i, i). Deci, daca aij = 0, atunci si aji = 0. Pentru
INDICAT II, R
_
R A1,q+1 A1p
Aq+1,q+1 Aq+1,p
.
.
.
.
.
.
App
_
_
,
cu R IR
qq
superior triunghiulara. Din (S
T
S = SS
T
)11 rezulta R
T
R = RR
T
+
+
p
j=q+1
Bj, unde Bj = A1jA
T
1j
, j = q + 1 : p, sunt matrice simetrice, pozitiv semi-
denite. Cum nsa tr(R
T
R) = tr(RR
T
), rezulta
p
j=q+1
trBj = 0.
In continuare, din
faptul ca i(Bj) 0 pentru tot i i, rezulta trBj =
i
i(Bj) 0. Deci, trBj = 0 pentru
tot i j si, prin urmare, i(Bj) = 0 pentru tot i i si j. Cum nsa o matrice simetrica avand
toate valorile proprii nule este nula (demonstrat i!) Bj = 0 si, de aici, A1j = 0 pentru tot i
j. Acum R
T
R = RR
T
, i.e. R este normala, si cum este triunghiulara, este diagonala (v.
problema 4.20).
In continuare se procedeaza similar. Din (S
T
S = SS
T
)q+1,q+1 rezulta
Aq+1,j = 0, j = q+2 : p si ca blocul 2 2 Aq+1,q+1 este normal. Avand valori proprii
complexe, conform problemei 4.21, are structura din teorema etc. Reciproca este imediata.
P4.23 c) Fie B =
1
2
(A + A
H
) si C =
1
2
(A A
H
). Atunci A = B + C si, conform
punctelor a), b), B este hermitica iar C este antihermitica. Presupunem ca avem si A =
=
B+
C cu
B hermitica si
C antihermitica. Atunci 2B = A+A
H
=
B+
C+
B
H
+
C
H
= 2
B.
Deci B =
B. Analog, 2C = A A
H
= 2
C, i.e. C =
C. Deci descompunerea este unica.
d) Se utilizeaza c) cu S = B si T = iC.
P4.24 Se utilizeaza relat iile din denit ii.
P4.25 Se utilizeaza relat iile din denit ii si expresiile part ilor hermitica si antihermitica
(v. solut ia problemei 4.23).
P4.26 Se considera un set de n vectori liniar independent i, e.g. ortogonali.
P4.27 Fie P o matrice de permutare.
Intrucat P este unitara, A este normala (her-
mitica, antihermitica, simetrica, antisimetrica) daca si numai daca la fel este si matricea
C = P
T
AP. Putem alege P astfel ncat B = C(1 : k, 1 : k). a) Evident. b) Nu. De
exemplu, matricea A =
_
6 3 1
1 3 3
3 1 3
_
este normala, dar B = A(1: 2, 1: 2) nu este.
P4.28 Conform teoremei 4.3, min(A) max(A).
P4.29 Daca B = Q
H
AQ I C
pp
, unde Q
H
Q = Ip, atunci aplicand matricei B teo-
rema Courant-Fisher avem
k
= max
dimV=k
minxV
S
x
H
Q
H
AQx, unde VS este mult imea
vectorilor de norma euclidiana unitara din subspat iul V I C
p
. Acum, este usor de con-
statat ca
V = {y I C
n
| y = Qx, x V} este un subspat iu liniar al lui I C
n
, de aceeasi
dimensiune cu dimensiunea lui V (i.e. k) si ca mult imea tuturor subspat iilor
V este
numai o parte a mult imii tuturor subspat iilor de dimensiune k din I C
n
. Prin urmare,
k
= max
dim
V=k
min
x
V
S
x
H
Ax
k
. Pentru cel de al doilea set de inegalitat i se uti-
lizeaza cealalta caracterizare minimax a valorilor proprii din teorema Courant-Fisher.
520 INDICAT II, R
ASPUNSURI, SOLUT II
P4.30 Fie matricea hermitica B = U
H
1
AU1 =
_
a11 e
T
1
e1 C
_
= F + G, unde F =
=
_
a11 0
0 C
_
, G =
_
0 e
T
1
e1 0
_
= F + G, obt inuta dupa aplicarea primului pas al
algoritmului de tridiagonalizare TQ. Evident = A(1, 2 : n2 = ||, iar matricele F si G
sunt hermitice. Cum a11 (F), iar min(G) = si max(G) = , conform teoremei 4.6
rezulta exist ent a unei valori proprii a lui B, i.e. a lui A, astfel ncat a11 a11+,
q.e.d.
P4.31 De exemplu, matricele complexe A =
_
1 i
i 1
_
si B =
_
1 i
i i
_
sunt simetrice.
A este normala, dar B nu.
P4.32 Fie S = Q
H
AQ forma Schur a lui A si M = max
i=1:n1
j=i+1:n
(|sij|). Consideram ma-
tricea diagonala D IR
nn
de forma D = diag(1, ,
2
, . . . ,
n1
). Atunci D
1
SD =
= maxi=1:n(|i| +
n
j=i+1
|sij|
ji
) maxi=1:n(|i| +M
n
j=i+1
ji
) maxi=1:n(|i|+
+M
n1
j=1
j
). Alegand astfel nc at
n1
j=1
j
n
j=1
|aij|) = A.
Prin urmare (A) A. Aplicand acelasi rat ionament si pentru matricea A
T
se obt ine
evaluarea (A) min(A1, A), rezultat n deplina concordant a cu teorema 4.10.
P4.36 a) Se utilizeaza bij = aij
i
.
In principiu, da (v. punctul b)). b) Daca A
are toate elementele pozitive avem r = minD D
1
AD = min>0(max(a11 +a12, a22+
+
1
1
). Se obt ine r = (A). c) r = 3 +
7 >
14 = (A).
P4.37 Din teorema discurilor Gershgorin se obt ine (A) D = [21, 31]. Da, de
exemplu scaland cu D = diag(1, 2, 2) se obt ine (A) D
n
j=1
|aij| > 0, i = 1 : n, si D = diag(1, 2, . . . , n). Matricea B = D
1
A
are (B) B 1. Deci, |detB| =
n
i=1
|i(B)| 1. Inegalitatea ceruta se obt ine din
|detA| = |detD| |detB| |detD|. b) Se aplica a) pentru matricea A
T
.
P4.40 Rezultatul generalizeaza teorema discurilor lui Gershgorin, care se obt ine luand
= 1 (pentru A) sau = 0 (pentru A
T
). De aceea consideram numai cazul (0, 1).
Presupunem ri > 0, ci > 0, i = 1 : n (altfel exista o linie sau o coloana cu toate elementele
extradiagonale nule, care poate deplasata n prima pozit ie printr-o transformare de
INDICAT II, R
i=1
|i| |i|
_
n
i=1
|i|
p
_1
p
_
n
i=1
|i|
q
_1
q
, unde p > 1,
1
p
+
1
q
= 1.
Fie (A), x = 0 un vector propriu asociat si xi = x(i). De asemenea, e p =
1
si
q =
1
1
. Avem
| aii| |xi| =
j=1
j=i
aijxj
j=1
j=i
|aij| |xj| =
n
j=1
j=i
|aij|
(|aij|
1
|xj|)
_
_
_
n
j=1
j=i
|aij|
_
_
_
_
_
_
n
j=1
j=i
(|aij|
1
|xj|)
1
1
_
_
_
1
= r
i
_
_
_
n
j=1
j=i
(|aij|
1
|xj|)
1
1
_
_
_
1
,
i.e.
| aii|
r
i
|xi|
_
_
_
n
j=1
j=i
|aij| |xj|
1
1
_
_
_
1
,
sau
_
| aii|
r
i
|xi|
_ 1
1
j=1
j=i
|aij| |xj|
1
1
.
i=1
_
| aii|
r
i
_ 1
1
|xi|
1
1
i=1
n
j=1
j=i
|aij| |xj|
1
1
=
n
j=1
cj |xj|
1
1
,
i.e.
n
k=1
_
c
k
_
| a
kk
|
r
k
_ 1
1
_
|x
k
|
1
1
0.
Evident, n ultima inegalitate, coecient ii pentru |x
k
|
1
1
nu pot tot i negativi. Prin
urmare, exista k astfel ncat | a
kk
| r
k
c
1
k
, q.e.d.
P4.41 Fie (A), x = 0 un vector propriu asociat si xi = x(i). De asemenea, e
|xp| = maxi=1:n |xi|. Daca xp este singura componenta nenula a lui x, atunci = app si,
ntrucat aii D pentru tot i i 1 : n, rezulta D. Presupunem, n continuare, ca x
are cel put in doua componente nenule si e xq = 0 cea de a doua componenta, n ordinea
descrescatoare a modulelor, i.e. |xp| |xq| |xi|, i = 1 : n. i = p, q. Avem
| app| |xp| =
j=1
j=p
apjxj
j=1
j=p
|apj| |xq| = rp|xq|,
522 INDICAT II, R
ASPUNSURI, SOLUT II
unde rp este raza discului Gershgorin asociat liniei p. Rezulta | app| rp
|xq|
|xp|
. Similar
se arata | aqq| rq
|xp|
|xq|
. Obt inem | app| | aqq| rprq, i.e. D, q.e.d.
P4.42 Ambele valori proprii ale lui A sunt egale cu 1. Un vector propriu unitar
asociat este x = (1/
2)
_
1
1
_
. Pentru obt inerea unei forme Schur se aplica deat ia or-
togonala n cazul real, respectiv deat ia unitara n cazul complex sau pentru obt inerea
formelor Schur complexe ale unor matrice reale. De exemplu, luand Q = [x y], unde
x
T
y = 0, obt inem y = (1/
2)
_
1
1
_
(de asemenea cu y = 1), de unde rezulta
Q
T
AQ =
_
1 4
0 1
_
. Sa remarc am faptul ca desi matricea A este defectiva (i.e. nu
este simpla) forma Schur exista si se poate construi. Valorile proprii ale lui B nu sunt
reale, deci o FSR a lui B este chiar B etc.
P4.43 Fie V I C
n(nk)
o completare a lui U pana la o matrice unitara, i.e. astfel ncat
Q = [ U V ] este unitara. Atunci f(X) = Q
H
(AU UX)F =
_
U
H
AU X
V
H
AU
_
F =
=
_
U
H
AU X
2
F
+V
H
AU
2
F
. Evident, minimul lui f este V
H
AUF si se atinge
pentru X = U
H
AU.
P4.44 Prezentam doua solut ii: Solut ia 1. Fie S = U
H
AU o forma Schur a lui A.
Notand T = U
H
BU, din AB = BA rezulta ST = TS, cu S superior triunghiulara cu
elementele diagonale distincte. Din egalitatea primelor coloane a acestei relat ii rezulta
sistemul liniar nesingular omogen (S(2: n, 2: n) s11In1)T(2: n, 1) = 0, de unde obt inem
T(2 : n, 1) = 0, i.e. T este superior triunghiulara n prima coloana, etc. Solut ia 2. Daca
(A) si Ax = x, atunci BAx = Bx, A(Bx) = (Bx) si, ntrucat valorile proprii ale
lui A sunt distincte, A are un set complet de vectori proprii liniar independent i si Bx = x
(Bx este un vector propriu atat pentru A cat si pentru B).
Intrucat procedura de deat ie
pentru reducerea la forma Schur utilizeaza vectori proprii, forma Schur a matricelor A si
B se obt ine cu aceeasi transformare de asemanare (argumente similare se pot aduce si n
cazul real).
P4.45 a) Fie U1 un reector complex (hermitic, v. cap.3) astfel ncat U
H
1
x = e1,
= 0. Atunci v =
1
U1e1 este vectorul cautat. Pentru calculul sau (i.e. al elementelor
denitorii ale reectorului) se poate utiliza procedura Hc si relat ia de mai sus. b) Se
verica imediat ca Bx1 = 0 si Bx
B
i
= ix
B
i
, i = 2 : n. Altfel, considerat i o matrice unitara
U astfel ncat Ue1 este coliniar cu x1 si calculat i U
H
BU.
P4.46 a) Prezentam doua solut ii. Solut ia 1 (geometrica). Fie
X complementul
ortogonal al subspat iului Imx si
Y complementul ortogonal al subspat iului Imy. Fie
U =
X
Y si V =
X +
Y.
Intrucat dim
X = dim
Y = n 1 si dim(V) n, rezulta
n 1 dim
U = dim
X + dim
Y dimV n 2, cazul generic ind dim
U = n 2.
Fie, n cazul generic,
U I C
n(n2)
o matrice ale carei coloane formeaza o baza orto-
gonala pentru
U,
X = [x2
U ] I C
n(n1)
o matrice ale carei coloane formeaza o baza
ortogonala pentru
X si
Y = [y2
U ] I C
n(n1)
o matrice ale carei coloane formeaza
o baza ortogonala pentru
Y. Denim matricele X = [ x
Y ] si Y = [ y
X ]. Avem
Y
H
X =
_
_
y
H
y
H
2
U
H
_
_
_
x x2
U
=
_
_
1 0 0
0 y
H
2
x2 0
0 0 In2
_
_
. Aratat i ca x2 si/sau y2 pot
scalat i astfel ncat y
H
2
x2 = 1. Solut ia 2 (procedurala). Fie U1 reectorul pentru care
INDICAT II, R
Y
H
_
A
_
x
X
=
_
0
0
Y
H
A
X
_
. Algoritmul este
urmatorul.
1. Pentru k = 1 : n 1
1. x = vp(A(k : n, k : n))
2. y = vp((A(k : n, k : n))
T
), y = y
3. x =
x
y
H
x
4. Se calculeaza matricele
X si
Y (v. punctul a))
5. A(k, k) = y
H
A(k : n, k : n)x
6. A(k, k + 1 : n) = 0, A(k + 1 : n, k) = 0,
7. A(k + 1 : n, k + 1 : n)
Y
H
A(k + 1 : n, k + 1 : n)
X.
P4.47 Pentru A, daca vectorul init ial are prima componenta nenula, rezultatul este
e1, ntrucat A(e1) = 5(e1) si (A) = {5, 2, 1}. Pentru B avem (B) = {, 1
,
1 +
1 si b) > 0 si || = 1 +
.
P4.48 Fie matricea A =
_
2 1
0 1
_
si un vector init ial y
(0)
=
_
1
0
_
. Atunci vectorul
curent generat de metoda puterii va y
(k)
=
A
k
y
(0)
A
k
y
(0)
= (1)
k
y
(0)
si, prin urmare,
e
k
= y
(k)
y
(k1)
= (1)
k
y
(0)
(1)
k1
y
(0)
= 2 pentru tot i k desi y
(0)
este un vector
propriu asociat valorii proprii dominante 1 = 2 a matricei A (de ret inut ca criteriul
utilizat n algoritmii 4.1 si 4.2 funct ioneaza ntrucat 1 |(y
(k)
)
T
y
(k1)
| = 0). Evident,
situat ia de mai sus se datoreaza faptului ca valoarea proprie dominanta este negativa si,
desi vectorii din sir sunt orientat i corespunzator ca direct ie, si schimba sensul la ecare
pas.
In cazul complex, vectorii proprii unitari sunt determinat i pana la o multiplicare
cu un numar complex de modul unitar, i.e. e
i
cu IR si, prin urmare, este posibil
ca vectorii din sirul generat de metoda puterii sa tinda catre mult imea vectorilor proprii
unitari asociat i valorii proprii dominante desi diferent a dintre doi vectori consecutivi sa
nu tinda catre zero. Pentru metoda puterii inverse motivat iile sunt aceleasi.
P4.49 Se aplica sistematic lema de deat ie unitara. Rezulta urmatoarea schema de
calcul.
1. Pentru k = 1 : n 1
1. x
k
= vp(A(k : n, k : n))
2. x
k
=
x
k
x
k
ASPUNSURI, SOLUT II
Daca matricea A are valorile proprii distincte,
k
= A(k, k), z
k
este solut ia sistemului liniar
(A(1 : k1, 1 : k1)
k
I
k1
)z
k
= A(1 : k1, k : n) x
k
(unde A este matricea data aata
n starea de dupa execut ia pasului curent k din schema de mai sus) si Q
k
= diag(I
k1
,
Q
k
),
atunci x
k
= Q1Q2 . . . Q
k1
_
z
k
x
k
_
este vector propriu al matricei init iale asociat valorii
proprii
k
.
P4.50 Schema de calcul este similara celei care sta la baza algoritmului HQ:
1. Pentru k = 1 : n 2
1. Se determina i
k
astfel ncat |a
i
k
k
| = max
i=k+1:n
(|a
ik
|)
2. A(i
k
, k : n) A(k + 1, k : n)
3. Se determina matricea inferior triunghiulara elementara M
k+1
astfel ncat (M
k+1
A)(k + 2 : n, k) = 0
4. A = M
k+1
A
5. A( : , k + 1) A( : , i
k
)
6. A = AM
1
k+1
.
Schema este de doua ori mai ecienta decat algoritmul HQ.
P4.51 Ideea este urmatoarea: gasit i un reector elementar (hermitic) U1, astfel ncat
U
H
1
z = e1. Calculat i A1 = U
H
1
AU1. Apoi, reducet i A1 la forma superior Hessenberg
H =
Q
H
A1
Q folosind algoritmul HQ. Matricea Q = U1
Q deneste transformarea unitara
dorita, ntrucat Q
H
z = U
H
n1
U
H
n2
. . . U
H
2
U
H
1
z = e1.
P4.52 Testat i, parcurgand prima subdiagonala, ca nu exista blocuri diagonale de ordin
mai mare decat 2 si, apoi, ca blocurile de ordinul 2 au valorile proprii complexe.
P4.53 Daca Q = Q
H
este reectorul (hermitic) pentru care Q
H
u = e1, atunci S =
= Q
H
AQ = In +e1v
H
Q este superior triunghiulara si 1 = s11 = 1 +v
H
q1, unde q1 =
= Qe1 =
1
5, 2(A) = 2 +
5
_
, x2 =
_
2
1 +
5
_
. Cei doi vectori proprii sunt ortogonali ntrucat
INDICAT II, R
In pachetul de
programe LAPACK astfel de reectori sunt folosit i curent).
P4.59 Matricea Q
H
AQ ramane antihermitica (n cazul real, antisimetrica) oricare ar
matricea unitara (ortogonala) Q. Prin urmare, n aplicarea procedurii de reducere la
forma superior Hessenberg, matricele obt inute dupa ecare pas al reducerii si matricea
nal a sunt antihermitice (antisimetrice). O matrice superior Hessenberg antihermitica
(antisimetrica) este tridiagonala. Exploatat i aceste observat ii structurale.
P4.60 a) Se obt ine H
k+1
(2, 1) =
2
( )
2
+
2
, ceea ce indica o convergent a patratica
la forma Schur. b)
In cazul simetric se obt ine T
k+1
(2, 1) = T
k+1
(1, 2) =
3
( )
2
+
2
,
ceea ce indica o convergent a cubica la forma diagonala.
P4.61 b) Aratam mai ntai ca exista o matrice de permutare P (produs de matrice de
permutare elementare) astfel ncat PBP
T
= diag(D1, . . . , Dn), unde Di =
_
0 di
di 0
_
.
Pentru claritate, vom considera numai cazul cand n este par. Mai ntai, calculam o matrice
asemenea cu B, aplicand matricele de permutare elementare Pn+1,2n, Pn+2,2n1, . . . ,
P
3n/2,3n/2+1
. Obt inem matricea C = Q
T
AQ care are elemente nenule numai pe diagonala
secundara; mai precis, aceste elemente sunt situate din colt ul din dreapta sus spre colt ul
din stanga jos n ordinea d1, d2, . . . , dn, dn, . . . , d2, d1. Atunci, aplicand permutarile
elementare P2,2n, P4,2n2, . . . , Pn,n+2, C este adusa la o forma cu blocuri diagonale 2 2,
i.e. diag(D1, D3, . . . , D4, D2). Permutarea acestor blocuri diagonale pentru a obt ine forma
diag(D1, D2, . . . , Dn) poate realizata cu usurint a utilizand un algoritm de sortare.
P4.62 a) Avem T
= L
1
TL, deci matricele sirului sunt asemenea si, n anumite
condit ii (vezi b)), sirul poate pune asimptotic n evident a valori proprii ale matricei T.
b) Daca T =
_
_
, atunci T
are elementele
= +
2
_
2
,
ASPUNSURI, SOLUT II
o structura particulara (n afara simetriei) sunt, n general, nenule. De aceea, elementele
nule, obligatorii conform punctului a), apar la sfarsitul procesului de tridiagonalizare.
P4.64 Transformarile ortogonale conserva norma Frobenius.
In consecint a, matricele
_
app apq
aqp aqq
_
si
_
a
pp
a
pq
a
qp
a
qq
_
=
_
c s
s c
_ _
app apq
aqp aqq
_ _
c s
s c
_
au aceeasi norma
Frobenius, i.e. a
2
pp
+ a
2
qq
+ 2a
2
pq
= (a
pp
)
2
+ (a
qq
)
2
+ 2(a
pq
)
2
. De asemenea, matricele
A si A
= J
T
AJ au aceeasi norma Frobenius. Notand cu B, B
matricele elementelor
extradiagonale ale matricelor A, respectiv A
difera
numai n liniile si coloanele p si q, avem
B
2
F
= A
2
F
n
i=1
(a
ii
)
2
= A
2
F
n
i=1
a
2
ii
+a
2
pp
+a
2
qq
(a
pp
)
2
(a
qq
)
2
=
= B
2
2a
2
pq
+ 2(a
pq
)
2
.
Prin urmare B
pq
= a
qp
= 0.
P4.65 a) Daca = 0 rezultatul este imediat. Daca = 0 ecuat ia (J
T
AJ)
11
=
= c
2
2cs + s
2
= este echivalenta cu cos(2 + ) =
2
2
sin =
2
()
2
+4
2
,
unde = arccosc este unghiul ce deneste rotat ia, iar = arcctg
2
. Rezulta ca exista
daca si numai daca
()
2
+4
2
1
=
2
=
1+4
2
2
1
2
etc.
P4.68 Considerand o matrice de perturbat ie E = G, cu G = eie
T
j
si observand ca, n
acest caz,
k
a
ij
=
d
k
()
d
, rezulta expresia dorita.
P4.69 Acesta este un exemplu celebru [ IV] de matrice cu valori proprii bine separate
si, totusi, foarte rau condit ionate. Vectorii proprii la dreapta, respectiv la stanga, asociat i
valorii proprii
k
= k, au expresiile x
k
= [
(n)
nk
(nk)!
(n)
nk1
(nk1)!
(n)
2
2!
(n) 1 0 0 ]
T
,
respectiv, y
k
= [ 0 0 0 1 n
n
2
2!
n
k2
(k2)!
n
k1
(k1)!
]
T
unde si sunt scalari nenuli arbi-
trari. Folosind, pentru simplitate, norma rezulta
k
=
x
k
y
k
|y
T
k
x
k
|
=
n
n1
(nk)!(k1)!
numar care, pentru un n semnicativ, este foarte mare. Pentru n = 20 avem 1 = 20 =
=
20
19
19!
. Folosind formula lui Stirling m!
2mm
m
e
m
pentru evaluarea factorialului,
se obt ine 1 = 20
20
19
e
19
19
19
38
4.329 10
7
.
P4.70 Acesta este un alt exemplu celebru [ IV] de matrice cu o condit ionare foarte
diferent iata a valorilor proprii: pentru un n semnicativ, valoarea proprie maxima este
foarte bine condit ionata pe cand valoarea proprie minima este foarte rau condit ionata.
a) Se aplica varianta simbolica a eliminarii gaussiene. b) Se repeta procedura de la
punctul a). Pentru n = 20 si = 10
10
avem detF = 1 19! 10
10
1.216 10
7
fat a de
1 pentru = 0.
P4.71 a) Calculat i valorile proprii i, apoi p() = ( i).
b) Aceasta problema preocupa de cateva secole pe matematicieni care au propus zeci de
metode pentru rezolvarea ei. Ultima si cea mai buna metoda consta n formarea explicita
a unei matrice companion (v. problema 4.18) si calculul valorilor sale proprii utilizand
algoritmul QR.
INDICAT II, R
5, 4
5 }, (B) = { 8 +
10, 8
10 },
(C) = { 12 +
10, 12
10 }.
P5.2 Fie A =
_
_
. Atunci
1 =
_
1
2
(
2
+
2
+
2
+
2
+
_
(
2
2
)
2
+ (
2
2
)
2
+ 2( +)
2
+ 2( +)
2
) ,
si asa mai departe.
P5.3 a) Utilizat i faptul ca dac a matricea Q este unitara, atunci si matricele
Q, Q
T
si Q
H
sunt unitare. b) Produsul a doua matrice unitare este o matrice unitara. c) Fie
A = UV
H
DVS a matricei A. Daca = 0, atunci A =
U|| V
H
, cu
U =
||
U
unitara.
P5.4 Fie A = UV
H
DVS a matricei A. Presupunem m n, caz n care avem
A = U11V
H
, unde U1 = U( : , 1 : n), 1 = (1 : n, : ). Conform unei versiuni evi-
dente a propozit iei 5.1 avem B = QQ
H
, unde = diag(1, 1, 0
(mn)(mn)
) si
Q =
1
2
_
V V 0
U1 U1
2U2
_
cu U2 = U( : , n + 1 : m). Coloanele matricei Q sunt
vectori proprii ai matricei B.
P5.5 Fie C = A + iB = UV
H
DVS a matricei C si Ur
def
= ReU, Ui
def
= ImU,
Vr
def
= ReV , Vi
def
= ImV . Atunci
D =
_
A B
B A
_
=
_
Ur Ui
Ui Ur
_ _
0
0
__
Vr Vi
Vi Vr
_
,
la care se adauga permutarile impuse de ordonarea valorilor singulare ale matricei D.
P5.6 a) O matrice normala ind unitar (ortogonal) diagonalizabila, avem Q
H
AQ =
= = diag(1, 2, . . . , n), cu Q unitara (ortogonala). Rezulta Q
H
A
H
AQ =
H
=
= diag(|1|
2
, |2|
2
, . . . , |n|
2
). b) Matricea A este normala. Avem 1 = 8, 2,3 = 2i
6.
Rezulta 1 = 8, 2,3 = |2,3| =
r
i=1
2
i
r
2
1
, unde r = rang A si A2 = 1.
P5.10 O matrice de permutare este ortogonala (unitara), iar transformarile unitare
conserva norma spectrala. Astfel, fara a reduce generalitatea, putem presupune ca cele k
n1 linii eliminate sunt ultimele k linii ale matricei Q, i.e. putem scrie Q = [ P
T
R
T
]
T
.
Fie P = UCV
H
dezvoltarea DVS a matricei P, unde C = diag(c1, c2, . . . cn), cu c1
c2 . . . cn 0 valorile singulare ale matricei P. Dar Q
H
Q = P
H
P + R
H
R = In.
Rezulta R
H
R = In V C
2
V
H
= V (In C
2
)V
H
= V S
2
V
H
, unde S = diag(s1, s2, . . . sn),
cu si =
_
1 c
2
i
valorile singulare ale matricei R ordonate crescator. Cum R are cel mult
n 1 linii, rezulta s1 = 0, i.e. c1 = P2 = 1.
P5.11 Se utilizeaza DVS a matricei A.
P5.12 Daca A = UV
T
este DVS a lui A, atunci (U, V sunt matrice nesingulare):
max
y IR
m
\ {0}
x IR
n
\ {0}
y
T
Ax
y2x2
= max
z IR
m
\ {0}
w IR
n
\ {0}
z
T
U
T
AV w
Uz2V w2
= max
z IR
m
\ {0}
w IR
n
\ {0}
z
T
w
z2w2
.
528 INDICAT II, R
ASPUNSURI, SOLUT II
P5.13 a) Daca U1 IR
mm
, V1 IR
nn
sunt reectori elementari astfel ncat U1u =
= ue1 IR
m
, si V1v = ve1 IR
n
, atunci:
U
T
1
AV1 =
_
uv 0
0 0
_
IR
mn
.
Evident, rang A = 1 daca u = 0, v = 0, si zero altfel. b) Daca rang A = 1, atunci
dezvoltarea valorilor singulare se reduce la A = 1u1v
H
1
.
P5.14 Fie w
def
= Q v u, unde Q este o matrice ortogonala (cum calculat i matricea Q?)
si w
def
= w/ w, u
def
= u/ u. Calculat i o matrice ortogonala C IR
n(n2)
astfel ncat
U = [u w C] si V = [w u C] sunt ortogonale (folosit i factorizarea QR a matricei [u w]).
Atunci
U
T
(I + u v
T
)V =
_
_
u
T
(I + u v
T
)w u
T
(I + u v
T
)u 0
w
T
(I + u v
T
)w w
T
(I + u v
T
)u 0
0 0 In2
_
_
=
=
_
u
T
u v
T
w 1 +u
T
u v
T
u 0
1 0 0
0 0 In2
_
si problema a fost redusa la cazul 2 2 (oricum, celelalte n 2 valori singulare ale lui A
sunt egale cu 1).
P5.15 Se aplica algoritmul JQ cu precizarea ca reectorii complecsi utilizat i sunt de
tipul celor care dau un rezultat real, e.g. pentru x I C
n
se obt ine U
H
1
x = xe1 IR
n
.
P5.16 Matricea T = J
H
J este tridiagonala, hermitica si are doua valori proprii egale.
Conform problemei 4.63 (v. cap.4) T este reductibila, i.e. exista i astfel ncat T(i +1, i) =
= gifi = 0. Deci, gi = 0 sau/si fi = 0.
P5.17 Pentru a exploata structura superior triunghiulara, se utilizeaza o secvent a de
rotat ii modicate, conform urmatoarei scheme de calcul:
1. Pentru k = n : 1 : 3
1. Pentru i = 1 : k 2
1. Se calculeaza rotat ia modicata Pi,i+1 astfel ncat (P
H
i,i+1
A)(i, k) = 0.
2. A P
H
i,i+1
A % Apare un element nenul n pozit ia (i + 1, i).
3. Se calculeaza rotat ia modicata Qi,i+1 astfel ncat (AQi,i+1)(i + 1, i) = 0.
2. A AQi,i+1.
Pentru n = 4, primul pas al ciclului exterior se desfasoara astfel:
A P
H
12
A =
_
_
+
_
, A AQ12 =
_
_
0
_
,
A P
H
23
A =
_
_
0
+
_
, A AQ23 =
_
_
0
0
_
.
INDICAT II, R
_
_
_
, A P
H
12
P
H
13
A =
_
_
0
0
_
_
,
A AQ45Q46 =
_
_
0 0
0
0
_
_
,
A P
H
45
P
H
46
P
H
47
A =
_
_
0 0
0
0
0
0
0
_
_
,
A AQ23Q24 =
_
_
0 0 0 0
0
0
+ +
0
0
0
_
_
.
Dupa aceste transformari A este bidiagonala n prima linie si prima colana. Se obt ine o
problema similara, dar de dimensiunea (m1) (n1); blocul patrat p p este deplasat
cu o pozit ie diagonala.
P5.19 Se aplica mai ntai o secvent a de rotat ii pe stanga care aduce matricea la o
forma superior triunghiulara (cu numai doua supradiagonale de elemente nenule) dupa
care se adapteaza schema de calcul de la problema 5.17.
P5.20 Mai ntai se reduce matricea A la forma superior bidiagonala cu algoritmul
JQ. Apoi se anuleaza elementul din pozit ia (m, n+1) cu o secvent a de rotat ii aplicate pe
dreapta A APm,m+1Pm1,m+1 . . . P1,m+1 care deplaseaza elementul alterant pe verticala
coloanei m+ 1 pana la eliminare. Exemplicam procesul pentru m = 3, n = 5,
A =
_
+
_
, A AP34 =
_
+
_
,
A AP24 =
_
+
_
, A AP34 =
_
_
.
530 INDICAT II, R
ASPUNSURI, SOLUT II
P5.21 Fie A = UV
H
, = diag(1, 2, . . . , p), cu p = min(m, n), DVS a matricei
A . Evident, exista sirurile de numere reale (
(k)
i
)
kIN
astfel ncat lim
k
(k)
i
= i si
(k)
i
= 0 pentru tot i i si k. Daca
k
def
= diag(
(k)
1
,
(k)
2
, . . . ,
(k)
p
), si A
k
def
= U
k
V
H
, atunci
toate matricele A
k
sunt de rang maximal si lim
k
A
k
= A. Aceasta nseamna ca oricat
de aproape de orice matrice (inclusiv de matricea nula) se aa matrice de rang maximal.
De aici necesitatea conceptului de rang numeric n orice problema de calcul al rangului,
afectata de erori.
P5.22 Urmat i demonstrat ia teoremei 5.4.
P5.23 Daca (C, S) = (U
H
AW, V
H
BW) este DVSG a perechii de matrice (A, B) atunci
rA = rang(A) = rang(C) si rB = rang(B) = rang(S), i.e. rA este numarul elementelor
diagonale nenule ale matricii C, iar rB este numarul elementelor diagonale nenule ale
matricii S. Pentru determinarea rangului numeric se poate utiliza o tolerant a pentru
neglijarea elementelor diagonale mici ale matricilor C si S (v. alg. Rang DVS).
P5.24 Utilizat i DVS si denit ia 5.3.
P5.25 Urmat i demonstrat ia teoremei 5.3.
P5.26 a) Utilizand DVS A = UAAV
H
A
si B = UBBV
H
B
sistemul matriceal dat
devine echivalent cu sistemul
_
A
X
Y B =
C
X
T
B
T
A
Y =
D
,
unde
X = V
H
A
XVB,
Y = U
H
A
Y UB,
C = U
H
A
XVB,
D = V
H
A
XUB, care la randul sau, se
poate scrie explicit sub forma a mn sisteme de doua ecuat ii cu doua necunoscute
_
(A)
i
(B)
j
(B)
j
(A)
i
_
_
xij
yij
_
=
_
cij
dij
_
.
P5.27 a) Utilizand DVS A = UV
T
si t inand seama de conservarea normei euclidiene,
problema devine echivalenta cu problema de minimizare min
yIR
n{d y
2
+ y
2
}
(evident, mult mai simpla), unde d = U
T
b si y = V
T
x.
P5.28 0 (A) detA = 0 detA
H
A = 0 0 (A).
P5.29 Nu, e.g. pentru A =
_
0 1
0 0
_
, B =
_
0 0
0 1
_
.
P5.30 a) Inegalitatea triunghiului pentru norma spectrala.
In general nu, luat i e.g.
A =
_
1 0
0 0
_
, B =
_
0 0
0 1
_
. b) Consultat i [ II ].
P5.31 Proprietat ile sunt corespondentele multiplicative ale proprietat ilor aditive din
problema precedenta. a) Condit ia de consistent a a normei spectrale.
In general nu, luat i
e.g. A =
_
1 1
0 1
_
, B =
_
1 0
1 1
_
. b) Consultat i [ II ].
P5.32 Consultat i [ II ].
P5.33 a) det(In A) =
n
, i.e. |i| =
1
n
, i 1 : n. Valorile singulare sunt
i = 1, i 1 : (n 1), n = .
P5.34 Consultat i [ II ], unde vet i gasi multe alte proprietat i interesante ale descom-
punerii polare.
INDICAT II, R
ASPUNSURI, SOLUT II
3. C^at timp eps > tol
1. Se calculeaza = x
H
B
1
Ax (i.e. se rezolva Bz = Ax, apoi = x
H
z)
2. Se rezolva sistemul liniar (AB)y = Bx
3. y = y/y
4. eps = |1 |x
H
y| |
5. x = y
6. k = k + 1
7. Daca k > nr max iter
1. Tipareste S-a atins numarul maxim de iterat ii fara a se
realiza tolerant a impusa.
2. Return
unde eps, tol si nr max iter au semnicat ii transparente.
P6.7 Daca Bx = 0, atunci si Ax = 0, i.e. egalitatea Ax = Bx ar satifacuta pentru
orice I C, i.e. fascicolul nu ar regulat.
P6.8 Avem gi+1,i = hi+1,i/tii, i = 1 : n1.
P6.9 Fie 1 (H, T) IR. Atunci v =
_
_
1t22 h22
h21
1
_
_
este un vector propriu
generalizat asociat lui 1, i.e. Hv = 1Tv si S = Imv este un subspat iu de deat ie al
fascicolului (H, T). Atunci construim matricele Q si Z procedand n felul urmator. Fie
z1 = v/v, z2 un vector de norma unitara ortogonal cu z1 (construit i-l!) si matricea
Z = [ z1 z2 ]. Avem (HZ, TZ) = ([ Hz1 Hz2 ], [ Tz1 Tz2 ]) = ([ 1Tz1 Hz2 ], [ Tz1 Tz2 ]).
Acum daca Q este o matrice ortogonala de ordinul 2 (reector sau rotat ie) astfel ncat
(Q
T
Tz1)(2) = 0 vom avea (
H,
T)(2, 1) = (Q
T
HZ, Q
T
TZ)(2, 1) = 0, i.e. (
H,
T) este n
form a Schur. Evident,
h11/
t11 = 1.
P6.10 Daca L este factorul Cholesky al lui B, atunci (A, B) = (L
1
AL
T
) si
matricea L
1
AL
T
ind simetrica are spectrul real. Daca B nu este pozitiv denita
valorile proprii generalizate pot si complexe dupa cum se poate constata din exemplul
urmator
20
A =
_
1 5
5 9
_
, B =
_
1 2
2 1
_
. Daca factorul Cholesky L este bine condit ionat
numeric, atunci se calculeaza matricea C = L
1
AL
T
exploatand corespunzator simetria
rezultatului si i se calculeaza valorile proprii folosind algoritmul QR simetric. Daca L este
rau condit ionata se aplica algoritmul QZ. Din pacate, n acest din urma caz, transformarile
ortogonale de echivalent a nu conserva simetria.
P6.11 a) Se procedeaza ca n cazul complex, cu precizarea ca problema se reduce
la rezolvarea unui sistem liniar omogen cvasi-superior triunghiular. b) Rezolvat i mai ntai
problema pentru perechea 2 2 (S(k : k + 1, k : k + 1), T(k : k + 1, k : k + 1).
P6.12 Fie M = S(k : k + 1, k : k + 1) si N = T(k : k + 1, k : k + 1) blocurile
diagonale 2 2 de interes ale matricelor S si T. Cei doi vectori proprii liniar independent i
exista daca si numai daca perechea (M, N) n FSG admite doi vectori proprii generalizat i
liniar independent i. Dar m11n22 = m22n11, deci raspunsul este armativ numai daca
m11n12 = m12n11.
20
Se poate arata ca oricare ar matricea C IR
nn
diagonalizabil a exist a matricele simetrice
A, B IR
nn
cu B nesingulara astfel nc at C = AB
1
[ VI ].
In consecint a, oricare ar mult imea
simetrica (i.e. avand elementele complexe n perechi complex conjugate) de n numere exist a o
pereche reala (A, B) cu matricele A, B simetrice astfel nc at (A, B) = .
Bibliograe
[1] J.O. Aasen. On the Reduction of a Symmetric Matrix to Tridiagonal Form.
BIT, 11:233242, 1971.
[2] A.V. Aho, J.E. Hopcroft, J.D. Ullman. The design and analysis of computer
algorithms. Addison-Wesley, 1974.
[3] S. Bannour, M.R. Azimi-Sadjadi. Principal Component Extraction Using Re-
cursive Least Squares. IEEE Trans.Neur.Nets, 6:457469, 1995.
[4] R.H. Bartels, G.W. Stewart. A Solution of the Equation AX + XB = C.
Commun. ACM, 15:820826, 1972.
[5] W. Barth, R.S. Martin, J.H. Wilkinson. Calculation of the Eigenvalues of
a Symmetric Tridiagonal Matrix by the Method of Bisection. Numerische
Mathematik, 9:249256, 1967.
[6] R. Bellman. Introducere n analiza matriceala. Ed. Tehnica, 1969.
[7] C. Bischof, C. Van Loan. The WY Representation for Products of Householder
Matrices. SIAM J. Sci. Stat. Comput., 8:s2s13, 1987.
[8] A. Bjorck. Solving Linear Least Squares Problems by Gram-Schmidt Orthog-
onalization. BIT, 7:121, 1967.
[9] A. Bjorck. Numerical Methods for Least Squares Problems. SIAM, 1996.
[10] H. Bowdler, R.S. Martin, C. Reinsch, J.H. Wilkinson. The QR and QL Algo-
rithms for Symmetric Matrices. Numerische Mathematik, 11:293306, 1968.
[11] J.R. Bunch, L. Kaufmann. Some Stable Methods for Calculating Inertia and
Solving Symmetric Systems. Mathematics of Computation, 31(137):163179,
January 1977.
[12] J.R. Bunch, B. Parlett. Direct Methods for Solving Symmetric Indenite Sys-
tems of Linear Equations. SIAM J. Numer. Anal., 8:639655, 1971.
[13] P.A. Businger, G.H. Golub. Linear Least Squares Solutions by Householder
Transformations. Numerische Mathematik, 7:269276, 1965.
533
534 BIBLIOGRAFIE
[14] S.P. Chan, B.N. Parlett. Algorithm 517: a Program for Computing the Condi-
tion Numbers of Matrix Eigenvalues without Computing Eigenvectors. ACM
Trans. Math. Soft., 3:186203, 1977.
[15] T.F. Chan. Rank-Revealing QR Factorizations. Lin. Alg. and its Applic.,
88/89:6782, 1987.
[16] A.K. Cline, C.B. Moler, G.W. Stewart, J.H. Wilkinson. An Estimate for the
Condition Number of a Matrix. SIAM J.Numer.Anal., 16(2):368375, April
1979.
[17] A.K. Cline, R.J. Plemmons. L
2
Solutions to Underdetermined Linear Systems.
SIAM Review, 18:92106, 1976.
[18] J.J.M. Cuppen. A Divide and Conquer Method for the Symmetric Eigenprob-
lem. Numerische Mathematik, 36:177195, 1981.
[19] J. Demmel, W. Kahan. Accurate Singular Values of Bidiagonal Matrices. SIAM
J.Sci.Stat.Comput., 11(5):873912, September 1990.
[20] J.J. Dongarra, J. Du Croz, S. Hammarling, I. Du. A Set of Level-3 Basic
Linear Algebra Subprograms. ACM Trans.Math.Software, 16:117,1828, 1990.
[21] J.J. Dongarra, D.W. Walker. Software Libraries for Linear Algebra Computa-
tions on High Performance Computers. SIAM Review, 37:151180, 1995.
[22] B. Dumitrescu. Improving and Estimating the Accuracy of Strassens Algo-
rithm. Numerische Mathematik, 79(4):485-499, 1998.
[23] L. Elsner, J.G. Sun. Perturbation Theorems for the Generalized Eigenvalue
Problem. Lin. Alg. and its Applic., 48:341357, 1982.
[24] G.E. Forsythe. Pitfalls in Computations or Why a Math Book is not Enough.
Amer.Math.Monthly, 77:931970, 1970.
[25] G.E. Forsythe. Computer Methods for Mathematical Computations. Prentice-
Hall, 1977.
[26] J.G.F. Francis. The QR Transformation: a Unitary Analogue to the LR Trans-
formation, Parts I and II. Comp. J., 4:265272, 332345, 1962.
[27] W. Givens. Computation of Plane Unitary Rotations Transforming a General
Matrix to Triangular form. SIAM J.App.Math., 6:2650, 1958.
[28] I.M. Glazman, I. Liubici. Analiza liniara pe spat ii nit-dimensionale. Ed.
Stiint ica si Enciclopedica, 1980.
[29] D. Goldberg. What Every Computer Scientist Should Know About Floating-
Point Arithmetic. ACM Comp.Surveys, 23(1):548, March 1991.
[30] G.H. Golub, W. Kahan. Calculating the Singular Values and Pseudo-Inverse
of a Matrix. SIAM J. Num. Anal. Ser. B 2, 205224, 1965.
BIBLIOGRAFIE 535
[31] S. Haykin. Adaptive Filter Theory. Prentice Hall, 1991.
[32] N.J. Higham. The Accuracy of Floating Point Summation. SIAM J.Sci. Com-
put., 14(4):783799, July 1993.
[33] N.J. Higham. Stability of the Diagonal Pivoting Method with Partial Pivoting.
SIAM J.Matrix Anal.Appl., 18(1):5265, January 1997.
[34] A.S. Householder. Unitary Triangularization of a Nonsymmetric Matrix. J.
ACM, 5:339342, 1958.
[35] D. Jacobs, editor. The State of the Art in Numerical Analysis. Academic Press,
1977.
[36] B. K agstrom, P. Ling, C. Van Loan. High Performance GEMM-Based Level-
3 BLAS: Sample Routines for Double Precision Real Data. In M. Durand,
F. El Dabaghi, editori, High Performance Computing II, pp. 269281. Elsevier
Science Publishers B.V., 1991.
[37] T. Kato. Perturbation Theory for Linear Operators. Springer-Verlag, 1966.
[38] V.C. Klema, A.J. Laub. The Singular Value Decomposition: Its Computation
and Some Applications. IEEE Trans.Auto.Control, AC-25(2):164180, April
1980.
[39] V.N. Kublanovskaya. On Some Algorithms for the Solution of the Complete
Eigenvalue Problem. USSR Comp. Math. Phys., 3:637657, 1961.
[40] C.L. Lawson, R.J. Hanson, F.T Krogh, D.R. Kincaid. Basic Linear Algebra
Subprograms for FORTRAN Usage. ACM Trans.Math.Software, 5:308323,
1979.
[41] R.S. Martin, C. Reinsch, J.H. Wilkinson. Householder Tridiagonalization of a
Symmetric Matrix. Numerische Mathematik, 11:181195, 1968.
[42] R.S. Martin, J.H. Wilkinson. Solution of Symmetric and Unsymmetric Band
Equations and the Calculation of Eigenvalues of Band Matrices. Numerische
Mathematik, 9:279301, 1967.
[43] R.S. Martin, J.H. Wilkinson. Reduction of the Symmetric Eigenproblem
Ax = Bx and Related Problems to Standard Form. Numerische Mathematik,
11:99110, 1968.
[44] C.B. Moler, G.W. Stewart. An Algorithm for Generalized Matrix Eigenvalue
Problems. SIAM J. Numer. Anal., 10:241256, 1973.
[45] C.C. Paige. Computing the Generalized Singular Value Decomposition. SIAM
J.Sci.Stat.Comput, 7(4):11261146, October 1986.
[46] B.N. Parlett, C. Reinsch. Balancing a Matrix for Calculation of Eigenvalues
and Eigenvectors. Numerische Mathematik, 13:292304, 1969.
536 BIBLIOGRAFIE
[47] C. Puglisi. Modication of the Householder Method Based on the Compact
WY Representation. SIAM J. Sci. Stat. Comput., 13(3):723726, May 1992.
[48] H. Rutishauser. The Jacobi Method for Real Symmetric Matrices. Numerische
Mathematik, 9:110, 1966.
[49] R. Schreiber, B. Parlett. Block Reectors: Theory and Computation. SIAM
J. Numer.Anal., 25:189205, 1989.
[50] R. Schreiber, C. Van Loan. A Storage-ecient WY Representation for Products
of Householder Transformations. SIAM J. Sci. Stat. Comput., 10(1):5357,
January 1989.
[51] R.D. Skeel. Scaling for Numerical Stability in Gaussian Elimination. J. ACM,
26:494526, 1979.
[52] R.D. Skeel. Iterative Renement Implies Numerical Stability for Gaussian
Elimination. Math. Comp., 35:817832, 1980.
[53] G.W. Stewart. On the Sensitivity of the Eigenvalue Problem Ax = Bx. SIAM
J. Numer. Anal., 9:669686, 1972.
[54] G.W. Stewart. Error and Perturbation Bounds for Subspaces Associated with
Certain Eigenvalues Problems. SIAM Review, 15:727764, 1973.
[55] G.W. Stewart. Algorithm 406: HQR3 and EXCGNG: FORTRAN Subroutines
for Calculating and Ordering the Eigenvalues of a Real Upper Hessenberg Ma-
trix. ACM Trans. Math. Soft., 2:275280, 1976.
[56] G.W. Stewart. On the Asymptotic Behaviour of Scaled Singular Value and QR
Decompositions. Math.Comp., 43:483490, 1984.
[57] G.W. Stewart. On the Early History of the Singular Value Decomposition.
SIAM Review, 35(4):551566, December 1993.
[58] G.W. Stewart. Afternotes on Numerical Analysis. SIAM, 1996.
[59] G.W. Stewart, R. Chapman. Fast Stable Kalman Filter Algorithms Utilizing
the Square Root Procedure. SIAM J. Sci. Stat. Comput., 8:18151818, 1990.
[60] V. Strassen. Gaussian elimination is not optimal. Numerische Mathematik,
13:354356, 1969.
[61] M. Tertisco, P. Stoica. Identicarea si estimarea parametrilor sistemelor. Ed.
Academiei, 1980.
[62] M.H. Verhaegen, P. Van Dooren. Numerical Aspects of Dierent Kalman Filter
Implementations. IEEE Trans.Auto.Control, AC-31:907917, 1986.
[63] S.J. Wright. A Collection of Problems for Which Gaussian Elimination with
Partial Pivoting is Unstable. SIAM J.Sci.Comput., 14(1):231238, January
1993.
Index
acuratet e, 13
algoritmi la nivel de bloc
eliminare gaussiana, 87
factorizarea Crout, 90
produs matriceal, 44
rutine BLAS, 62
sisteme triunghiulare, 56
triangularizare ortogonala, 156
algoritmul
Bartels-Stewart, 301
DVS, 393, 403
QR, 239
QR simetric, 314
QZ, 455, 472
Strassen, 45
alternativa lui Fredholm, 297
anulare catastrofala, 9
baza, 22
baza ortogonala, 152, 172, 386
bloc, 42
cat Rayleigh, 236, 330
calculatoare
cu memorie ierarhica, 17
vectoriale, 17
cifre semnicative, 7
combinat ie liniara, 21
componente principale, 373
condit ionare, 11
condit ionarea
problemelor CMMP, 177
sistemelor liniare, 97
subspat iilor invariante, 350
valorilor proprii, 343
valorilor singulare, 413
vectorilor proprii, 350
vectorilor singulari, 414
congruent a, 47
convergent a patratica, 236
deat ie
de permutare, 272
iterativa, 455
ortogonala, 230
unitara, 228
depasire
inferioara, 8
superioara, 8
deplasare, 244
Rayleigh, 236
Wilkinson, 320, 399
descompunerea
bloc-diagonala, 303
CS, 377
ortogonala completa, 197
polara, 376
spectrala, 296
valorilor singulare, 369, 371
valorilor singulare generalizate, 379,
431
determinant, 53
diferent a unghiulara, 352, 414
distant a dintre spectre
absoluta, 354
relativa, 354
echilibrare, 104, 274
ecuat ie caracteristica, 210
a unui fascicol, 446
ecuat ie matriceala Sylvester, 297
eliminare gaussiana, 74
la nivel de bloc, 87
pentru matrice banda, 106
stabilitate numerica, 103
epsilon masina, 7
537
538 INDEX
eroare
nainte, 13
napoi, 13
absoluta, 2
de reprezentare, 6
de rotunjire, 7
relativa, 2
factor de crestere
n eliminarea gaussiana, 102
n factorizarea cvasi-diagonala, 113
n metoda puterii inverse, 285
factorizare Cholesky, 114
cu pivotare, 195
cu semn, 202
factorizare cvasi-diagonala, 110, 206
factorizare LDU, 81
factorizare LQ, 172
factorizare LU, 81
Crout, 82, 85
Crout cu pivotare, 86
Crout la nivel de bloc, 90
Doolitle, 82
factorizare QL, 162
factorizare QR, 150
factorizare RQ, 173
fascicol matriceal, 445
hermitic, 447, 449
nesingular, 447
pozitiv denit, 447, 449
regulat, 447
simetric, 447, 449
singular, 447
fascicole
congruente, 450
echivalente, 449
ortogonal echivalente, 449
unitar echivalente, 449
op, 15
forma bidiagonala, 394
forma bloc-diagonala, 296
forma canonica Jordan, 215, 308
forma canonica Kronecker, 450
forma diagonala generalizata, 453
forma Hessenberg, 239
generalizata, 455
generalizata ireductibila, 466
ireductibila, 252
forma Schur, 227, 229
complexa, 230
generalizata, 451
generalizata ordonata, 486
ordonata, 287
reala, 230, 232
reala generalizata, 452
reala ordonata, 290
format virgula mobila, 4
funct ie de rotunjire, 6
gramian, 150, 172
grup Poincare, 202
hiperelipsoid, 372, 431
hipersfera, 372
imagine, 29
inert ia unei matrice, 223
LAPACK
rutine de calcul, 118
rutine driver, 118
lema proiect iei ortogonale, 163
liniar independent a, 21
mantisa, 4
matrice
antihermitica, 224
antisimetrica, 47, 224
asemenea, 60, 214
banda, 40
bloc diagonala, 44
bloc triunghiulara, 44
complexa simetrica, 217
congruente, 223
cu spectru simplu, 214
de permutare, 272
de permutare elementara, 72
de proiect ie ortogonala, 388
diagonal dominanta, 119
diagonala, 39
diagonalizabila, 214
echilibrata, 274
echivalente, 34, 35, 370
epica, 31
INDEX 539
hermitica, 49, 215
Hessenberg, 40
Hessenberg ireductibila, 252, 291
Hilbert, 99
inferior triunghiulara elementara,
70
inversabila, 34
ireductibila, 274
monica, 30
normala, 46, 215
ortogonal asemenea, 214
ortogonal echivalente, 370
ortogonala, 47, 215
pozitiv denita, 47
S-ortogonala, 201
S-simetrica, 201
simetrica, 46, 215, 314
simpla, 60, 214
spectru, 60
strict triunghiulara, 39
tridiagonala, 315
triunghiulara, 39
triunghiulara unitate, 39
unitar asemenea, 214
unitar echivalente, 370
unitara, 49, 215
Matrice companion, 362
Matrice convergenta, 363
Matrice diagonal dominanta, 364
Matrice idempotenta, 361
Matrice nilpotenta, 361
Matrice simultan diagonalizabile, 360
memorare compacta (mpachetata), 41
metoda
bisect iei, 330
catului Rayleigh, 330
Jacobi ciclica, 341
Jacobi clasica, 340
puterii, 233, 499
puterii cu deplasare, 235, 246
puterii inverse, 235, 245, 499
metode de radacina patrata, 151
Moore-Penrose
condit ii, 207
pseudoinversa, 198
mult ime simetrica, 210
multiplicatori (gaussieni), 70, 74
multiplicitate
algebrica, 210
algebrica a unei valori proprii ge-
neralizate, 446
geometrica, 211
geometrica a unei valori proprii
generalizate, 447
norma
consistenta, 37
euclidiana, 24
Frobenius, 38
indusa, 38
urma, 384
nucleu, 29
numar de condit ionare, 98, 384
al unui subspat iu invariant, 354
al valorii proprii, 344
estimare, 100
pentru matrice nepatrate, 178
rutine de calcul, 119
ortogonalitate numerica, 28
ortogonalizare Gram-Schmidt, 161, 169
Ovaluri Cassini, 364
p-norme Schatten, 384
p-sect iune a unei matrice hermitice,
363
Partea antihermitica a unei matrice,
362
Partea hermitica a unei matrice, 362
partit ionare conforma, 43
pas DVS, 401
pas QR, 244
dublu cu deplasare explicita, 251
dublu cu deplasare implicita, 262
simplu cu deplasare explicita, 250
simplu cu deplasare implicita, 254
pas QZ
dublu, 480
simplu, 470
pivot, 74
pivotare
n triangularizarea ortogonala, 192
540 INDEX
completa (n eliminarea gaussiana),
79
completa (n factorizarea cvasi-dia-
gonala), 112
part iala (n eliminarea gaussiana
la nivel de bloc), 88
part iala (n eliminarea gaussiana
pentru matrice banda), 108
part iala (n eliminarea gaussiana),
76, 77
part iala (n factorizarea Crout),
86
part iala (n factorizarea cvasi-dia-
gonala), 113
part iala (n factorizarea LU), 83
plan Lobacevski, 202
polinom caracteristic, 210
al unui fascicol, 446
ponderea operat iilor de nivel 3, 66
precizie, 4
dubla, 7
simpla, 5, 7
precondit ionare, 275
problema CMMP
cu restrict ii liniare, 207
cu restrict ii patratice, 431
cu restrictii liniare, 429
generalizata, 207
ponderata, 187, 207
totala, 422
problema generala CMMP, 197, 421
produs
exterior, 32, 35
matrice-vector, 31
matriceal, 32
scalar, 24
scalar matriceal, 37
program principal (driver), 279
proiect ie
ortogonala, 167, 388
spectrala, 346
proiector, 48
ortogonal, 152, 172, 388
spectral, 346
pseudoinversa, 163, 168, 385
normala, 174, 198
pseudosolut ie, 124, 163
normala, 198, 421
R-bidiagonalizare, 397
ranare iterativa, 105, 187
rang, 30, 193, 369, 383
numeric, 417
raza spectrala, 210
reector, 126
bloc, 158
complex, 139
hermitic, 139, 147
J-reector, 202
modicat, 130, 162
reprezentare W
2
T, 159
reprezentare WY, 158
restrict ia
unei matrice la un subspat iu, 287
unei matrice la un subspat iu in-
variant, 212
unei perechi de matrice la un sub-
spat iu de deat ie, 448
reziduu de norma minima, 124
rotat ie, 134
complexa, 142
hiperbolica, 203
modicata, 404
rotat ii disjuncte, 136
secvent a de rotat ii, 136
rotat ie complexa, 460
Saxpy, 23
scalare, 104, 186
schimbare de baza, 34
secvent a de rotat ii, 149
separarea
spectrelor a doua matrice, 353
valorilor singulare, 414
sistem
extins, 164
normal, 164
solut ie normala, 124, 174
spat iu Minkovski, 202
spectru generalizat, 446
spectrul unei matrice, 210
stabilitate numerica, 13
a algoritmului DVS, 415
INDEX 541
a algoritmului QR, 356
a eliminarii gaussiene, 103
a triangularizarii ortogonale, 184
submatrice
bloc, 42
lider principala, 42
subspat ii liniare, 386
(operat ii cu), 390
subspat iu, 22
complement ortogonal, 26
complementar, 22
de deat ie, 447, 486
dimensiune, 22
invariant, 61, 211, 286
propriu, 211
substitut ie
nainte, 54
napoi, 55
sir QR, 244
sir Sturm, 332
teorema
Bauer-Fike, 348
Courant-Fisher, 219
de separare a valorilor proprii, 221
de separare a valorilor singulare,
412
Gershgorin, 226
Wielandt-Homann, 223
Teorema lui Brauer, 364
Teorema lui Ostrovski, 364
transformare
de asemanare, 60, 214
de asemanare de permutare, 272
de coordonate, 35
elementara, 70
involutiva, 126
Jacobi, 337
QR, 244
triangularizare ortogonala, 147
completa, 196
cu pivotare, 192
la dreapta, 171
urma, 28
valoare proprie, 59, 210
generalizata, 445
valoare proprie dominanta, 233
valori singulare, 371
generalizate, 380, 433
variat ie unghiulara, 414
varianta Hessenberg-Schur (de rezol-
vare a ecuat iei Sylvester), 300
varianta Schur-Schur (de rezolvare a
ecuat iei Sylvester), 300
vector
de deplasare implicita, 399, 468,
476, 479
Gauss, 70
Householder, 126
propriu, 59, 210, 281
propriu al formei Schur, 282
propriu al unei matrice Hessen-
berg, 284
propriu generalizat, 485
unitate, 20
vector propriu
generalizat, 445
vectori Schur, 229, 232
generalizat i, 451, 452
vectori singulari, 371
generalizat i, 380