Sunteți pe pagina 1din 333

Capitolul 4

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

In acest context, vectorii proprii la stanga sunt vectorii nenuli y I C


n
ce satisfac
condit ia
y
H
A = y
H
, (4.7)
unde
H
reprezinta operatorul cumulat de transpunere si conjugare. Aplicand ope-
ratorul
H
relat iei (4.7) obt inem
A
H
y =

y, (4.8)
i.e. vectorii proprii la stanga ai matricei A asociat i valorii proprii sunt vectori
proprii (la dreapta) ai matricei A
H
asociat i valorii proprii

(A
H
). De aici
rezulta
(A
H
) =

(A), (4.9)
adica valorile proprii ale matricei A
H
sunt conjugatele valorilor proprii ale matricei
A.

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

. Daca o este un subspat iu A-invariant cu dimo = p si coloanele matricei


(monice) V = [ v
1
v
2
. . . v
p
] I C
np
formeaza o baza a lui o, atunci exista o matrice
B I C
pp
astfel ncat
AV = V B. (4.12)
Mai mult, avem
(B) (A). (4.13)
(Matricea B se numeste restrict ia matricei A la subspat iul A-invariant o si se
noteaza B = A[o.)

In particular, orice subspat iu A-invariant nenul (i.e. p 1) cont ine un vector


propriu al matricei A. Reciproc, daca are loc o relat ie de forma (4.12), atunci ImV
este un subspat iu A-invariant.
3

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

este evidenta. Pentru a arata 2

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.

In cazul real, din A(v


1
iv
2
) = ( i)(v
1
iv
2
) rezulta
_
Av
1
= v
1
v
2
Av
2
= v
1
+v
2
, i.e. AV = V B cu B =
_


_
. (4.14)
Daca v
1
, v
2
sunt liniar dependent i, atunci v
2
= v
1
cu ,= 0 si din (4.14) rezulta
(1 +
2
)v
1
= 0. Cum ,= 0, obt inem v
1
= 0, de unde v
2
= 0 si x
1,2
= 0, ceea
ce contrazice denit ia vectorilor proprii. Celelalte armat ii se demonstreaza similar
cazului complex. 3
4.1. FORMULAREA PROBLEMEI 213
Exemplul 4.1 Se considera matricea
A =
1
6
_
_
5 25 9
1 5 9
0 24 24
_
_
care are polinomul caracteristic
p() = det(I
3
A) =
3
4
2
+ 6 4
si valorile proprii
1
= 2,
2,3
= 1 i. Vectorii
x
1
def
= v
1
=
_
_
1
1
2
_
_
, x
2,3
def
= v
2
i v
3
=
_
_
5
1
2
_
_
i
_
_
2
2
2
_
_
sunt vectori proprii ai matricei A asociat i valorilor proprii
1
si, respectiv,
2,3
. Fie
V
1
= v
1
si V
23
= [ v
2
v
3
]. Avem urmatoarele relat ii de tipul (4.12) (vericat i!):
AV
1
= V
1
B
1
cu B
1
= 2, AV
23
= V
23
B
23
cu B
23
=
_
1 1
1 1
_
si, prin urmare, o
1
= ImV
1
si o
23
= ImV
23
(vezi g.4.1) sunt subspat ii A-invariante,
$
$
$
$
$
$X
g
g
g
g
d
d
ds

.
.
.
.
.
.
.
.
.
.
.
..
.
.
.
.
.
.
.
.
.
.
..
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\

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.

Intr-adevar, conform teoremei 1.14, daca matricele A, B I C


nn
satisfac o relat ie
de forma (4.15), i.e. sunt asemenea, atunci ele au acelasi spectru
3
(A) = (B) (4.16)
si daca x este un vector propriu al matricei A asociat valorii proprii (A),
atunci vectorul
y = T
1
x (4.17)
este un vector propriu al matricei B, asociat aceleiasi valori proprii.

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 general, structura na a unei matrice, care poate dezvaluita prin


transformari de asemanare corespunzatoare, este data de asa numita forma canonica
Jordan. 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 calculul numeric este mult diminuat de sensibilitatea structurii Jordan la
perturbat ii numerice n elementele matricei init iale, perturbat ii inerente n calcule
efectuate pe un calculator datorita reprezentarii informat iei numerice n virgula
mobila. Acesta este motivul pentru care n toate dezvoltarile numerice se prefera
o structura mult mai robusta si anume forma Schur reala sau complexa prezentata
ntr-una din sect iunile urmatoare
5
.
4.1.4 Valorile proprii ale matricelor simetrice si hermitice
Prezentam n continuare cateva rezultate referitoare la valorile si vectorii proprii
pentru matricele hermitice (simetrice). Matricele hermitice (simetrice) se ntalnesc
n numeroase aplicat ii si prezinta particularitat i remarcabile.
Denit ia 4.4 Fie A I C
nn
. Matricea A se numeste normala daca
A
H
A = AA
H
. (4.19)

In cazul real, matricea A IR


nn
este normala daca
A
T
A = AA
T
. (4.20)

In acest context reamintim ca matricea A se numeste hermitica daca A


H
= A
si simetrica daca A
T
= A. De asemenea, o matrice A I C
nn
se numeste unitara
daca A
H
A = I
n
si ortogonala daca A
T
A = I
n
.
Se constata imediat ca matricele hermitice si cele unitare sunt matrice normale.
Matricele hermitice au proprietatea ca elementele simetrice fat a de diagonala prin-
cipala sunt complex conjugate, i.e. a
ij
= a
ji
, i, j 1 : n, deci elementele diagonale
ale matricelor hermitice sunt reale. O matrice hermitica reala este simetrica. O
matrice unitara reala este ortogonala. Prin urmare matricele reale simetrice sau
ortogonale sunt normale. Exista matrice normale care nu sunt nici simetrice nici
ortogonale, de exemplu A =
_
1 1
1 1
_
.
Prezentam n continuare cateva rezultate fundamentale, urmand ca aspectele
specice legate de calculul efectiv al valorilor si vectorilor proprii pentru matrice
hermitice (simetrice) sa e date n doua sect iuni distincte ( 4.8 si 4.9), iar cele
legate de condit ionare si stabilitate n 4.10 si 4.11.
Teorema 4.1 O matrice nn complexa A este normala daca si numai daca admite
un set complet de n vectori proprii ortogonali, adica exista o matrice unitara Q
I C
nn
ale carei coloane sunt vectori proprii ai matricei A astfel ncat
Q
H
AQ = = diag(
1
,
2
, . . . ,
n
) I C
nn
. (4.21)
5
Algoritmii de reducere la forma canonic a Jordan, prezentat i n unele lucr ari de matematic a
(vezi, e.g. [ XVI ]) nu prezinta interes practic dec at n contextul unor medii de calcul exact. Pentru
detalii privitoare la aspectele numerice si algoritmice ale calculului formei canonice Jordan, vezi
sect iunea 4.7.
216 CAPITOLUL 4. VALORI SI VECTORI PROPRII
Altfel spus, matricele normale sunt matricele unitar diagonalizabile (peste I C).

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

) si, ind generat de vectori proprii asociat i aceleiasi valori proprii,


orice vector nenul din o

este vector propriu al lui A. Pe de alta parte, o

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

, exista o matrice B astfel ncat A


H
Y = Y B,
de unde rezulta A
H
Y z = Y Bz = Y z pentru orice vector propriu z al ei asociat
valorii proprii (B). Prin urmare, notand x = Y z avem A
H
x = x cu
(B) (A
H
). Altfel spus, exista un vector propriu al matricei A
H
cont inut
n o

. Cum tot i vectorii nenuli din o

sunt vectori proprii ai lui A, am aratat ca


matricea normala A si matricea A
H
au (cel put in) un vector propriu comun cont inut
n o

, deci si n o. Mai mult, din Ax = x si A


H
x = x cu acelasi x ,= 0, avem
|x|
2
= x
H
x = x
H
Ax = (A
H
x)
H
x = (x)
H
x = |x|
2
, de unde rezulta =

.
Demonstrat ia lemei este complet a.
Vom construi acum un set complet de vectori proprii ortogonali ai matricei
normale A.
Pasul 1

. 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

complementul sau ortogonal T


1
= o

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

. Presupunem ca am construit un set de k < n vectori proprii ortogonali


x
1
, x
2
, . . . , x
k
ai matricei normale A (si, simultan, ai matricei A
H
). Subspat iul
o
k
= Im[ x
1
x
2
. . . x
k
] este simultan A-invariant si A
H
-invariant. Cu aceleasi argu-
mente, complementul sau ortogonal T
k
= o

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

Daca A este normala, atunci matricele A si A


H
au aceiasi vectori proprii.
2

Daca o este un subspat iu A-invariant, atunci si complementul sau ortogonal


n I C
n
este A-invariant. 3
Teorema 4.2 O matrice n n complexa A este hermitica daca si numai daca
admite un set complet de n vectori proprii ortogonali si toate valorile proprii sunt
reale adica exista o matrice unitara Q, ale carei coloane sunt vectori proprii, astfel
ncat
Q
H
AQ = = diag(
1
,
2
, . . . ,
n
) IR
nn
. (4.22)
Altfel spus, matricele hermitice sunt matricele unitar diagonalizabile cu spectru real.

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

al matricei A este ordonat descrescator, i.e.

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)

Intrucat W este monica, factorizarea QR a matricei



W = Q
H
W =

Q
_
R
0
_
are
matricea superior triunghiulara R I C
(nk)(nk)
nesingulara.

In consecint a, (4.35)
devine
_
R
H
0


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.

Intrucat dimJ = nk, exista un vector x J


S
astfel ncat vectorul y = Q
H
x are
componentele k+1 : n nule (demonstrat i!). Pentru aceasta alegere a lui x avem o
relat ie de forma (4.40)
(x) = x
H
Ax = y
H
y =
k1

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

In sfarsit, cu notat iile utilizate n teorema 4.8, formulam urmatorul rezultat


util, de asemenea, n evaluarea inuent elor perturbat iilor numerice asupra valorilor
proprii ale matricelor hermitice.
4.1. FORMULAREA PROBLEMEI 223
Teorema 4.7 (Wielandt Homann) Daca matricele A, E I C
nn
sunt hermitice,
atunci
n

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

este numarul valorilor proprii negative, n


0
este numarul valorilor proprii
nule si, respectiv, n
+
este numarul valorilor proprii pozitive ale matricei A. De
asemenea, se spune ca doua matrice (hermitice) A, B I C
nn
sunt congruente daca
exista o matrice nesingulara T I C
nn
astfel ncat B = T
H
AT. Rezultatul, datorat
lui Sylvester, are urmatorul enunt .
Teorema 4.8 Doua matrice hermitice congruente au aceeasi inert ie.
Demonstrat ie. Fie A I C
nn
hermitica, B = T
H
AT cu T nesingulara si
k
(A)
o valoare proprie nenula a matricei A. Presupunem ca spectrele matricelor A si B
sunt ordonate descrescator. Conform teoremei Courant-Fisher avem

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

daca si numai daca


x = T
1
Q

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)

In concluzie, n toate cazurile,


k
(A)
k
(B)
k
(A) cu > 0, > 0, i.e.

k
(A) si
k
(B) au acelasi semn. Rezulta ca A si B au aceeasi inert ie. 3

In contextul acestui paragraf este natural sa introducem matricele antihermitice,


respectiv antisimetrice n cazul real.
Denit ia 4.5 Matricea A I C
nn
se numeste antihermitica daca
A
H
= A. (4.62)

In cazul real, matricea A IR


nn
se numeste antisimetrica daca
A
T
= A. (4.63)
O matrice antihermitica are elementele diagonale pur imaginare. Este usor de ob-
servat ca daca matricea complexa A este antihermitica, atunci matricea B = iA
este hermitica.

In consecint a, A este unitar diagonalizabila si are toate valorile
proprii pur imaginare. Matricele antihermitice sunt normale.

In cazul real, o matrice antisimetrica are elementele diagonale nule. Daca A


este antisimetrica, atunci B = iA este o matrice complexa hermitica. Rezulta
ca A este unitar diagonalizabila si are toate valorile proprii pur imaginare. Cum,
n aceasta situat ie, valorile proprii apar n perechi complex conjugate rezulta ca o
matrice antisimetrica de ordin impar are, n mod necesar, o valoare proprie nula,
i.e. este singulara. Evident, o matrice antisimetrica este normala.
Ultimul rezultat pe carel prezentam se refera la valorile si vectorii proprii pentru
matricele unitare si ortogonale.
Teorema 4.9 O matrice nn complexa A este unitara daca si numai daca admite
un set complet de n vectori proprii ortogonali si toate valorile proprii sunt de modul
unitar, adica este unitar diagonalizabila cu spectru unitar, respectiv exista o matrice
unitara Q I C
nn
astfel ncat
Q
H
AQ = = diag(
1
,
2
, . . . ,
n
) cu [
i
[ = 1,
i
. (4.64)

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

Incheiem acest paragraf cu precizarea ca principala proprietate comuna a celor


trei tipuri de matrice ment ionate mai sus, indusa de proprietatea de normalitate,
consta n faptul ca toate admit seturi complete de vectori proprii ortogonali, fapt
care le confera o perfecta condit ionare a spectrelor de valori proprii (v. 4.10).
4.1.5 Localizarea valorilor proprii

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.

In particular, un disc disjunct de celelalte cont ine exact o valoare proprie


10
.

_
`
_
`
_
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
.

In cazul real, i.e. A IR


nn
si A IR
n
, matricea Q poate reala (i.e. ortogo-
nala), iar matricea reala Q
T
AQ are structura (4.72).
Demonstrat ie. Fie Q( : , 1 : p) = X
def
= [x
1
x
2
x
p
] si Y I C
n(np)
o baza
ortogonala a complementului ortogonal } = A

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

. Conform lemei 4.2, daca


1
(A), atunci exista o
matrice unitara Q
1
astfel ncat
S
1
= Q
H
1
AQ
1
=
_
_

1
S
(1)
12
0 S
(1)
22
_
_
,
realizandu-se o deat ie n prima coloana.
Pasul k

. Presupunem ca n primii k 1 pasi am realizat triangularizarea n


primele k 1 coloane prin transformari unitare de asemanare
S
k1
= Q
H
k1
. . . Q
H
2
Q
H
1
AQ
1
Q
2
. . . Q
k1
=
_
_
S
(k1)
11
S
(k1)
12
0 S
(k1)
22
_
_
,
unde S
(k1)
11
I C
(k1)(k1)
este superior triunghiulara. Vom aplica lema 4.2 pentru
a realiza deat ia n coloana k. Pentru aceasta, daca
k
(S
(k1)
22
), atunci exista
o matrice unitara

Q
k
astfel ncat

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

si continuat conform celor prezentate la pasul k

, 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, i = 2 : n, de unde rezulta


lim
k
_

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 .

In continuare prezentam o versiune importanta a metodei puterii inverse care


utilizeaza o deplasare
k
variabila cu pasul k si optimala ntr-un sens precizat.
Conform celor aratate mai sus, deplasarea care asigura cea mai mare viteza de
convergent a este egala cu cea mai buna aproximat ie a unei valori proprii a matricei
A, disponibila la pasul respectiv. O modalitate cu excelente rezultate practice este
aceea n care aceasta aproximat ie se obt ine rezolvand, n sens CMMP, sistemul
supradeterminat
y
(k1)

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 conformitate cu cele prezentate n aceasta sect iune, problema calculului va-


lorilor si vectorilor proprii
13
se poate rezolva astfel:
1. Se calculeaza un vector propriu, utilizand metoda puterii sau me-
toda puterii inverse.
2. Se calculeaza valoarea proprie asociata, utilizand catul Rayleigh.
3. Se aplica procedura de deat ie, punand n evident a valoarea pro-
prie calculata si reducand dimensiunea problemei.
4. Daca nu s-au calculat toate valorile proprii se revine la pasul 1.
Aceasta procedura este elegant exprimata, ntr-o forma implicita, n cadrul unui
algoritm performant, cunoscut n literatura de specialitate sub denumirea de algo-
ritmul QR.
13
In cadrul procedurii de deat ie, este vorba de vectorii proprii ai matricei (reduse) curente
care, de la al doilea pas, nu mai sunt vectori proprii ai matricei init iale. Totusi acesti vectori
proprii pot servi, ulterior, la calculul vectorilor proprii ai matricei init iale (vezi exercit iul 4.49).
4.4. ALGORITMUL QR 239
4.4 Algoritmul QR
Algoritmul QR este, n esent a, o procedura de deat ie iterativa care construieste
(recurent) un sir de matrice unitar asemenea cu matricea init iala, sir care, n condit ii
precizate, este convergent catre forma Schur.

In cazul real se poate impune utilizarea
exclusiva a aritmeticii reale.

In aceasta situat ie termenii sirului sunt matrice orto-
gonal asemenea, iar limita sa este o forma Schur reala a matricei init iale.

In vederea minimizarii efortului de calcul, ntr-o faza preliminara, matricea data


este adusa, prin transformari de asemanare ce implica un numar (teoretic) nit
si (practic) rezonabil de mic de operat ii, la cea mai apropiata structura posibila
de forma Schur (reala). Aceasta structura este forma superior Hessenberg
14
.

In
continuare, structura Hessenberg este conservata de recurent a fazei iterative a algo-
ritmului.

In acest fel, se obt ine o importanta reducere a complexitat ii unei iterat ii
QR, fapt esent ial n economia algoritmului.
Performant ele deosebite ale algoritmului QR se explica atat prin deciziile teore-
tice cum sunt cele referitoare la maximizarea vitezei de convergent a cat si
prin numeroase decizii tehnice de gestionare structurala optima pe parcursul
desfasurarii calculului.

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

Inmult irea la stanga a ma-


B = Hrs(u, , A) IR B IR
nm
tricei A cu reectorul real 4nm
A IR
nm
U1 = In uu
T
/, i.e.
B = U1A.
A IR
mn

Inmult irea la dreapta a ma-


B = Hrd(A, u, ) u IR
n
B IR
mn
tricei A cu reectorul real 4mn
IR U1 = In uu
T
/, i.e.
B = AU1.
u I C
n

Inmult irea la stanga a ma-
B = Hcs(u, , A) IR B I C
nm
tricei A cu reectorul com- 14nm
A I C
nm
plex U1 = In uu
H
/,
i.e. B = U1A.
A I C
mn

Inmult irea la dreapta a ma-


B = Hcd(A, u, ) u I C
n
B I C
mn
tricei A cu reectorul com- 14mn
IR plex U1 = In uu
H
/,
i.e. B = AU1.
b IR
2
Calculul unei rotat ii reale P,
[ b, c, s] = Gr(a) a IR
2
c IR de ordinul 2, astfel ncat 6
s IR (b = P
T
a)(2) = 0.
b I C
2
Calculul unei rotat ii comple-
[ b, c, s] = Gc(a) a I C
2
c IR xe P, de ordinul 2, astfel ncat 18
(b = P
H
a)(2) = 0.
c IR

Inmult irea la stanga a matri-
B = Grs(c, s, A) s IR B IR
2m
cei A cu P
T
, i.e. B = P
T
A, 6m
A IR
2m
unde P este o rotat ie reala
de ordinul 2.
A IR
m2

Inmult irea la dreapta a ma-


B = Grd(A, c, s) c IR B IR
m2
tricei A cu rotat ia reala de 6m
s IR ordinul 2 P, i.e. B = AP.
c IR

Inmult irea la stanga a matri-
B = Gcs(c, s, A) s I C B I C
2m
cei A cu P
H
, i.e. B = P
H
A, 26m
A I C
2m
unde P este o rotat ie comple-
xa de ordinul 2.
A I C
m2

Inmult irea la dreapta a ma-


B = Gcd(A, c, s) c IR B I C
m2
tricei A cu rotat ia complexa 26m
s I C P de ordinul 2, i.e. B = AP.
Tabelul 4.3: Proceduri utilizate pentru scrierea algoritmilor din capitolele 4, 5 si
6. Evaluarea numarului asimptotic de opert ii N
op
s-a efectuat n opi cu numere
reale, pentru operat iile cu numere complexe utilizandu-se echivalarile din nota de
subsol alaturata. Nu au fost incluse eventuale operat ii de scalare pentru evitarea
depasirilor n format virgula mobila.
4.4. ALGORITMUL QR 241
4.4.1 Reducerea la forma superior Hessenberg
Este binecunoscuta teorema conform careia rezolvarea ecuat iilor algebrice generale
de grad superior lui patru nu este posibila printr-o secvent a nita de operat ii arit-
metice (inclusiv extrageri de radical).

Intrucat calculul valorilor proprii este echiva-
lent cu rezolvarea ecuat iei caracteristice, deducem ca nu exista un algoritm di-
rect care sa reduca o matrice data, de ordin superior lui patru, la o forma mai
apropiata de forma Schur decat forma Hessenberg si care, n acelasi timp, sa
conserve valorile proprii.
Posibilitatea reducerii unei matrice A I C
nn
la forma superior Hessenberg, cu
conservarea valorilor proprii, este data de urmatorul rezultat.
Teorema 4.14 Oricare ar matricea A I C
nn
, exista o matrice unitara Q
I C
nn
, calculabila printr-o secvent a nita de operat ii aritmetice, astfel ncat ma-
tricea
H = Q
H
AQ (4.103)
este superior Hessenberg.

In cazul real matricele H si Q sunt reale, i.e. matricea Q este ortogonala.


Demonstrat ie. Vom da o demonstrat ie constructiva bazata pe urmatoarea schema
de calcul
HQ 1. Pentru k = 1 : n 2
1. Se calculeaza un reector elementar (complex) U
k+1
astfel ncat (U
H
k+1
A)(k + 2 : n, k) = 0.
2. A U
H
k+1
A
3. A AU
k+1
care suprascrie matricea A cu matricea
A H = U
H
n1
U
H
3
U
H
2
AU
2
U
3
U
n1
. (4.104)
Notand
Q = U
2
U
3
U
n1
(4.105)
avem Q
H
= U
H
n1
U
H
3
U
H
2
si, n consecint a, (4.104) poate scrisa n forma
(4.103). Ramane de aratat ca schema de calcul de mai sus creaza efectiv o structura
superior Hessenberg. Vom aplica un procedeu bazat pe induct ie nita.
Pasul 1

. Exista un reector elementar (complex) U


2
de ordinul n astfel ncat
(U
H
2
A)(3 : n, 1) = 0 (vezi cap. 3), care realizeaza structura superior Hessenberg n
prima coloana. Matricea U
2
are structura
U
2
=
_
1 0
0

U
2
_
. (4.106)
Prin urmare, postmultiplicarea matricei U
H
2
A cu U
2
nu modica prima coloana a lui
U
H
2
A, i.e. zerourile create n prima coloana a lui U
H
2
A sunt conservate n U
H
2
AU
2
.
242 CAPITOLUL 4. VALORI SI VECTORI PROPRII
Pasul k

. Presupunem ca n cadrul primilor k 1 pasi (k < n 1) am obt inut


o matrice avand o structura superior Hessenberg n primele k 1 coloane:
A A
k
def
= U
H
k
U
H
2
AU
2
U
k
. (4.107)
Acum, exista un reector elementar U
k+1
astfel ncat (U
H
k+1
A)(k + 2: n, k) = 0, i.e.
premultiplicarea cu U
H
k+1
creeaza structura superior Hessenberg n coloana k fara
sa afecteze structura de zerouri din primele k 1 coloane. Mai mult, structura
U
k+1
=
_
I
k
0
0

U
k+1
_
(4.108)
a reectorului utilizat la acest pas, ne asigura, de asemenea, ca postmultiplicarea
cu U
k+1
nu afecteaza nici una din primele k coloane ale matricei (U
H
k+1
A
k
).
Prin urmare, schema de calcul prezentata la nceputul demonstrat iei realizeaza
reducerea matricei date la forma superior Hessenberg prin transformarea unitara
de asemanare (4.104).

In cazul real demonstrat ia este identica cu precizarea ca transformarea ortogo-


nala de asemanare este un produs de reectori reali. Caracterul nit al calculului
este evident. 3
Utilizand procedurile din tabelul 4.3, demonstrat ia de mai sus conduce imediat
la urmatorul algoritm.
Algoritmul 4.3 (HQc Reducerea la forma superior Hessenberg)
(Date o matrice A I C
nn
si o matrice unitara Q I C
nn
, algoritmul
calculeaza o secvent a de reectori (complecsi) U
2
, U
3
, , U
n1
astfel
ncat matricea transformata A H = U
H
n1
U
H
3
U
H
2
AU
2
U
3
U
n1
este n forma superior Hessenberg. Opt ional se calculeaza actualizarea
matricei de transformare, i.e. Q QU
2
U
3
U
n1
. Opt iunea se ex-
prima prin intermediul unei variabile logice opt de tipul sir de caractere
ce poate lua valorile

da

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

) calculeaza, pe loc, reducerea la forma Hessenberg si


creeaza matricea de transformare din (4.104).

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

In continuare, vom arata ca, prin alegerea adecvata a deplasarilor


k
, k =
= 1, 2, . . ., n afara unor situat ii patologice (vezi exemplul 4.4), sirul QR este conver-
gent catre forma Schur (reala). Mai precis, vom arata ca, n primul rand, elementul
extradiagonal al ultimei linii a matricei H
k
se anuleaza asimptotic pentru k .
Mai mult, generic, toate elementele subdiagonale, cu viteze diferite, au tendint a de
anulare. Argumentele sunt urmatoarele.
(i) Cu o alegere adecvata a deplasarilor
k
, sirul QR implementeaza, ntr-o
forma implicita, o versiune a metodei puterii inverse cu deplasare Rayleigh si, n
consecint a, asigura o convergent a patratica a ultimei coloane a matricei de trans-
formare cumulate

Q
k
catre un vector propriu al matricei H
H
ceea ce are ca efect
anularea asimptotica a elementului H
k
(n, n 1).
Pentru a justica aceasta armat ie observam mai ntai faptul ca din relat iile
(4.111), (4.113) si (4.115) rezulta
R
k
= Q
H
k
(

Q
H
k
H

Q
k

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

Intr-adevar, din (4.116), avem

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 concluzie, algoritmul QR cu deplasare explicita este denit, n esent a, de


recurent a (4.110), cu alegerea (4.125) a deplasarii. Avandu-se n vedere structura
superior Hessenberg a tuturor matricelor sirului QR, pentru factorizarea QR se
recomanda utilizarea rotat iilor.

In consecint a, un pas simplu QR cu deplasare
explicita (fara acumularea transformarii) consta n efectuarea urmatoarelor calcule,
pe loc, n spat iul de memorie al matricei H.
1. = h
nn
2. H H I
n
3. Pentru j = 1 : n 1
1. Se determina rotat ia plana (complexa) P
j,j+1
astfel
ncat (P
H
j,j+1
H)
j+1,j
= 0.
2. H P
H
j,j+1
H
4. Pentru j = 1 : n 1
1. H HP
j,j+1
5. H H +I
n
Matricea de transformare curenta este data de
Q
k
= P
12
P
23
P
n1,n
,
iar completarea algoritmului cu acumularea transformarilor (care se face numai n
caz de necesitate) este lasata n sarcina cititorului.
Complexitatea unui pas QR cu deplasare explicita aplicat unei matrice superior
Hessenberg este O(n
2
) algoritmul de mai sus necesitand N 6n
2
opi (complecsi).
Pasul QRde 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 cu deplasare
implicita.
18
Valorile uzuale sunt n jurul lui 10.
19
Numarul de iterat ii la care se ia decizia de lips a de convergent a si de oprire a calculului
este, uzual, ntre 20 si 30.
4.4. ALGORITMUL QR 251
B. Strategia pasilor dubli

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.

Intr-adevar, pasul k produce matricea H


k+1
= Q
H
k
H
k
Q
k
astfel ncat factorizarea
QR din cadrul pasului k + 1 poate scrisa sub forma Q
H
k
H
k
Q
k

k+1
I
n
=
= Q
k+1
R
k+1
.

Inmult ind aceasta relat ie la stanga cu Q
k
, la dreapta cu R
k
si uti-
lizand factorizarea QR din cadrul pasului k, rezulta ca un pas dublu QR este descris
de
_
(H
k

k
I
n
)(H
k

k+1
I
n
) = Q
k
Q
k+1
R
k+1
R
k
H
k+2
= (Q
k
Q
k+1
)
T
H
k
Q
k
Q
k+1
, (4.131)
si implica efectuarea urmatoarelor calcule:
1. Se calculeaza matricea M
def
= H
2
k
s
k
H
k
+p
k
I
n
, unde s
k
=
k
+
k+1
si p
k
=
k

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)

In cazul real, i.e. A IR


nn
si matricele U IR
nn
si V IR
nn
ortogonale,
condit ia (4.136) implica Ue
j
= V e
j
, j = 2 : n, i.e. matricea diagonala din (4.138)
este ortogonala avand
j
1, 1 , j = 2 : n. Daca elementele subdiagonale
corespondente ale matricelor G si H din (4.135) au acelasi semn, atunci (4.136)
implica U = V , i.e transformarea este unic determinata.
Observat ia 4.6 Avand n vedere obiectivele urmarite, putem arma ca, n condi-
t iile teoremei 4.15, matricele H si G sunt esent ial aceleasi.

Intr-adevar, este usor
de constatat ca [h
ij
[ = [g
ij
[ (n cazul real aceasta nseamna h
ij
= g
ij
) pentru tot i
i si j si, prin urmare, distant a (n norma Frobenius) pana la forma Schur cea
mai apropiata a celor doua matrice poate considerata aceeasi. 3
Demonstrat ia teoremei 4.15. Fie W
def
= V
H
U si W = [ w
1
w
2
w
n
] partit ia sa
pe coloane. Atunci, din (4.136), rezulta w
1
= We
1
= e
1
, iar din (4.135) avem
GW = WH relat ie care, scrisa pe coloane, devine
Gw
j
= WH(:, j) =
j

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 ambele situat ii, structura matricei U


1
este
U
1
=
_

U
1
0
0 I
n2
_
, (4.142)
cu

U
1
I C
22
. Vom opta pentru utilizarea rotat iilor, asadar elementele denitorii
c
1
si s
1
ale rotat iei P
12
se obt in cu ajutorul funct iei Gc n cazul complex, respectiv
Gr n cel real (vezi tabelul 4.3) aplicate vectorului de deplasare implicita w.
3. Datorita structurii (4.142) a matricei U
1
alterarea formei Hessenberg prin
calculul matricei B de la instruct iunea 3 are loc numai n pozit ia (3, 1).
4. Matricea B avand un singur element nenul ce altereaza forma superior
Hessenberg, pentru asigurarea ecient ei se impune adaptarea algoritmului HQc
la aceasta situat ie structurala. Concret, putem utiliza o transformare unitara de
asemanare denita de o secvent a de rotat ii (complexe) care elimina elementul nenul
din afara structurii Hessenberg prin deplasarea lui de-a lungul unui traseu paralel
cu diagonala principala. Schema de calcul este urmatoarea:
1. Pentru i = 2 : n1
1. Se calculeaza rotat ia (complexa) P
i,i+1
astfel ncat
(P
H
i,i+1
B)(i+1, i1) = 0.
2. B P
H
i,i+1
B. % Se anuleaza elementul (i+1, i1).
3. B BP
i,i+1
. % Pentru i < n1 apare un element nenul
n pozit ia (i+2, i).
Pentru exemplicare prezentam evolut ia structurala a matricei B n cazul n = 5.

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

matricea succesor n varianta


cu utilizarea pasilor dubli. Urmand etapele din schema de calcul de mai sus avem
urmatoarele particularitat i.
1. Fara a reduce generalitatea, presupunem ca matricea superior triunghiulara
R
k
R
k+1
not
=

R este nesingulara. Atunci prima coloana a matricei de transformare
Q
k
Q
k+1
not
=

Q este
q
1
=

Qe
1
=
1
r
11
_

_
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
.

In acest fel, eliminarea elementelor nenule care altereaza structura Hessenberg se


realizeaza prin deplasarea lor de-a lungul unor trasee paralele cu diagonala prin-
cipala.
Pentru exemplicare prezentam evolut ia structurala a matricei Bn cazul n = 5.
Si aici zerourile nou create au fost marcate cu , alterarile de zerouri au fost
evident iate cu +, iar ncadrarile indica liniile si/sau coloanele afectate de trans-
formarea curenta.
H B = U
T
1
HU
1
=
_

_


+
+ +
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

cat si matricea intermediara B pot suprascrie matricea H, i.e. toate calculele


aferente unui pas dublu QRcu deplasare implicita se pot desfasura pe loc, n tabloul
matricei H.
Din aceleasi rat iuni de organizare corespunzatoare a algoritmului QR pentru
matrice reale si, mai ales, a algoritmului de ordonare a formei Schur reale (vezi
sect iunea 4.6), vom introduce si aici un algoritm distinct de calcul al vectorului de
deplasare implicita asociat unui pas dublu QR.
Algoritmul 4.7 (VD2 Calculul vectorului de deplasare implicita
pentru un pas dublu QR) (Data o matrice superior Hessenberg H
IR
nn
, algoritmul calculeaza vectorul w IR
3
, de deplasare implicita
pentru un pas dublu QR.)
1. s = h
n1,n1
+h
nn
2. p = h
n1,n1
h
nn
h
n1,n
h
n,n1
3. w =
_
_
h
2
11
+h
12
h
21
sh
11
+p
h
21
(h
11
+h
22
s)
h
21
h
32
_
_
Comentarii. Sintaxa de apel a acestui algoritm va
w = VD2(H),
iar complexitatea sa este, evident, O(1). 3
Cu aceste precizari putem prezenta algoritmul de implementare a unui pas dublu
QR cu deplasare implicita.
266 CAPITOLUL 4. VALORI SI VECTORI PROPRII
Algoritmul 4.8 (IT QR2 Pas dublu QR cu deplasare implicita)
(Date o matrice superior Hessenberg ireductibila H IR
nn
si vectorul
de deplasare implicita w IR
3
, algoritmul suprascrie matricea H cu ma-
tricea succesor H 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
).

In vederea unei scrieri mai concise a algoritmului QR cu deplasare implicita pen-


tru matrice reale, prezentam aici un algoritm preliminar care proceseaza perechea
bloc-diagonala 2 2 aata n pozit ia (k, k + 1).
Algoritmul 4.9 (TRID2 Triangularizarea unui bloc diagonal
2 2) (Data o matrice S IR
nn
n forma cvasisuperior triunghi-
ulara si ntregul k 1 : n1 algoritmul testeaza daca submatricea
S(k : k+1, k : k+1) are valorile proprii reale si, n caz armativ, cal-
culeaza triangularizarea ortogonala a blocului diagonal vizat, rezultatul
suprascriind matricea S. De asemenea, algoritmul returneaza elementele
denitorii c si s ale rotat iei reale calculate.

In caz contrar matricea
S ramane nemodicata si, pentru identicarea acestei situat ii, se re-
turneaza c = 1, s = 0.)
1. c = 1, s = 0
2. = s
k,k
+s
k+1,k+1
, = s
k,k
s
k+1,k+1
s
k,k+1
s
k+1,k
, =
2
4.
3. Daca 0 atunci
1. = ( + sgn()

)/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

, matricea Q ramane nemodicata.)


1. Daca n = 1 atunci return
2. % Reducerea la forma Hessenberg
1. [ A, Q] =HQr(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 [a
i+1,i
[ tol([a
ii
[ +[a
i+1,i+1
[) atunci
1. a
i+1,i
= 0
2. % Determinarea lui q
1. continu a =

da

2. C^at timp continu a =



da

1. Dac a q n 2 atunci break


2. Dac a a
nq,nq1
= 0
atunci
1. q q + 1
2. cont it = 0
altfel
1. Dac a a
nq1,nq2
= 0
atunci
1. q q + 2
2. cont it = 0
altfel continu a =

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

. Pentru orice matrice ireductibila


29
A IR
nn 30
exista o matrice A
c

IR
nn
astfel ncat |A
c
|
F
= inf
DD
|D
1
AD|
F
.
2

. Se poate construi recurent un sir de matrice (A


k
), diagonal asemenea cu A,
astfel ncat A

= 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

. Oricare ar matricea diagonala nesingulara D


0
sirurile (A
k
) si (B
k
) asociate
matricelor init iale A si, respectiv, B = D
1
0
AD
0
au aceeasi limita A
c
.
Aceste rezultate teoretice nu pot utilizate ca atare ntr-o operat ie de pre-
condit ionare a unei matrice ntrucat nsesi aceste calcule sunt afectate de erorile de
28
Evident, pot utilizate si alte norme matriceale consistente.
29
O matrice A IR
nn
(sau A I C
nn
), n 2 se numeste ireductibil a dac a nu exist a nici o
matrice de permutare P astfel ncat P
T
AP =
_
B C
0 D
_
cu B IR
rr
, 1 r < n.
30
Cazul matricelor complexe se trateaz a analog.
4.4. ALGORITMUL QR 275
rotunjire si, n consecint a, se obt ine o matrice cu un spectru mai robust dar, posibil,
deja afectat de erori de nivel inadmisibil.
T inand seama de aceste observat ii, algoritmii de precondit ionare utilizat i n
practica au drept obiectiv concret o echilibrare cat mai buna a normelor euclidiene
ale liniilor si coloanelor cu acelasi indice prin utilizarea unor matrice de transfor-
mare diagonale care permit efectuarea unor calcule exacten formatul virgula mobila
(FVM) al masinii t inta. Pentru aceasta e baza de numerat ie a FVM utilizat
31
si
T

T mult imea matricelor diagonale de forma D = diag(


1
,
2
, . . . ,
n
),
i

ZZ, i = 1 : n.

Intrucat calculul matricei D
1
AD implica numai operat ii de
nmult ire si mpart ire, aceste calcule se efectueaza exact
32
si precondit ionarea ma-
tricei este efectiv utila pentru mbunatat irea preciziei valorilor si vectorilor proprii
calculat i.
Pentru prezentarea algoritmului de echilibrare consideram matricea A IR
nn
si scriem
A = A
D
+A
0
, unde A
D
= diag(A), (4.163)
i.e. A
0
este matricea elementelor extradiagonale ale lui A. Se constata imediat ca
pentru orice matrice D T avem
D
1
AD = A
D
+D
1
A
0
D, (4.164)
i.e. elementele diagonale nu sunt afectate de transformarile diagonale de asemanare.
Prin urmare, pentru reducerea normei lui D
1
AD este sucient sa act ionam numai
asupra matricei A
0
. Vom presupune n continuare ca matricea A
0
nu are nici o linie
si nici o coloana nule
33
.
Reducerea |D
1
A
0
D|
F
se face iterativ construind sirul A
k
, k = 0, 1, 2, . . . ,
printr-o relat ie recurenta de forma
A
k+1
= D
1
k
A
k
D
k
, (4.165)
cu D
k
T

astfel calculat ncat |A


k+1
|
F
sa e cat mai mica. Vom efectua aceasta
minimizare descompunand matricea D
k
ntr-un produs de matrice diagonale ele-
mentare
D
k
= D
k1
D
k2
D
kn
, (4.166)
cu D
ki
= diag(1, 1, . . . , d
ki
, . . . , 1) cu d
ki
=

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 /

= (m, e ) deci este afectat numai exponentul


care, ind ntreg, se calculeaza exact. Dac a se utilizeaz a un limbaj de programare de nivel nalt
este posibil sa e necesar ca port iunile de cod pentru efectuarea acestor operat ii s a e scrise n
limbaj de asamblare.
33
In caz contrar se foloseste algoritmul de permutare si precondit ionarea se aplic a unei
matrice de ordin redus.
276 CAPITOLUL 4. VALORI SI VECTORI PROPRII

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

4. C^at timp 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.

In unele implementari profesionale ale algoritmului, pentru reducerea efortu-


lui de calcul, n locul echilibrarii normelor euclidiene ale liniilor si coloanelor, se
efectueaza o echilibrare a normelor | |
1
ale acestora. T inand seama de faptul
ca |z| |z|
1


n|z|, o echilibrare a normelor | |
1
are drept consecint a si o
echilibrare, considerata corespunzatoare n aplicat iile curente, a normelor euclidi-
ene.

Intr-un astfel de caz, instruct iunea 4.2.1 se modica adecvat.
Avandu-se n vedere caracterul iterativ, complexitatea algoritmului nu poate
evaluata exact. Totusi, ntrucat majoritatea calculelor se fac practic cu numere
ntregi, se poate aprecia ca ponderea eventualei utilizari a algoritmului de echilibrare
n calculul valorilor proprii este put in semnicativa. 3
Permutare si echilibrare
Algoritmii de permutare si echilibrare se utilizeaza de obicei n tandem, situat ie
n care apar detalii tehnice interesante. Dintre acestea, semnalam posibilitatea
memorarii permutarilor elementare si a elementelor denitorii ale matricei diagonale
D de echilibrare n cadrul aceluiasi vector de ntregi.

Intr-adevar, dupa evident ierea
valorilor proprii izolate, echilibrarea se efectueaza numai asupra blocului diagonal
median A
22
= A(k : l, k : l), i.e.
A D
1
P
T
APD =
_
_
A
11
A
12
D
22
A
13
0 D
1
22
A
22
D
22
D
1
22
A
23
0 0 A
33
_
_
. (4.175)
Prin urmare, pentru memorarea elementelor diagonale se poate utiliza port iunea
din vectorul destinat memorarii permutarilor neafectata de acestea. Tandemul per-
mutare echilibrare poate descris n felul urmator:
Algoritmul 4.13 (ECH Permutare si echilibrare) (Date ma-
tricea A I C
nn
si baza de numerat ie , algoritmul calculeaza ma-
tricea de permutare P si matricea diagonala D
22
(prin puterile bazei
care dau valorile elementelor diagonale ale lui D
22
) astfel ncat matricea
A obt inuta n (4.175) sa aibe submatricele A(1 : k 1, 1 : k 1) si
A(l +1 : n, l +1 : n) superior triunghiulare iar submatricea A(k : l, k : l)
echilibrata. Permutarile sunt memorate n subvectorii d(1 : k 1) si
d(l + 1 : n) iar puterile bazei care denesc elementele diagonale ale
matricei D
22
n subvectorul d(k : l).)
1. [ A, d, k, l ] = (A)
2. Daca l > k
1. [ A(k : l, k : l), d(k : l) ] = ECH(A(k : l, k : l), )
4.4. ALGORITMUL QR 279
2. Pentru i = k : l
1. c
i
= 1
2. Pentru j = 1 : [d
i
[
1. Daca d
i
> 0 atunci
1. c
i
= c
i

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

3. T(: , j) T(: , j)c


5. % Aplicarea algoritmului QR pentru matrice reale
1. [ A(k : l, k : l), Q] = QR2(A(k : l, k : l), I
lk+1
, tol,

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.

In cazul complex, matricea S I C


nn
este superior triunghiulara, iar elementele
sale diagonale sunt valorile proprii ale matricei S. Calculul vectorilor proprii pentru
matricele triunghiulare a fost tratat n capitolul 1 (algoritmul 1.23 TRV).

In cazul real, forma Schur reala S este o matrice cvasi-superior triunghiulara.


Fie structura
S =
_
_
S
11
S
12
S
13
0 S
22
S
23
0 0 S
33
_
_
(4.176)
a matricei S, unde vom considera, pe rand, ca blocul S
22
este un scalar, respectiv
o matrice 2 2 cu valori proprii complex conjugate, iar matricele S
11
IR
n1n1
,
S
33
IR
n3n3
sunt cvasi-superior triunghiulare.

In primul caz, daca = S
22
este o
valoare proprie distincta a matricei S, atunci orice vector de forma
u =
_
_
u
1
1
0
_
_
, (4.177)
unde u
1
este solut ia sistemului liniar cvasi-superior triunghiular
(S
11
I
n1
)u
1
= S
12
(4.178)
si un scalar real nenul, este vector propriu asociat valorii proprii = S
22
.

In cel de
al doilea caz, vectorii proprii asociat i perechii de valori proprii complex conjugate
i ale blocului S
22
se pot considera, la randul lor, ca doi vectori complex
conjugat i u iv, u, v IR
n
. Pentru a ramane n limitele utilizarii aritmeticii reale,
n practica numerica se obisnuieste calculul exclusiv al vectorilor reali u si v ca
solut ie nenula a sistemului omogen, singular, 2n-dimensional
_
S I
n
I
n
I
n
S I
n
_ _
u
v
_
=
_
0
0
_
. (4.179)
Presupunem ca perechea de valori proprii i este distincta si consideram o
partit ie conforma
u =
_
_
u
1
u
2
u
3
_
_
, v =
_
_
v
1
v
2
v
3
_
_
, (4.180)
4.5. CALCULUL VECTORILOR PROPRII 283
a part ilor reala u si imaginara v ale vectorilor proprii asociat i.

Intrucat matricea
_
S
33
I
n3
I
n3
I
n3
S
33
I
n3
_
este nesingulara rezulta u
3
= 0, v
3
= 0. Acum, daca
vectorii bidimensionali u
2
si v
2
formeaza o solut ie nenula a sistemului liniar omogen,
singular, real, de patru ecuat ii cu patru necunoscute,
_
S
22
I
2
I
2
I
2
S
22
I
2
_ _
u
2
v
2
_
=
_
0
0
_
, (4.181)
atunci u
1
, v
1
se calculeaza rezolvand, cu mijloacele clasice, sistemul liniar nesingular
_
S
11
I
n1
I
n1
I
n1
S
11
I
n1
_ _
u
1
v
1
_
=
_
S
12
u
2
S
12
v
2
_
. (4.182)
Pentru calculul unei solut ii nenule a sistemului liniar omogen (4.181) se constata
usor ca, de exemplu, vectorul nenul u
2
IR
2
poate ales arbitrar, e.g. u
2
= [ 1 0 ]
T
,
caz n care vectorul v
2
IR
2
se obt ine rezolvand sistemul liniar, nesingular, de doua
ecuat ii
(S
22
I
2
)v
2
= u
2
. (4.183)
Cu aceste precizari putem prezenta urmatorul algoritm de calcul al vectorilor proprii
ale unei matrice n forma Schur reala.
Algoritmul 4.14 (VPS Calculul vectorilor proprii ai unei ma-
trice n forma Schur reala) (Data matricea S IR
nn
, n forma Schur
reala, cu valori proprii distincte, algoritmul calculeaza un set de vectori
proprii ai matricei S. Vectorii proprii x
j
, asociat i valorilor proprii reale

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 cadrul algoritmului nu are loc o vericare a faptului ca matricea S este n forma


Schur reala. De asemenea, utilizarea matricei vectorilor proprii X se poate face
numai n conjunct ie cu structura blocurilor diagonale ale matricei S, care trebuie
cunoscuta pentru a putea forma vectorii proprii asociat i valorilor proprii complex
conjugate. 3
Calculul vectorilor proprii asociat i valorilor proprii multiple ridica dicultat i
similare celor evident iate n cazul matricelor triunghiulare (v. cap. 1).

Intr-o astfel
de situat ie, n algoritmul VPS, sistemele liniare ce se rezolva devin singulare si
trebuie luate masuri speciale pentru a evita mpart irile cu 0 sau cu numere foarte
mici. O cale de urmat este utilizata n algoritmul de calcul al vectorilor proprii
pentru matrice triunghiulare prezentat n capitolul 1. O alta cale, utilizata, de
exemplu, n [ X], nlocuieste diferent ele
i

j
, apreciate ca ind nule, cu
M
|S|,
erorile introduse de o astfel de decizie ind de nivelul erorilor de calcul.

In orice
caz, calculul vectorilor proprii asociat i valorilor proprii apropiate ridica probleme
datorita relei condit ionari a sistemelor liniare ment ionate.
4.5.2 Calculul vectorilor proprii ai matricelor
superior Hessenberg

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

valoarea proprie asociata vectorului propriu x


2
, i.e. s
22
,
conservand, n acelasi timp, zeroul din pozit ia
21
. Concret, daca P I C
22
este
rotat ia (complexa) care asigura
(P
H
y)(2) = 0, (4.196)
unde y este vectorul denit n (4.195), obt inem (nca un exercit iu pentru cititor)
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)

Incheiem aici comentariile la algoritmul 4.16 si considerat iile privitoare la ordonarea


formei Schur complexe cu ment iunea ca aceste aspecte vor ntalnite si la ordonarea
formei Schur reale. 3
4.6.2 Ordonarea formei Schur reale

In cazul real vom considera partit ia bloc dictata de dimensiunile l


k
l
k
cu l
k
1, 2,
k = 1 : p, ale blocurilor diagonale ale formei Schur reale S = Q
T
AQ a matricei
A IR
nn
S =
_

_
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
).

In cazul n care se prefera utilizarea permutarii inverse =


1
= j
1
, j
2
, . . . , j
p

se poate utiliza o schema de calcul FSR ORD


1
, similara cu FSC ORD
1
,
prezentata n comentariile la algoritmul 4.16.
Si aici, daca se urmareste exclusiv construct ia unei baze unitare pentru un
subspat iu A-invariant asociat unui set simetric de valori proprii denite de k blocuri
diagonale (k < p), este sucient a o ordonare part iala. Adaptarea algoritmului la
aceasta situat ie este similara cu cea din cazul complex (vezi schema FSC ORD p ),
si este propusa ca exercit iu cititorului. 3
4.7 Forma bloc-diagonala
Forma Schur S a unei matrice reale sau complexe A, mpreuna cu matricea orto-
gonala sau unitara Q utilizata pentru obt inerea acesteia, joaca un rol fundamental
n rezolvarea multor probleme concrete care au o legatura mai mult sau mai put in
directa cu conceptele de valori si vectori proprii. Exista nsa si probleme
36
n care
este necesara o descompunere suplimentara a formei Schur, descompunere care sa
ofere informat ii structurale cu semnicat ie mai profunda.
Precizam, de la nceput, ca transformarile de asemanare unitare (ortogonale, n
cazul real) si-au epuizat potent ele n evident ierea formei Schur (ordonate) si orice
alte transformari structurale suplimentare, cu conservarea spectrului, fac apel, n
mod necesar, la transformari de asemanare neunitare (neortogonale).
Posibilitat ile de construct ie a asa numitei forme bloc-diagonale a unei matrice
patrate sunt intim conexate cu existent a si calculul solut iilor unor ecuat ii matriceale
Sylvester asociate. De aceea, consacram paragraful urmator acestei probleme.
4.7.1 Ecuat ia matriceala Sylvester
Consideram date matricele A I C
mm
, B I C
nn
si C I C
mn
. Ecuat ia matriceala
liniara
AX XB = C, (4.203)
36
Amintim, n acest sens, problemele de descompunere spectral a a sistemelor dinamice liniare
n care se urmareste obt inerea unor submatrice decuplate cu spectre av and propriet at i specice.
De asemenea, forma bloc diagonala este util a n calculul funct iilor de matrice.
4.7. FORMA BLOC-DIAGONAL

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

condit ia (4.211) este echivalenta cu (4.204). Aceasta observat iencheie demonstrat ia


teoremei. 3
Structura bloc-inferior triunghiulara a sistemului (4.210) mpreuna cu structura
superior triunghiulara a blocurilor diagonale fac ca rezolvarea sistemului (4.210) sa
e posibila prin rezolvarea sistemelor
(S t
jj
I
m
)y
j
= c
j
+
j1

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

In cazul uzual, n care datele de intrare, i.e. matricele A, B si C, sunt reale


solut ia X este reala si toate calculele se pot efectua ntr-o aritmetica reala. Pentru
aceasta, n locul formei Schur complexe se utilizeaza reducerea la forma Schur reala.
Ne propunem mai ntai sa rezolvam ecuat ia Sylvester
SY Y T = C, (4.215)
n care matricele S IR
mm
si T IR
nn
au structuri cvasi-superior triunghiulare
(i.e. cu blocurile diagonale de ordin cel mult 2)
S =
_

_
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

. Presupunem ca la primii k 1 pasi am realizat bloc-diagonalizarea


din primele bloc linii, i.e.
T T
(k1)
= X
1
k1
X
1
2
X
1
1
TX
1
X
2
X
k1
=
_
_

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

poate continuata astfel ncat, dupa q 1 pasi, matricea


T T
(q1)
= X
1
q1
X
1
2
X
1
1
TX
1
X
2
X
q1
= X
1
TX (4.237)
este bloc-diagonala, unde
X = X
1
X
2
X
q1
(4.238)
este o matrice unitar bloc superior triunghiulara (ca produs de matrice unitar bloc
superior triunghiulare). Demonstrat ia este completa. 3
Conform demonstrat iei de mai sus, schema de calcul pentru bloc-diagonalizarea
unei matrice bloc superior triunghiulare
42
, care satisface condit iile (4.231), este
urmatoarea:
1. X = I
n
2. Pentru k = 1 : q 1
1. Se calculeaza solut ia

X
k,k+1
a ecuat iei Sylvester (4.234).
2. Se anuleaza blocurile extradiagonale de pe bloc-linia k pe baza
relat iei (4.235).
3. X = XX
k
unde X
k
este denita de (4.236).
Aceasta schema de calcul se poate detalia prin rezolvarea ecuat iei Sylvester (4.234)
pe blocuri.

Intr-adevar, e partit ia

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.

In primul rand este evident faptul ca o abordare procedurala naturala a construc-


t iei formei canonice Jordan a unei matrice A I C
nn
presupune ca o prima etapa,
decisiva, calculul formei formei Schur ordonate si, pe aceasta baza, a formei bloc-
diagonale (prezentate n sect iunile precedente) n care ecare bloc diagonal core-
spunde unei valori proprii distincte a matricei init iale si, prin urmare, are ordinul
dat de multiplicitatea algebrica a valorii proprii respective. De asemenea, amintim
ca, n cazul complex, blocurile diagonale sunt matrice superior triunghiulare.

In consecint a, problema se reduce, de fapt, la calculul formei canonice Jordan a


unui bloc diagonal al formei bloc diagonale, i.e. a unei matrice (utilizam din nou
notat iile generice) A I C
nn
de forma
A = I
n
+N, (4.242)
unde N I C
nn
este o matrice strict superior triunghiulara. Mai mult, ntrucat
T
1
AT = I
n
+ T
1
NT, este sucient sa construim forma canonica Jordan a
matricei strict superior triunghiulare N.
Fie
J = T
1
NT = diag( J
1
, J
2
, ... , J
q
), (4.243)
forma canonica Jordan a matricei N, unde celulele Jordan J
k
sunt denite, n acest
caz, de
J
k
=
_

_
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

rezida n reducerea matricei N la o structura bloc supradiagonala.


Pentru a obt ine aceasta structura aplicam matricei N procedura de triangularizare
unitara (ortogonala) completa [ N
1
, Q
1
, Z
1
, r
1
] = QRC12(N). Rezulta
Q
H
1
NZ
1
= R =
m1=1
..
r1
..
_
0 R
1
0 0
_
r
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

are ca obiect introducerea zerourilor n blocurile supradiagonale K


i1,i
.
Pentru claritate, descriem modalitatea n care acest obiectiv poate atins n cazul
particular s = 3. Consideram descompunerea unitara completa a blocului K
23
[

K
23
, Q
23
, Z
23
,
3
] = QRC21(K
23
), cu care obt inem

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 cazul general, procesul descris mai sus, poate sintetizat n urmatoarea


schema de calcul.
Pentru i = s : 1 : 2
1. [

K
i1,i
, Q
i1,i
, Z
i1,i
,
i
] = QRC21(K
i1,i
)
2. K
i1,i

_
0
i1
I
i
_
3. Daca i > 2 atunci
1. K
i2,i1
K
i2,i1
Q
i1,i
.
Observat ia 4.9 Punerea n evident a a matricelor unitate din structura creata cu
schema de calcul are n vedere obt inerea formei canonice Jordan uzuale. T inand
seama nsa de faptul ca esent a structurala a formei Jordan rezida n dimensiunile
celulelor Jordan, se poate oferi un plus de informat ie dacan locul matricelor unitate
se lasa matricele diagonale construite cu elementele diagonale ale matricelor R
i1,i
(sau cu valorile singulare (v. cap. 5) ale matricelor K
i1,i
curente).

In acest fel
se poate pune n evident a o eventuala fragilitate numerica a unor celule datorata
valorilor prea mici ale unora dintre elementele diagonale amintite. 3
Etapa 3

consta n transformari de asemanare tip permutare pentru a pune


n lumina celulele Jordan de dimensiuni corespunzatoare si pentru eventuala lor
ordonare. Lasamn seama cititorului aceasta sarcina.

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.

In continuare vom trece n revista principalele aspecte ale algoritmului QR si-


metric. Atat pentru acest algoritm, cat si pentru metodele alternative ment ionate,
47
Rezultatele stabilite n continuare pentru matricele reale simetrice r am an valabile, cu mici
adaptari, pentru matricele complexe A I C
nn
hermitice. Formularea exact a a unor rezultate
si prezentarea aspectelor algoritmice specice fac obiectul paragrafului 4.8.5 precum si al unor
exercit ii.
4.8. ALGORITMUL QR SIMETRIC 315
se obt ine un spor esent ial de ecient a prin parcurgerea prealabila a fazei directe a al-
goritmului QR, i.e. reducerea matricei date la forma superior Hessenberg. Datorita
conservarii simetriei la transformarile ortogonale de asemanare, structura superior
Hessenberg obt inuta este, simultan, inferior Hessenberg, i.e. devine o structura
tridiagonala.
4.8.1 Reducerea la forma tridiagonala
Baza teoretica a posibilitat ii de reducere la forma tridiagonala a unei matrice si-
metrice este data de teorema 4.14, care, n noul context, are urmatorul enunt .
Teorema 4.19 Oricare ar matricea simetrica A IR
nn
, exista o matrice orto-
gonala Q IR
nn
astfel ncat matricea
T = Q
T
AQ (4.266)
este tridiagonala, i.e. t
ij
= 0, pentru tot i i, j, cu [i j[ > 1.
Demonstrat ie. Demonstrat ia se reduce la observat ia de mai sus ca, n conformitate
cu teorema 4.14, exista o matrice ortogonala Q astfel ncat matricea T
not
= H =
= Q
T
AQ este superior Hessenberg si la faptul ca aceasta matrice este simetrica
T
T
= Q
T
A
T
Q = Q
T
AQ = T. Prin urmare T este, simultan, inferior Hessenberg,
i.e. este o matrice tridiagonala. 3
Pentru a elabora un algoritm performant, care sa exploateze eventualele facilitat i
calculatorii induse de conservarea simetriei, reamintim schema de calcul care sta la
baza reducerii la forma Hessenberg, aceeasi cu schema de calcul pentru reducerea
la forma tridiagonala.
TQ 1. Pentru k = 1 : n 2
1. Se calculeaza un reector elementar U
k+1
astfel ncat
(U
k+1
A)(k + 2 : n, k) = 0.
2. A (U
k+1
A)U
k+1
% Se anuleaza A(k + 2 : n, k) si, simultan,
datorita conservarii simetriei, se anuleaza
A(k, k + 2 : n).

In urma efectuarii calculelor de mai sus matricea A este suprascrisa cu matricea


A T = Q
T
AQ = U
n1
U
3
U
2
AU
2
U
3
U
n1
, (4.267)
unde, evident,
Q = U
2
U
3
. . . U
n1
. (4.268)
Consideram acum pasul curent k al procesului de tridiagonalizare descris mai sus
si e
A T
(k)
= U
k
U
3
U
2
AU
2
U
3
U
k
=
k1
..
1
..
nk
..
_

_
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.

In consecint a, n (4.273) vom calcula, de exemplu, numai elementele din tri-


unghiul inferior al matricei T
(k+1)
33
. De asemenea, t inand seama de (4.271) si notand,
pentru simplicarea scrierii,
u
k+1
not
= u,
not
=
k+1
,
relat ia (4.273) devine
T
(k+1)
33
= (I
nk

u u
T

) 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

4.8. ALGORITMUL QR SIMETRIC 321


3. % Calculul factorizarii QR a matricei T fara calculul explicit al
matricei Q.
1. h
1
= g
1
2. Pentru i = 1 : n 1
1. [
_
f
i
g
i
_
, c
i
, s
i
] = Gr(
_
f
i
g
i
_
)
2. = h
i
3. h
i
= c
i
h
i
s
i
f
i+1
4. f
i+1
= s
i
+c
i
f
i+1
5. Daca i < n 1
1. h
i+1
= c
i
g
i+1
4. % Calculul produsului RQ
1. Pentru i = 1 : n 1
1. f
i
= c
i
f
i
s
i
h
i
2. g
i
= s
i
f
i+1
3. f
i+1
= c
i
f
i+1
5. % T T +I
n
1. Pentru i = 1 : n
1. f
i
f
i
+
Comentarii. Pentru apelul algoritmului de implementare a unui pas QR simetric
cu deplasare explicita vom utiliza sintaxa
[ f, g, c, s ] = IT QRsim(f, g).
Matricea de transformare curenta este data de
Q = P
12
P
23
P
n1,n
, (4.286)
algoritmul furnizand elementele denitorii pentru cele n 1 rotat ii utilizate pentru
o eventuala acumulare a transformarilor (care se face numai n caz de necesitate).

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

este aceeasi (v. obs. 4.6) cu matricea succesor din cadrul


pasului QR cu deplasare explicita.
Pentru a scrie efectiv algoritmul, vom aduce unele precizari privitoare la punctele
din schema de calcul de mai sus.
1. Daca vectorul g are toate elementele nenule, atunci deplasarea data de
relat ia (4.284) nu este valoare proprie a lui T (demonstrat i!) si, prin urmare, ma-
tricea T I
n
si matricea superior triunghiulara R din (4.281) sunt nesingulare.

In
consecint a, din egalarea primelor coloane ale primei relat ii din (4.281), obt inem
q
1
=
1
r
11
_

_
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.

In acest fel, iterat ia QR se va aplica de fapt blocului T


22
T
22
T

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)

In continuare, intervalul [ , ], cu si din (4.300), va servi drept init ializare


pentru orice demers de calcul al valorilor proprii prin metoda bisect iei. Lasand citi-
torului sarcina codicarii relat iei (4.300), de calcul a scalarilor si , ne marginim
sa precizam sintaxa de apel a procedurii respective
[ , ] = Int(f, g).
Prezentam, n continuare, cateva rezultate care ne vor permite sa decidem daca
o valoare proprie sau un grup de valori proprii se aa sau nu se aa situate ntr-un
interval dat. Fie T
[k]
def
= T(1 : k, 1 : k) submatricea lider principala de ordinul k a
matricei T denita, evident, de vectorii f
[k]
def
= f(1 : k) si g
[k1]
def
= g(1 : k 1).
Denim polinoamele
p
0
() = 1,
p
1
() = det(T
[1]
I
1
) = f
1
,
p
k
() = det(T
[k]
I
k
), k = 2 : n
(4.301)
((1)
k
p
k
() sunt polinoamele caracteristice ale submatricelor T
[k]
).
Pentru k > 2 avem
p
k
() = det
_

_
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

3. Daca q < 0 atunci = 1


4. Pentru i = 2 : n
1. Daca [q[ >
M
atunci q f
i

g
2
i1
q
altfel q f
i

[g
i1
[

M
2. Daca q < 0 atunci + 1

In continuare, vom utiliza procedura de mai sus cu sintaxa de apel


= (f, g, ).
Vom considera acum problema determinarii unei singure valori proprii, mai
precis a valorii proprii
k
, k 1 : n, din spectrul matricei T, presupus ordonat
crescator, respectiv

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.

In esent a, metodele Jacobi construiesc, iterativ, un sir de matrice, ortogonal


asemenea cu matricea init iala, pe baza relat iei de recurent a
A
k+1
= J
T
k
A
k
J
k
, , k = 1, 2, . . . , A
1
= A, (4.316)
unde J
k
sunt rotat ii plane, numite, n acest context, transformari Jacobi, astfel
calculate ncat sa minimizeze norma Frobenius a matricei curente B
k
a elementelor
extradiagonale. Acest sir este convergent, n general mai lent decat sirul QR, catre
forma diagonala, care pune n evident a valorile proprii ale matricei init iale. Calculul
vectorilor proprii este posibil prin acumularea transformarilor.
Pentru simplicarea notat iilor si pentru a evident ia faptul ca toate calculele se
efectueaza pe loc, n locat iile de memorie ale tabloului A, introducem notat iile
A
def
= A
k
, A

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
.

In vederea determinarii rotat iei plane J optimale, reamintim parametrii denitorii


ai acesteia
J(p, q, ) =
_

_
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

In asa numita metoda Jacobi clasica, parametrii p, q se determina astfel ncat a


pq
sa
e elementul extradiagonal de modul maxim al matricei curente. Intuitiv, o astfel
de alegere ar trebui sa asigure o viteza de convergent a superioara, ceea ce nu este
ntotdeauna adevarat. Algoritmul corespunzator, cu criteriul de terminare de tipul
(4.324), arata astfel.
Algoritmul 4.30 (J clasic Diagonalizare iterativa a unei ma-
trice simetrice prin metoda Jacobi clasica) (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 matri-
cei A prin diagonalizarea iterativa cu rotat ii Jacobi care anuleaza, la
pasul curent, elementul extradiagonal de modul maxim. Acumularea
transformarilor Jacobi se efectueaza opt ional. Opt iunea se exprima prin
intermediul unei variabile logice opt care poate lua valorile da sau
nu. Daca opt =

nu

, matricea Q ramane nemodicata.)


1. = 1
2. C^at timp n > tol
1. = 0
2. Pentru i = 2 : n
1. Pentru j = 1 : i 1
4.9. METODE ALTERNATIVE 341
1. Daca [a
ij
[ > atunci
1. = [a
ij
[
2. p j
3. q i
3. [ A, c, s ] = IT J(A, q, p)
4. Daca opt =

da

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

), sunt vectorii proprii ai matricei A init iale,


mai precis coloana Q(:, j) este vector propriu asociat valorii proprii a
jj
din forma
nala a matricei A.
Analiza proprietat ilor de convergent a [ IV] a metodei clasice Jacobi a condus
la concluzia ca n faza init iala convergent a poate considerata ca liniara, dar pe
masura ce numarul iterat iilor creste si elementele extradiagonale scad n modul,
convergent a devine patratica. Metoda Jacobi ciclica are o convergent a patratica.
Desi viteza de convergent a a metodelor tip Jacobi este inferioara celorlalte
metode de calcul al valorilor proprii ale matricelor simetrice (a se vedea convergent a
asimptotic cubica a algoritmului QR simetric sau a metodei bisect iei) totusi, pen-
tru matrice de dimensiuni mai modeste aceste metode se pot dovedi, datorita sim-
plitat ii lor, atractive. Metodele Jacobi reprezinta nsa o alternativa viabila la imple-
mentarea pe echipamentele de calcul paralel, unde un grad superior de paralelism
poate compensa viteza mai redusa de convergent a.
4.10 Condit ionarea valorilor si vectorilor proprii
Precizia rezultatelor unui calcul cu datele init iale afectate de erori, cum sunt erorile
de reprezentare n format virgula mobila, este esent ial inuent ata de sensibilitatea
acestor rezultate la variat ii n datele init iale sau, altfel spus, de condit ionarea pro-
blemei respective (vezi cap. 0). Aprecierea condit ionarii se face n ipoteza unor
calcule exacte, deci este independenta de modul efectiv de calcul.

In continuare
4.10. CONDIT IONARE 343
ne propunem sa abordam cateva aspecte ale problemei sensibilitat ii valorilor si
vectorilor proprii la perturbat ii ale elementelor matricei.
Aprecierea condit ionarii se face, de obicei, prin stabilirea unor margini superioare
pentru variat iile valorilor si vectorilor proprii n raport cu variat iile elementelor
matricei date. Chiar daca aceste margini sunt, de cele mai multe ori, supraevaluate,
ele ofera o imagine foarte utila asupra unor situat ii critice, n care erorile rezultatelor
ies de sub control. Stabilirea evaluarilor privind sensibilitatea valorilor si vectorilor
proprii se bazeaza pe proprietat ile de continuitate ale acestora n raport cu variat iile
elementelor matricei.

Intrucat aceste proprietat i capata un aspect complicat n
cazul valorilor proprii multiple, ne vom margini demersul teoreticn principal asupra
matricelor cu valori proprii distincte, atragand de la nceput atent ia asupra faptului
ca valorile proprii multiple sunt semnicativ mai rau condit ionate decat cele simple.
De asemenea, vom trata distinct cazul matricelor hermitice (n cazul real, simetrice)
care prezinta calitat i cu totul remarcabile din acest punct de vedere.
Proprietat ile de netezime ale dependent elor valorilor proprii simple si ale vecto-
rilor proprii asociat i se pot exprima n felul urmator [ IV]. Fie matricea A I C
nn
si o matrice de perturbat ie E = G, cu IR si G I C
nn
avand |G| = 1, ar-
bitrara dar xata
56
. Daca (A) este o valoare proprie simpla si x I C
n
un
vector propriu asociat, de norma euclidiana unitara (i.e. |x| = 1), atunci exista o
valoare proprie () (A +E) a matricei perturbate F = A +E = A+G cu un
vector propriu asociat x() (de asemenea de norma euclidiana unitara) care admit
urmatoarele dezvoltari n serii de puteri n raport cu :
() = +
1
+
2

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

este mai mare (s

este mai mic) condit ionarea valorii proprii


simple este mai rea, erorile din datele init iale putand amplicate de pana la

ori. Din punct de vedere geometric, n cazul real numarul s

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

, i.e. numerele de condit ionare ale


valorilor proprii simple sunt invariante la transformari unitare de asemanare.
Exemplul 4.9 Fie A =
_

1

0
2
_
IR
22
, cu
1
,=
2
. Atunci este usor de
constatat ca
s
1
= s
2
=
[
1

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).

In nalul acestui paragraf prezentam un rezultat important care permite deni-


rea condit ionarii spectrului unei matrice simple ntr-un context general.
Teorema 4.22 (Bauer-Fike) Fie o matrice diagonalizabila A I C
nn
si V o ma-
trice nesingulara ale carei coloane sunt vectori proprii ai matricei A, i.e. astfel ncat
V
1
AV = = diag(
1
,
2
, . . . ,
n
). Daca E I C
nn
este o matrice de perturbat ie
si o valoare proprie a matricei perturbate (A +E), atunci
e() = min
(A)
[ [
p
(V )|E|
p
, p = 1, 2, , (4.343)
unde
p
(V ) = |V |
p
|V
1
|
p
este numarul de condit ionare la inversare al matricei
V a vectorilor proprii.
57
O dovada certa de profesionalism este ns asi posibilitatea oferit a utilizatorului de a-si evalua
condit ionarea problemelor sale de calcul si, pe aceast a cale, nivelul probabil al erorilor.
348 CAPITOLUL 4. VALORI SI VECTORI PROPRII
Demonstrat ie. Daca (A), atunci min
(A)
[ [ = 0 si, deci, (4.343)
este, evident, satisfacuta. Daca , (A), atunci matricele I
n
A si I
n
sunt
nesingulare, iar matricele I
n
AE si I
n
V
1
EV sunt singulare. Rezulta ca
matricea (I
n
)
1
(I
n
V
1
EV ) = I
n
, unde = (I
n
)
1
V
1
EV ,
este singulara, i.e. exista un vector z, cu |z| = 1, astfel ncat (I
n
)z = 0. De
aici, cu orice norma matriceala consistenta, obt inem
1 = |z| = |z| || |z| = ||.
Pe de alta parte, oricare ar norma matriceala consistenta | |, care ndeplineste
condit ia
|diag(
1
,
2
, . . . ,
n
)| = max
i=1:n
([
i
[),
(n particular | | = | |
p
, p = 1, 2, ) avem
|| |(I
n
)
1
| |V
1
EV )|
max
i=1:n
[
i
[
1
|V
1
| |E| |V | =
1
min
i=1:n
[
i
[
(V )|E|.
Din ultimele doua relat ii rezulta
1
1
min
i=1:n
[
i
[
(V )|E|,
i.e. (4.343) este adevarata, q.e.d. 3

In primul rand remarcam faptul ca n demonstrat ia teoremei Bauer-Fike nu s-a


utilizat ipoteza unor perturbat ii mici, i.e. rezultatul este valabil pentru orice nivel
al perturbat iilor.
Interpretand
e()
|E|
p
ca sensibilitate numerica a (numar de condit ionare al) valorii
proprii pentru care se realizeaza minimul din (4.343) rezulta, pe de o parte, faptul
ca numarul de condit ionare la inversare al matricei vectorilor proprii ai unei matrice
simple este o margine superioara pentru numerele de condit ionare individuale ale
ecarei valori proprii.
Pe de alta parte, putem considera max
(A+E)
e() drept inuent a matricei de
perturbat ie E asupra ntregului spectru a lui A si putem utiliza marginea superioara

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

(A) este minim.

In acest sens avem urmatoarea propozit ie.


Propozit ia 4.4 Valoarea minima a numarului de condit ionare (4.342) pentru
p = 2 este 1 si este atinsa daca matricea A este normala (n particular, hermitica
sau unitara, iar n cazul real simetrica sau ortogonala).
350 CAPITOLUL 4. VALORI SI VECTORI PROPRII
Demonstrat ie. Pentru orice matrice de vectori proprii V 1
A
avem

2
(V ) = |V | |V
1
| |V V
1
| = 1.
Prin urmare si
(2)

(A) 1. Daca matricea A este normala, atunci este unitar


diagonalizabila, respectiv vectorii proprii sunt ortogonali, i.e.
2
(V ) = 1 pentru
tot i V 1
A
. Rezulta
(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)

(A) al spectrului unei matrice.


Demonstrat ie. Conservarea numarului de condit ionare este urmare directa a
conservarii normei euclidiene la transformari unitare.

Intr-adevar, e

A = UAU
H
unde U I C
nn
este unitara, i.e. U
H
U = UU
H
= I
n
. Atunci, daca V este o matrice
arbitrara de vectori proprii liniar independent i ai matricei A,

V = UV este o matrice
(nesingulara) de vectori proprii a matricei

A. Prin urmare,
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)

Intrucat, n ipotezele acceptate, vectorii proprii x


k
, k = 1 : n, formeaza o baza
a spat iului I C
n
, putem scrie z
(k)
1
=

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)

Inmult ind la stanga relat ia (4.347) cu y


H
i
, unde y
i
este vectorul propriu la stanga
asociat valorii proprii
i
, si t inand seama de faptul ca y
H
j
x
i
= 0 pentru j ,= i si
y
H
i
x
i
,= 0 (v. exercit iile 4.8 si 4.9) obt inem

(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)

In sensul celor precizate n preambulul acestei sect iuni, putem considera

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)

Intrucat cadrul propus al lucrarii nu ne ofera mijloacele necesare prezentarii pe larg


a proprietat ilor parametrului de separare sep
59
, vom sugera semnicat ia sa printr-o
particularizare. Fie B = I C o matrice 1 1 si A o matrice normala, i.e. unitar
diagonalizabila (v. teorema 4.1). Atunci, Q
H
AQ = = diag(
1
,
2
, . . . ,
m
) cu Q
o matrice unitara. Avem
sep(A, B) = min
x=0
|(AI
n
)x|
F
|x|
F
= min
x=1
|(AI
n
)x| =
= min
z=1
|( I
n
)z| = min
i=1:m
[
i
[,
i.e. sep(A, B) este efectiv o distant a dintre si spectrul matricei A.

In acest
context, daca B este o matrice de ordinul n si (B) =
1
,
2
, . . . ,
n
denim
distant a absoluta dintre spectrele matricelor A si B prin
gap(A, B)
def
= min
i=1:m
j=1:n
[
i

j
[ (4.355)
lui dintre doi vectori (sau doua subspat ii unidimensionale) este
(U, V) = arccos
min
(U
H
V ),
unde
min
() este valoarea singulara minim a (v. cap. 5) a matricei argument, U este o matrice
ale carei coloane formeaza o baza ortogonal a a subspat iului U si V este o matrice ale c arei coloane
formeaza o baza ortogonala a subspat iului V. O astfel de abordare permite introducerea conceptu-
lui de distant a dintre subspat ii liniare prin dist(U, V) =
_
1
2
min
(U
H
V ) = sin (U, V), concept
util unei tratari cantitative a condit ion arii subspat iilor invariante. Pentru detalii recomand am
consultarea referint ei [ VI ].
59
O exprimare posibila a separarii matricelor A si B, care permite calculul ei cel put in n
principiu, este
sep(A, B) =
min
(In AB
T
Im),
unde
min
() este valoarea singulara minim a (v. cap. 5) a matricei argument, iar Z = X Y este
produsul Kronecker al matricelor X si Y , i.e. matricea bloc [Z
ij
] = [x
ij
Y ].
354 CAPITOLUL 4. VALORI SI VECTORI PROPRII
si distant a relativa prin
gaprel(A, B)
def
= min
i=1:m
j=1:n
[
i

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);

In pachetele profesionale de calcul numeric exista proceduri de estimare rapida


60
a separarii spectrelor.
Revenind la problema condit ionarii vectorilor proprii ai unei matrice A I C
nn
si a subspat iilor sale invariante, precizam ca, la fel ca n cazul valorilor proprii,
aceasta nu este afectata de transformari unitare de asemanare. Prin urmare, fara
a reduce generalitatea, putem considera matricea init iala direct n forma Schur,
eventual ordonata n mod convenabil. Fie, asadar, mult imea de indici J 1 : n si
setul
I
(A) al valorilor proprii de interes. Consideram matricea
S = Q
H
AQ =
_
S
11
S
12
0 S
22
_
I C
nn
, cu S
11
I C
qq
, (S
11
) =
I
(4.357)
si A
I
= ImQ( : , 1 : q) subspat iul A-invariant asociat setului de valori proprii
I
.
Vom nota separarea spectrelor matricelor S
11
si S
22
cu
sep(S
11
, S
22
)
not
= sep
I
.
Condit ionarea subspat iului invariant A
I
, i.e. variat ia unghiulara a acestuia ra-
portata la nivelul perturbat iilor n matricea init iala, se poate aprecia prin numarul
de condit ionare

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

In particular, daca J cont ine un singur element, i.e. J = i numarul

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.

In primul rand, conform teoremei 4.2, o matrice A I C


nn
hermitica este unitar
diagonalizabila si are spectrul real, i.e. exista o matrice unitara Q I C
nn
astfel
ncat Q
H
AQ = = diag(
1
,
2
, . . . ,
n
) IR
nn
. Rezulta ca vectorul propriu
x
i
= Q( : , i), de norma euclidiana unitara, satisface simultan relat ia x
H
i
A =
i
x
H
i
,
i.e. este si vector propriu la st anga asociat aceleiasi valori proprii. Rezulta ca
numerele de condit ionare ale valorilor proprii
i
, denite de (4.331), sunt

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 este aproape unitara n sensul ca

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

este o celula Jordan de ordin n cu elementele


diagonale egale cu . Exista k IN

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

a) are o structura superior Hessenberg si b) este asemenea


cu matricea H.
P 4.56 Se considera matricea bloc superior triunghiulara
A =
_
A11 A12 A13
0 A22 A23
0 0 A33
_
,
cu A22 IR
22
avand valori proprii complexe si distincte de valorile proprii ale matricelor
A11 si A33. Se cere sa se calculeze un subspat iu A-invariant real asociat valorilor proprii
ale matricei A22, i.e. vectorii liniar independent i x1, x2 IR
n
care sa formeze o baza a
acestui subspat iu.
P 4.57 Calculat i valorile si vectorii proprii pentru matricele simetrice A, B si pentru
matricea hermitica C, unde
A =
_
1 2
2 3
_
, B =
_
1 2 3
2 4 5
3 5 6
_
, C =
_
1 1 + i i
1 i 2 1 i
i 1 + i 3
_
.
Vericat i ca vectorii proprii sunt ortogonali.
P 4.58 Fie o matrice hermitica A = A
H
I C
nn
. Adaptat i algoritmul TQ pentru
tridiagonalizarea unitara a matricei A astfel ncat matricea T = Q
H
AQ sa e tridiagonala,
simetrica si reala.
4.13. PROBLEME 367
P 4.59 Adaptat i algoritmul TQ pentru tridiagonalizarea prin transformari unitare (orto-
gonale) de asemanare a unei matrice antihermitice (antisimetrice) A I C
nn
(A IR
nn
).
P 4.60 a) Se considera matricea H IR
22
cu valori proprii reale si e H
k
not
=
_


_
matricea curenta a sirului QR al matricii H. Utilizand deplasarea
k
= calculat i
matricea succesor H
k+1
. Ce se poate spune despre convergent a sirului QR din examinarea
expresiei elementului H
k+1
(2, 1)?
b) Se considera matricea simetrica T IR
22
si e T
k
not
=
_


_
matricea curenta a
sirului QR simetric al matricii T. Utilizand deplasarea
k
= calculat i matricea succesor
T
k+1
. Ce se poate spune despre convergent a sirului QR simetric din examinarea expresiei
elementelor extradiagonale T
k+1
(1, 2) = T
k+1
(2, 1)?
P 4.61 a) Consideram matricea simetrica A =
_
0 d
d 0
_
, cu d = 0. Calculat i valorile
si vectorii proprii ai matricei A. b) Fie matricea D = diag(d1, d2 . . . , dn), unde di = dj,
i = j, si B =
_
0 D
D 0
_
IR
2n2n
. Scriet i un algoritm pentru calculul valorilor si
vectorilor proprii ai matricei B.
P 4.62 a) Fie T IR
nn
o matrice tridiagonala, simetrica si pozitiv denita. Scriet i si
implementat i urmatorul algoritm iterativ:
1. Pentru k = 1, 2, . . .
1. Se calculeaza factorul Cholesky L al matricei T.
2. T T

= 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

A care difera de A numai prin elementul



A(20, 1) = 0.01. Ce constatat i ?
P 4.70 Se considera matricea superior Hessenberg A IR
nn
A =
_

_
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.

In ceea ce priveste aplicat iile, n cadrul general al matricelor de rang nemaximal,


DVS constituie cel mai bun mijloc numeric de rezolvare a numeroase probleme de
metrica euclidiana cum sunt problema generala a celor mai mici patrate, calculul
bazelor ortogonale pentru subspat ii liniare etc.
5.1 Formularea problemei
5.1.1 Valori singulare. Descompunerea valorilor singulare
Avandn vedere conexiunea intima a descompunerii valorilor singulare cu conceptul
de rang
1
, vom introduce mai ntai denit ia uzuala a not iunii de rang matriceal.
Fie A I C
mn 2
.
1
Unele dintre not iunile utilizate n continuare au fost denite, ntr-un context introductiv, n
capitolul 1. Pentru confortul cititorului, prefer am reluarea acestora n cadrul extins si specializat
al capitolului de fat a.
2
Vom considera cazul, mai general, al matricelor complexe. Particularizarea rezultatelor cu
caracter teoretic pentru matrice reale este imediat a reduc andu-se, practic n toate situat iile, la
nlocuirea operatorului hermitic (i.e. de transpunere si conjugare) cu operatorul de transpunere.

In dezvoltarile algoritmice cazul matricelor reale va tratat distinct.


369
370 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
Denit ia 5.1 Rangul r al matricei A este numarul maxim de coloane liniar inde-
pendente ale lui A, sau, echivalent,
r = rangA = dim(ImA). (5.1)
Se poate arata (vezi cap. 1) ca rangA = rangA
T
si, astfel, orice matrice are
acelasi numar maxim de linii si coloane liniar independente. Deci, rangul unei
matrice A este dimensiunea maxima a unei submatrice nesingulare A(J, ), J =
= i
1
, i
2
, . . . , i
r
, = j
1
, j
2
, . . . , j
r
a lui A.

In vederea elaborarii unor proceduri abile de determinare numerica a rangului


suntem interesat i n denirea transformarilor matriceale pentru care rangul este un
invariant.

In acest sens introducem
Denit ia 5.2 Doua matrice A, B I C
mn
se numesc echivalente daca exista ma-
tricele nesingulare S I C
mm
si T I C
nn
astfel ncat
B = SAT. (5.2)
Daca matricele S si T sunt unitare, atunci vom spune ca A si B sunt unitar echiva-
lente.

In cazul real este sucient sa ne rezumam la matrice de transformare reale.

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.

In cazul real se obt ine acelasi rezultat, cu matricele U si V ortogonale, i.e. cu


vectorii singulari reali.
5.1. FORMULAREA PROBLEMEI 371
Demonstrat ie. Daca A = 0, atunci (5.3)-(5.5) sunt satisfacute de r = 0, U = I
m
,
V = I
n
, = 0. Daca A ,= 0, atunci |A|
2
,= 0 si, folosind tehnica induct iei nite,
vom obt ine matricea cu structura din (5.3) n r pasi.
Pasul 1

. Conform denit iei normei spectrale exista un vector de norma euclidia-


na unitara v
1
I C
n
, pentru care |A|
2
= max
x2=1
|Ax|
2
= |Av
1
|
2
si e u
1
I C
m
denit de u
1
=
Av
1
|A|
2
avand, evident, |u
1
|
2
= 1. Fie, acum,

U
1
I C
m(m1)
si

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

. Presupunem ca n primii k 1 pasi ai procedurii de diagonalizare am


obt inut

(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
.

In concluzie, procedura de diagonalizare poate init iata si apoi continuata.


Astfel, e vom obt ine B
r
= 0 pentru r < p, e procedura se va incheia cu r = p =
= min(m, n), i.e.

(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.

In gura 5.1 sunt reprezentate elipsele c


A
si c
B
pentru matricele A, de mai sus, si
5.1. FORMULAREA PROBLEMEI 373
&%
'$
&%
'$
'
&
$
%
#
"

`
>
>

>
>

/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/

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

Fig. 5.1: O interpretare geometrica a valorilor singulare


B = A
T
. De remarcat faptul ca c
A
include si punctele interioare ale elipsei n timp
ce c
B
cuprinde numai punctele de pe frontiera. 3
Fie o matrice A I C
mn
cu rangA = r si DVS A = UV
H
.

In continuare vom
utiliza intensiv urmatoarele notat ii ce denesc partit ii ale matricelor de transformare
U si V induse de structura matricei .
U
1
def
= U( : , 1: r), U
2
def
= U( : , r+1: m),
V
1
def
= V ( : , 1: r), V
2
def
= V ( : , r+1: n).
(5.13)
Prezentam doua consecint e imediate ale teoremei 5.1.
Corolar 5.1 Orice matrice A I C
mn
poate scrisa ca suma de produse externe de
vectori singulari ponderate cu valorile singulare, i.e. cu notat iile (5.13) avem
A = U
1

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.

In primul rand, valorile singulare ale unei matrice A I C


mn
, ind radacinile
patrate pozitive ale valorilor proprii ordonate ale matricelor A
H
A sau AA
H
, sunt
unic determinate.

In ceea ce priveste unicitatea matricelor de transformare este sucient sa ne


marginim la cazul
4
m n.
Daca cele m valori singulare sunt distincte, atunci sunt distincte si valorile pro-
prii ale matricei hermitice AA
H
.

In aceasta situat ie, coloanele matricei de trans-
formare U, ind vectori proprii de norma euclidiana unitara ai matricei AA
H
, sunt
determinate pana la multiplicarea cu numere complexe de modul unitar. Cu alte
cuvinte, n condit iile ment ionate, matricea U este determinata pana la o postmul-
tiplicare cu o matrice diagonala m m cu elementele diagonale de modul unitar,
i.e. daca avem doua DVS
A = U
1
V
H
1
= U
2
V
H
2
,
4
Cazul matricelor cu m n se reduce la cel analizat dac a n locul matricei A se consider a
matricea A
H
I C
nm
. Daca A = UV
H
este o DVS a lui A, atunci A
H
= V
T
U
H
este o DVS
a matricei A
H
.
376 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
atunci
U
2
= U
1
D cu D = diag(e
i1
, e
i2
, . . . , e
im
),
j
IR, j = 1: m.
(

In cazul real, cu matrice de transformare reale, matricea U este determinata, evi-


dent, pana la semnul coloanelor sale.)
Daca m = n, A este nesingulara si U este xata, atunci matricea este nesin-
gulara si V este unic determinata de V =
1
U
H
A.
Daca m < n, atunci are (cel put in) ultimele n m coloane nule si, deci,
ultimele n m coloane ale matricei V sunt date de orice completare pana la o
matrice unitara a primelor m coloane, i.e. n mod sigur matricea V nu este unic
determinata. 3

In continuarea acestei sect iuni introductive prezentam unele generalizari derivate


din conceptul de valori singulare.
5.1.2 Descompunerea polara
Fie A I C
mn
, rangA = r si DVS (5.3) A = UV
H
a lui A. Utilizand notat iile
(5.13) si introducand noile notat ii
S =
_
(1 : n, :) daca m n
(:, 1 : m) daca m n
,
_

U = U(:, 1 : n) daca m n

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

In operarea numerica cu subspat ii liniare se dovedeste a extrem de utila asa numita


descompunere CS
6
(DCS) a matricelor unitare (ortogonale) care, printre altele,
permite introducerea not iunii de distant a dintre subspat ii n cazul multidimensional
si care are conexiuni naturale cu DVS. Introducem DCS prin urmatoarea teorema.
Teorema 5.3 Fie o matrice unitara Q I C
nn
cu urmatoarea partit ie
Q =
_
Q
11
Q
12
Q
21
Q
22
_
, Q
11
I C
kk
, Q
22
I C
ll
, k +l = n. (5.29)
Atunci exista matricele unitare U
1
, V
1
I C
kk
si U
2
, V
2
I C
ll
astfel ncat
W =
_
U
1
0
0 U
2
_
H
_
Q
11
Q
12
Q
21
Q
22
__
V
1
0
0 V
2
_
=
_

_
_
_
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.

In continuare vom presupune ca matricea S este nesingulara


7
. Fie acum matricea
U
21
def
= Q
21
V
1
S
1
care are coloanele ortogonale (vericat i!) si U
22
o completare a
sa pana la o matrice unitara, i.e. astfel ncat matricea U
2
def
= [ U
21
U
22
] I C
ll
sa
e unitara (vezi si observat ia 4.3). Avem
U
H
2
Q
21
V
1
=
_
U
H
21
U
H
22
_
Q
21
V
1
=
_
S
1
V
H
1
Q
H
21
Q
21
V
1
U
H
22
U
21
S
_
=
_
S
0
_
.
Mai departe, matricea

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 continuare vom presupune ca matricea C este nesingulara


8
. Denim matricea
V
2
prin
V
2
def
= Q
H
22
U
2
_
C
1
0
0 I
lk
_
care, n virtutea ultimei relat ii de mai sus, este unitara si
U
H
2
Q
22
V
2
=
_
C 0
0 I
lk
_
.
7
Daca S este singulara, atunci s
1
= s
2
= . . . = sq = 0 pentru un q l si corespunz ator
c
1
= c
2
= . . . = cq = 1.

In acest caz primele q linii si coloane ale matricei

Q sunt e
T
i
respectiv e
i
i = 1 : q care au deja structura din (5.30) si pot separate (pentru detalii suplimentare se poate
consulta si demonstrat ia teoremei ce urmeaz a). Demonstrat ia pentru restul matricei decurge ca
mai sus.
8
Daca C este singulara, atunci cq = c
q+1
= . . . = c
l
= 0 pentru un q 1 si corespunz ator
sq = s
q+1
= . . . = s
l
= 1.

In acest caz se procedeaz a similar cu modul prezentat n nota de picior
precedenta.
5.1. FORMULAREA PROBLEMEI 379

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 k > l = nk se ncepe cu descompunerea valorilor singulare ale blocului


Q
22
, dupa care cursul demonstrat iei este similar cu cel de mai sus.

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
.

In continuare vom proceda similar cu demonstrat ia teoremei 5.3 privitoare la de-


scompunerea CS. Fie Q
1
= U

CZ
H
o DVS a matricei Q
1
unde

C =
_
C
0
_
cu
C = diag(c
1
, c
2
, . . . , c
n
) IR
nn
si, cu argumentele din demonstrat ia teoremei ci-
tate, 1 c
1
c
2
. . . c
n
0. Consideram acum matricea

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)

In nal, datorita nesingularitat ii matricei Z


H
R, din ultima relat ie se obt ine diago-
nalizarea simultana urmarita a matricelor A si B, i.e. U
H
AW =

C si V
H
BW =

S
unde W = R
1
Z. q.e.d.
b) Daca S este singulara (ceea ce se ntampla ntotdeuna daca p < n) demon-
strat ia decurge asemanator. Elementele diagonale ale lui S din (5.37) ind ordonate
crescator, S este singulara numai daca s
1
= . . . = s
l
= 0 pentru un l 1, i.e. (5.37)
se scrie
Z
H
Q
H
2
Q
2
Z = I
n
C
2
def
= S
2
=
_
0 0
0

S
2
_
(5.40)
cu

S = diag(s
l+1
, s
l+2
, . . . , s
n
) nesingulara. Notam X = Q
2
Z I C
pn
si consideram
partit ia X = [ X
1
X
2
] cu X
1
I C
pl
, X
2
I C
p(nl)
. Din (5.40) avemX
H
1
X
1
= 0 de
unde rezulta X
1
= 0. De asemenea, avem X
H
2
X
2
=

S
2
, deci

S
1
X
H
2
X
2

S
1
= I
nl
,
i.e. matricea V
2
def
= X
2

S
1
I C
p(nl)
are coloanele ortogonale. Consideram si aici
doua situat ii.
b1)

In cazul p n, procedand ca mai sus, i.e. completand V
2
cu matricele
V
1
I C
pl
si V
3
I C
p(pn)
pana la o matrice unitara V = [ V
1
V
2
V
3
]
11
putem
scrie

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)

In cazul p < n avem, n mod necesar, l np sau nl p si, prin urmare,


completand matricea cu coloanele ortogonale V
2
cu matricea V
1
I C
p(pn+l)
pana
la o matrice unitara V = [ V
1
V
2
] I C
pp
, obt inem

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

unde, de aceasta data, I C


pp
S = diag(s
np+1
, s
np+2
, . . . , s
n
) cu 0 = s
np+1
=
= . . . = s
l
< s
l+1
s
l+2
. . . s
n
, q.e.d.

In acest caz elementele s
1
= s
2
=
= . . . = s
np
= 0 convent ional introduse nu apar efectiv n structurile matricelor
transformate dar participa la denirea valorilor singulare generalizate innite.
11
Daca V
13
I C
p(pn+l)
este o completare a matricei V
2
p an a la o matrice unitar a, calculat a
n modul uzual (vezi observat ia 4.3), atunci V
1
se obt ine lu and oricare l coloane ale matricei V
13
,
iar V
3
este denita de celelalte p n coloane.
382 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

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

complementul sau orto-


gonal n I C
n
. O matrice P I C
nn
care satisface condit iile
_
y = Px o
z = x y T
, x I C
n
(5.58)
se numeste matrice de proiect ie ortogonala sau proiector ortogonal pe o.
Vectorii y = Px si z = x y se numesc proiect iile ortogonale ale vectorului x
pe o si, respectiv, pe T .
Denit ia de mai sus se particularizeaza n mod natural la subspat ii liniare din
spat iul vectorial IR
n
.
Existent a, unicitatea si principalele proprietat i ale proiectorilor ortogonali sunt
prezentate sub forma unei teoreme.
Teorema 5.7 Oricare ar subspat iul o I C
n
proiectorul ortogonal P exista si este
unic determinat. Daca vectorii v
1
, v
2
, . . . , v
k
formeaza o baza ortogonala a lui o,
atunci proiectorul ortogonal are expresia
P = V V
H
, V
def
= [ v
1
v
2
v
k
] I C
nk
. (5.59)
Matricea de proiect ie ortogonala P este hermitica (simetrica n cazul real), idem-
potenta si coloanele ei genereaza subspat iul o, i.e.
P
H
= P, P
2
= P, ImP = o. (5.60)
Demonstrat ie. Existent a. Daca o = 0, atunci P = 0. Pentru un subspat iu cu
dimo = k 1 exista o baza ortogonala. Vom arata ca matricea P denita de (5.59)
este un proiector ortogonal pe o.

Intr-adevar, y = Px = V V
H
x = V w ImV = o
pentru tot i x I C
n
si daca z = x y, atunci z
H
V = x
H
V x
H
V V
H
V = 0, i.e.
z o sau, echivalent, z 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

. Daca y o, atunci avem si yPy o


5.2. PROBLEME DE CALCUL CONEXE 389
i.e. z o o

= 0. Deci z = 0 sau y = Py, i.e. y ImP. Prin urmare rezulta


o ImP si, datorita incluziunii precedente, ImP = o. 3
Conform acestei teoreme, pentru toate matricele V I C
nk
ale caror coloane
formeaza baze ortogonale ale aceluiasi subspat iu, matricele V V
H
sunt aceleasi.
Proiectorul ortogonal pe I C
n
este P = I
n
. Proiectorul ortogonal pe un subspat iu
unidimensional o = Imv, unde v este un vector nenul din I C
n
, este P =
vv
H
v
H
v
.
Fie A I C
mn
, A = UV
H
si subspat iile fundamentale ImA, KerA
H
din I C
m
,
ImA
H
, KerA din I C
n
. Asa cum am vazut n paragraful precedent, coloanele ma-
tricelor U si V formeaza baze ortogonale pentru toate aceste subspat ii. Utilizand
notat iile (5.13) si relat iile (5.56), (5.57), (5.59) obt inem pentru proiectorii ortogonali
pe cele patru subspat ii ment ionate urmatoarele expresii
P
1
= U
1
U
H
1
= AA
+
proiector ortogonal pe ImA,
P
2
= U
2
U
H
2
= I
m
AA
+
proiector ortogonal pe KerA
H
,
P
3
= V
1
V
H
1
= A
+
A proiector ortogonal pe ImA
H
,
P
4
= V
2
V
H
2
= I
n
A
+
A proiector ortogonal pe KerA,
(5.61)
unde A
+
este pseudoinversa matricei A. Demonstrarea egalitat ilor secunde din
expresiile de mai sus se propune ca exercit iu pentru cititor.
Exemplul 5.2 Consideram matricea
A =
_
_
0.9600 1.2800
0.6912 0.9216
0.2016 0.2688
_
_
care admite o DVS A = UV
T
denita de
U =
_
_
0.8000 0.3600 0.4800
0.5760 0.6848 0.4464
0.1680 0.6336 0.7552
_
_
, =
_
_
2 0
0 0
0 0
_
_
, V =
_
0.6000 0.8000
0.8000 0.6000
_
si are, evident, valorile singulare (A) = 2, 0. Notand cu u
j
= U(:, j), j =
= 1 : 3, si v
j
= V (:, j), j = 1 : 2, coloanele matricelor U si, respectiv, V cele patru
subspat ii denite cu ajutorul matricei A sunt (vezi g. 5.3) ImA = Imu
1
, KerA
T
=
= Im[ u
2
u
3
], din IR
3
, respectiv ImA
T
= Imv
1
, KerA = Imv
2
, din IR
2
. Cei patru
proiectori ortogonali sunt
P
1
= u
1
u
T
1
=
_
_
0.6400 0.4608 0.1344
0.4608 0.3318 0.0968
0.1344 0.0968 0.0282
_
_
,
P
2
= [ u
2
u
3
]
_
u
T
2
u
T
3
_
=
_
_
0.3600 0.4608 0.1344
0.4608 0.6682 0.0968
0.1344 0.0968 0.9718
_
_
,
P
3
= v
1
v
T
1
=
_
0.3600 0.4800
0.4800 0.6400
_
, P
4
= v
2
v
T
2
=
_
0.6400 0.4800
0.4800 0.3600
_
.
390 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
e
e
eu
r
r
rj

`
>
>
>
>
>
>
> >.
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)

Intr-adevar, e.g. daca t ImXV


2X
, atunci pentru un anumit vector u avem t =
= XV
2X
u = Y V
2Y
u, respectiv, cu notat ii evidente, t = Xw = Y z, i.e. t T .
Reciproc, daca t T , atunci t = Xw = Y z pentru anumit i vectori w si z, de
unde Xw + Y z = 0, i.e.
_
w
z
_
KerS = ImV
2
cu V
2
=
_
V
2X
V
2Y
_
. Prin urmare,
_
w
z
_
= V
2
u pentru un anumit u, i.e. w = V
2X
u si z = V
2Y
u, de unde rezulta
t ImXV
2X
si t ImY V
2Y
. Deci, (5.67) este adevarata si poate utilizata pentru
calculul unei baze ortogonale a subspat iului intersect ie conform urmatoarei scheme
de calcul.
A } v2
1. Se calculeaza DVS S = UV
H
a matricei S = [ X Y ]
2. Se calculeaza DVS T =

U

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) =

2.000001, 0.001. Avem


B = A
T
A =
_
1.000001 1
1 1.000001
_
.

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) =

2, 0, i.e. o evaluare cu o precizie mult inferioara celei de


reprezentare. 3
O metoda mai performanta pentru calculul DVS propusa de G.H. Golub si
W. Kahan [30] n 1965 si cunoscuta sub denumirea de algoritm DVS
18
evita
formarea explicita a matricelor B sau C, construind recurent un sir de matrice uni-
tar (ortogonal) echivalente cu matricea A, convergent catre o matrice diagonala.
Calculul DVS al matricei diagonale limita este trivial dupa care, ordonand core-
spunzator elementele diagonale, se obt ine matricea ce deneste DVS a matricei
init iale. Matricele U si V se calculeaza prin acumularea transformarilor. Ideea de
18
In literatura de specialitate de limb a englez a acronimul utilizat este SVD (Singular Value
Decomposition).
394 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
baza a algoritmului DVS consta n faptul ca matricele A
k
, k = 1, 2, . . . ale sirului
DVS au proprietatea ca matricele B
k
= A
H
k
A
k
(n cazul real B
k
= A
T
k
A
k
) formeaza
sirul QR hermitic (simetric) corespunzator, asociat matricei B. De aceea, se spune
ca algoritmul DVS este o varianta mascata a algoritmului QR simetric.
Algoritmul DVS are doua etape.
1. Prima etapa consta n reducerea matricei A, prin transformari unitare (or-
togonale) de echivalent a, la o forma superior bidiagonala J astfel ncat matricea
tridiagonala T = J
H
J sa coincid a cu cea produsa de prima etapa a algoritmului
QR simetric aplicat lui B.
2. Etapa a doua consta n reducerea iterativa a matricei J la forma diagonala
prin anularea asimptotica a elementelor supradiagonale prin transformari unitare
(ortogonale) bilaterale ce corespund pasilor algoritmului QR simetric cu deplasare
implicita aplicat i lui B.
Vom prezenta n continuare detaliile acestui algoritm.
5.3.1 Reducerea la forma bidiagonala
Baza teoretica a primei etape a algoritmului DVS este data de urmatorul rezultat.
Teorema 5.8 Fie o matrice A I C
mn
. Exista matricele unitare U I C
mm
si
V I C
nn
astfel ncat matricea
J = U
H
AV I C
mn
(5.70)
este superior bidiagonala, i.e. J(i, j) = 0, i > j si j > i + 1.

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

. Presupunem ca, dupa primii k 1 pasi, matricea A A


k1
def
=
def
= U
H
k1
. . . U
H
1
AV
2
. . . V
k
este superior bidiagonala n primele k 1 coloane si
primele k 1 linii. Acum, exist a reectorul (complex) U
k
= diag(I
k1
,

U
k
) ast-
fel ncat (U
H
k
A
k1
)(k + 1 : m, k) = 0. Dupa aplicarea reectorului U
k
, ne folosim
de existent a reectorului V
k+1
pentru anularea elementelor (k, k + 2 : n), i.e. astfel
ncat ((U
H
k
A
k1
)V
k+1
)(k, k+2 : n) = 0. Este usor de vazut ca structura reectorilor
19
Daca m < n se poate calcula DVS a matricei G = A
H
. Dac a G = UV
H
, atunci DVS a
matricei A este, evident, A = V
T
U
H
.
5.3. ALGORITMUL DVS 395
utilizat i la acest pas asigura conservarea zerourilor create la pasii precedent i si, prin
urmare, procesul de bidiagonalizare, init iat la pasul 1

, poate continuat.

In nal, dupa p pasi, matricea A este suprascrisa de matricea bidiagonala


A J
def
= A
p
= U
H
p
U
H
2
U
H
1
AV
2
V
3
V
n1
= U
H
AV. (5.71)
Matricele unitare de transformare U si V au, evident, expresiile
U = U
1
U
2
U
p
, V = V
2
V
3
V
n1
. (5.72)
Demonstrat ia este completa. 3

In demonstrat ia teoremei 5.8 s-a scos n evident a faptul ca ntregul proces de


diagonalizare se poate efectua pe loc, n locat iile de memorie ale elementelor matricei
A. Mai mult, asa cum se va vedea mai departe, locat iile elementelor matricei A
pot servi pentru memorarea elementelor denitorii ale matricelor de transformare
utilizate. De asemenea, avandu-se n vedere faptul ca procesul iterativ conserva
structura superior bidiagonala, n continuare vom memora matricea bidiagonala J
numai prin vectorii f I C
n
al elementelor diagonale si g I C
n1
al elementelor
supradiagonale (n cazul m n considerat) conform scrierii
J = U
H
AV =
_

_
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)

In primul rand, aplicabilitatea variantei cu deplasare implicita este condit ionata


de ireductibilitatea matricei T (sau, mai bine zis, iterat ia se aplica numai part ii
ireductibile a matricei T). T inand seama de faptul ca
t
i,i+1
=

f
i
g
i
, t
i+1,i
= f
i
g
i
, i = 1 : n 1, (5.78)
5.3. ALGORITMUL DVS 399
condit ia de ireductibilitate devine
f
i
,= 0, g
i
,= 0, i = 1 : n 1. (5.79)

In conformitate cu cele prezentate n capitolul precedent (vezi sect iunea 4.8),


un pas QR simetric cu deplasare implicita presupune transformarile prezentate
mai jos. Prezentam, n paralel, efectele acestor transformari la nivelul vectorilor f
si g care denesc matricea bidiagonala J, evident iind astfel ideile unui pas DVS
Golub-Kahan.
1. Calculul deplasarii
= t
nn
= [g
n1
[
2
+[f
n
[
2
(5.80)
sau, mai bine, al deplasarii Wilkinson, care este valoarea proprie a matricei
T(n 1 : n, n 1 : n) =
_
[g
n2
[
2
+[f
n1
[
2
f
n1
g
n1
f
n1
g
n1
[g
n1
[
2
+ [f
n
[
2
_
not
=
_


_
(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)

In cazul real, particularizarile se obt in imediat.


2. Se calculeaza matricea unitara U
1
astfel ncat prima sa coloana U
1
e
1
sa coin-
cida cu prima coloana a matricei de transformare care deneste un pas QR simetric
cu deplasare explicita, i.e.
U
1
e
1
=
_

_
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.

In conformitate cu cele prezentate mai sus, o iterat ie DVS este implementata


de urmatorul algoritm.
Algoritmul 5.2 (IT DVSc Un pas DVS Golub-Kahan) (Dat i
vectorii f I C
n
si g I C
n1
care denesc matricea bidiagonala (5.73)
si matricele unitare U I C
mm
si V I C
nn
, algoritmul calculeaza
matricea succesor J J

= Q
H
JQ din sirul DVS, mai exact, noii
vectori f

si g

care suprascriu vectorii f si g. Opt ional, se actualizeaza


matricele U si/sau V . Opt iunea se exprima prin intermediul variabilelor
logice opt
1
si opt
2
, care pot lua valorile logice da si nu. Daca nu se
doreste actualizarea, matricele U si/sau V se returneaza nemodicate.)
1. % Calculul deplasarii Wilkinson
1. = ([g
n2
[
2
+[f
n1
[
2
[g
n1
[
2
[f
n
[
2
)/2
2. = [f
n1
[
2
[g
n1
[
2
3. = [g
n1
[
2
+[f
n
[
2
+

+ sgn()
_

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
_

_
.

In vederea scrierii mai concise a algoritmului DVS vom introduce un algoritm


auxiliar de tratare a zerourilor diagonale, care implementeaza schema de calcul
TZD . Pentru scrierea lui avem nevoie de o procedura de calcul a unei rotat ii
modicate. Concret, rotat ia (complexa) modicata pe care o vom utiliza este
o matrice unitara de ordinul 2 cu structura cunoscuta
P =
_
c s
s c
_
, cu c IR, s I C, c
2
+[s[
2
= 1, (5.93)
care, pentru un vector z I C
2
dat asigura
(P
H
z)(1) = 0. (5.94)
Facand apel la rezultatele stabilite n capitolul 3, nu este greu de vazut ca relat iile de
calcul ale scalarilor c si s, care asigura satisfacerea condit iei (5.94), sunt urmatoarele.
c =
_

_
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

In cazul datelor reale, algoritmul se particularizeaza fara dicultate, utilizand


procedura de calcul a unei rotat ii modicate reale, ment ionata mai sus. Ca atare,
ne marginim la precizarea sintaxei de apel:
[ f, g, U ] = TZDr(f, g, i, U, opt).

In ambele situat ii, utilizandu-se exclusiv transformari unitare, respectiv ortogo-


nale, precizia rezultatelor nu este afectata semnicativ. 3
3. La ecare iterat ie, dupa deciziile de anulare a elementelor supradiagonale
neglijabile si dupa tratarea elementelor diagonale nule, se determina parametrii
structurali p si q astfel ncat matricea J curenta sa poata scrisa sub forma
J =
p
..
npq
..
q
..
_

_
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

, i.e. componentele vectorului f, sunt, n general, complexe. Pentru


a obt ine o matrice diagonala reala cu elementele diagonale nenegative se aplica o
transformare de echivalent a unitara denita de
J

DJ sau J JD, (5.100)
unde

D = diag(D, I
mn
) cu
21
D = diag(d
1
, d
2
, . . . , d
n
), d
i
=
_
_
_
1, daca f
i
= 0

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

5.3. ALGORITMUL DVS 409


5. Daca opt
2
=

da

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.

In primul rand, teoremei 4.3 i corespunde urmatorul rezultat.


Teorema 5.9 Fie A I C
nn
si (A) =
1
,
2
, . . . ,
p
, p = min(m, n), mult imea
valorilor sale singulare. Atunci avem

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

In al doilea rand, avem urmatoarea caracterizare minimax a valorilor singulare


care si are originea n teorema Courant-Fisher (v. 4.1).
Teorema 5.10 Fie A I C
nn
si (A) =
1
,
2
, . . . ,
p
, p = min(m, n), mult imea
valorilor sale singulare. Atunci pentru tot i k 1 : p avem

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

In sfarsit, prezentam corespondentul pentru valorile singulare al teoremei 4.8


(Wielandt-Homann).
Teorema 5.13 Daca A, E I C
mn
si p = min(m, n), atunci
p

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.

Intr-adevar, inegalitat ile (5.106) pot scrise sub forma


[
k
(A +E)
k
(A)[
1
(E) = |E|, (5.109)
unde, evident |E| =
1
(E) este norma spectrala a lui E. Daca privim matricea E
ca o matrice de perturbat ii (sau de incertitudine) n datele init iale, atunci marginea
(5.109) arata ca, n ipoteza unui calcul exact, variat iile absolute ale valorilor sin-
gulare induse de variat iile n elementele matricei nu depasesc norma spectrala a
matricei de perturbare. Desigur, daca ne referim la variat iile relative, valorile sin-
gulare mari sunt avantajate, n timp ce valorile singulare mici pot sa sufere variat ii
relative mari.
414 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE
De asemenea, cum era de asteptat, condit ionarea ntregului ansamblu de valori
singulare, privita ca o norma a vectorului condit ionarilor valorilor singulare, este
cea mai buna posibila.

In sprijinul acestei armat ii vine si teorema 5.13 care arata
ca norma euclidiana a vectorului variat iilor absolute ale valorilor singulare este
inferioara normei Frobenius a matricei variat iilor elementelor matricei init iale.
Exemplul 5.4 Fie matricea A =
_
1.60 0.36 0.48
1.20 0.48 0.64
_
IR
23
ale carei valori
singulare exacte sunt
1
= 2 si
2
= 1. Valorile singulare ale matricei perturbate
F = A+E = A+G =
_
1.60 0.36 0.481
1.20 0.48 0.64
_
, unde = 10
3
, G =
_
0 0 1
0 0 0
_
(cu |G| = |G|
F
= 1), sunt
1
2.0000002,
2
1.0004800. Se observa ca
nici variat iile absolute ale valorilor singulare individuale, nici norma euclidiana a
vectorului lor
_
(
1

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.

In contextul DVS, vom nota separarea unei valori singulare individuale


i
si,
respectiv a setului de valori singulare
I
, de celelalte valori singulare ale aceleiasi
5.5. STABILITATEA ALGORITMULUI DVS 415
matrice, prin
gap
i
def
= min(
i1

i
,
i

i+1
), gap
I
def
= min
iI
jI
[
i

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

1 = k + 1 avem dimJ 1. Exista deci un


vector unitar w J. Avem pe de o parte Xw = 0, iar pe de alta parte exista
z I C
k+1
cu |z|
2
= 1 astfel ncat w = V ( : , 1 : k +1)z =

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 | |

, numarul de condit ionare are expresia

= 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

In lumina teoremei 5.15 putem deni rangul numeric r


F
, n sensul normei ma-
triceale Frobenius, ca ind ce mai mic ntreg k pentru care
min(m,n)

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

= y(r+1 : n). Avem


|b Ax|
2
= |b UV
H
x|
2
= |d y|
2
=
_
|d

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

arbitrar. Dintre tot i vectorii y


care minimizeaza reziduul de mai sus, cel de norma euclidiana minima corespunde
lui 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

este o solut ie a problemei de minimizare (5.127), atunci orice solut ie x

I C
n
a
sistemului Ax = b +r

este (pseudo)solut ie CMMP a sistemului liniar Ax = b.


Un prim pas spre generalizare se poate face impunand o ponderare a patratelor
din expresia |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

) este o solut ie a problemei de minimizare (5.129), atunci orice solut ie


x

a sistemului (A+E

)x = b +r

se numeste (pseudo)solut ie, n sens CMMPT, a


sistemului Ax = b.
Observat ia 5.9 Problema CMMPT (5.129) poate echivalata cu o problema de
minimizare a unei funct ii reale de n variabile, fara restrict ii suplimentare. Pentru
simplitate, consideram cazul real. Privind x IR
n
ca un parametru vectorial,
problema (5.129) poate formulata, ntr-o prima faza, ca o problema de minimizare
cu legaturi: sa se calculeze matricea G

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

(x) ] se obt ine nlo-


cuind

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
.

In consecint a, conform observat iei 5.9, solut ia x

a problemei CMMPT (5.129)


determina acel subspat iu T
x
pentru care suma ponderata a distant elor (n sensul
5.6. APLICAT IILE DVS 425
normei | |
D
) de la punctele z =
_
(A(i, :))
T
b(i)
_
IR
n+1
la punctele cele mai
apropiate ale lui T
x
(vezi (5.136)) este minima. 3
A treia treapta de generalizare o introducem considerand un membru drept
multiplu, i.e. formuland problema CMMPT pentru sistemul liniar matriceal AX =
= B cu B I C
mp
, respectiv problema de minimizare
|CG

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

) este o solut ie a problemei de minimizare (5.137), atunci orice matrice


X

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

. Cu notat iile din (5.139), avem inegalitatea stricta

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

. Conform teoremei 5.11 (de separare a valorilor singulare) avem

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

care minimizeaza expresia (5.137).

In nalul demonstrat iei vom arata ca X

din (5.144) este unica solut ie a sis-


temului (A +E

)X = B +R

care, conform (5.146), poate scris si sub forma


(H +CG

D)D
1
_
X
I
p
_
= 0. (5.150)
Pentru aceasta, din expresia (5.142) a matricei G

si DVS a matricei H rezulta


H +CG

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

. Daca solut ia nu exista sau nu este unica se tipareste un


mesaj, iar elementele tripletului (E

, 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).

In cadrul algoritmului s-au folosit notat iile evidente


i
= (i, i) si
i
= (i, i).
Pentru date de intrare (A, B, C, D) reale algoritmul funct ioneaza ca atare ntrucat
operatorul hermitic se reduce la cel de transpunere. Evident, ntr-un astfel de
caz se utilizeaza, n exclusivitate, o aritmetica reala. Singura problema critica
este rezolvarea sistemului liniar matriceal de la instruct iunea 7 care poate rau
condit ionat daca valorile singulare
n
(H(:, 1 : n)) si
n+1
nu sunt bine separate.
Inversarea matricelor diagonale nu ridica probleme numerice (si nici nu trebuie
efectuata explicit). Complexitatea algoritmului este determinata, n primul rand,
de complexitatea calculului DVS. 3
Daca
n
=
n+1
, CMMPT poate avea solut ii multiple si, ntr-un astfel de caz,
cutuma CMMP este de a calcula solut ia de norma minima. Vom numi aceasta
solut ie CMMPT normala (CMMPTN). Avandu-se n vedere expresia (5.154) a
solut iilor, o norma adecvata este | |
D
denita de |Z|
D
= |D
1
1
ZD
2
| cu care
avem
|X|
2
D
= |V
12
V
1
22
|
2
=
max
(V
H
22
V
H
12
V
12
V
1
22
) =
=
max
(V
H
22
(I
p
V
H
22
V
22
)V
1
22
) =
1
2
min
(V
22
)

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

In cadrul paragrafelor anterioare relative la rezolvarea problemelor de minimizare de


tipul celor mai mici patrate, (pseudo)solut ia era cautata n tot spat iul I C
n
, respectiv
IR
n
n cazul datelor reale.

In cele ce urmeaza vom restrange aria de cautare a solut iei
minimizante la un domeniu nevid A I C
n
care nu coincide cu tot spat iul. Desi ma-
joritatea aplicat iilor de aceasta natura opereaza cu date reale, pentru omogenitatea
tratarii vom considera, ca si pan a acum, cazul, mai general, al datelor complexe.
Cititorul interesat nu va ntampina, cu sigurant a, nici un fel de dicultat i la parti-
cularizarea rezultatelor si a algoritmilor pentru cazul datelor reale.

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

A (daca exista) astfel ncat


|r

|
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

a problemei CMMP cu restrict ii


(5.155), (5.156).)
1. [ Q, R] = FQR(C
H
)
2. Se rezolva sistemul inferior triunghiular nesingular
(R(1 : p, : ))
H
y = d
3. b b AQ( : , 1: p) y
4. z = CMMP(AQ( : , p+1: n), b, tol)
5. x = Q
_
y
z
_
.
Comentarii. Apelul acestui algoritm are sintaxa
x = CMMP RLE(A, b, C, d, tol).
Pentru algoritmul de factorizare QR a se vedea capitolul 3. De asemenea, daca se
stie a priori faptul ca matricea A este monica, atunci rezolvarea problemei CMMP
fara restrict ii se poate face cu mijloacele din capitolul 3. Daca matricea A nu este
monica, se impune utilizarea factorizarii QR cu pivotarea coloanelor sau a DVS.
Algoritmul este numeric stabil iar complexitatea sa este O(n
3
). 3
Observat ia 5.11 Problema CMMP cu restrict ii liniare tip inegalitate se trateaza
utilizand proceduri specice de programare patratica si nu este abordata n aceasta
lucrare. 3
5.6. APLICAT IILE DVS 431
Problema CMMP cu restrict ii patratice
Restrict iile patratice ntalnite n practica problemelor CMMP sunt, n general, de
tip inegalitate avand forma
A = x[ x I C
n
, |Bx d| , (5.162)
unde B I C
pn
, d I C
p
, 0 este un scalar real, iar | | este norma euclidiana.
Evident, daca = 0, atunci restrict iile patratice (5.162) devin restrict ii liniare de
tip egalitate, tratate n paragraful precedent.
Pentru date reale mult imea A este un (hiper)elipsoid n IR
n
. Particularizarile
curente ale restrict iilor (5.162) se obt in pentru d = 0 (n care caz elipsoidul este
centrat n origine) sau pentru B = I
n
(elipsoidul devine o sfera plina, i.e. o bila).

In sfarsit, o categorie importanta o reprezinta restrict iile patratice de tip egalitate


care se obt in nlocuind n (5.162) relat ia de inegalitate cu o relat ie de egalitate si
considerand > 0.
Vom aborda rezolvarea problemei CMMP, denite de (5.155), (5.162), mai ntai
n cazul general, iar apoi n cazul particular al unei bile.
Fie problema CMMP (5.155), (5.162). Avand n vedere faptul ca sunt impli-
cate doua matrice, A si B, apare ca naturala abordarea problemei prin ncercarea
de diagonalizare simultana a celor doua matrice. Instrumentul adecvat este de-
scompunerea valorilor singulare generalizate (DVSG, v. 5.1). Pesupunem KerA
KerB = 0
30
, si, pentru xarea ideilor si notat iilor, p n.

In conformitate cu
teorema 5.4, exista matricele unitare U I C
mm
, V I C
pp
si matricea nesingulara
W I C
nn
astfel ncat
U
H
AW = C =
_
C
1
0
_
, C
1
= diag(c
1
, c
2
, . . . , c
n
) IR
nn
,
V
H
BW = S =
_
S
1
0
_
, S
1
= diag(s
1
, s
2
, . . . , s
n
) IR
nn
,
(5.163)
unde valorile singulare generalizate (c
i
, s
i
) satisfac condit iile c
2
i
+ s
2
i
= 1, i = 1 : n,
si sunt ordonate conform
1 c
1
c
2
. . . c
n
0,
0 s
1
s
2
. . . s
n
1.
(5.164)
T inand seama de faptul ca transformarile unitare conserva norma euclidiana si
notand
W
1
x
def
= y (5.165)
norma reziduului asociat problemei CMMP si restrict ia (5.162) se scriu n forma
echivalenta
|r| = |Ax b| = |UCW
1
x b| = |Cy

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 din (5.181) asigura atingerea minimului absolut al criteriului si, n


acelasi timp, satisface restrict ia patratica (5.170). Prin urmare, 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 =

, care deneste solut ia problemei de extrem cu


legaturi (5.185), se obt ine prin rezolvarea ecuat iei neliniare
33
()
def
= (y())
2
=
nrB

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.

Intrucat, pentru > 0, () este o funct ie descrescatoare (ca suma de funct ii


descrescatoare),
(0) =
nrB

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 =

unica. Calculul solut iei

se face prin metode iterative standard de rezolvare a


ecuat iilor neliniare (cum este metoda Newton, vezi [ XVII ]).

In sfarsit, n acest caz,
solut ia problemei CMMP (5.185) si reziduul aferent sunt
y

= 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 =

> 0 a ecuat iei seculare

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

= y ment ionata este optimala si solut ia problemei init iale este


x

= 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

este solut ia pozitiva a ecuat iei seculare


rA

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

a problemei CMMP cu restrict ii (5.155), (5.194).)


1. [ U, , V ] = DVS(A,

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

a ecuat iei seculare (5.202).


5.6. APLICAT IILE DVS 439
2. Se calculeaza vectorul y

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

. b) Elaborat i un algoritm de calcul al solut iei 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. (

In relat iile de mai


sus s-a utilizat DVS A = UV
H
a matricei A.)
Capitolul 6
Calculul valorilor si
vectorilor proprii generalizat i
Valorile proprii generalizate si vectorii proprii generalizat i asociat i caracterizeaza din
punct de vedere structural perechile de matrice patrate si reprezinta o generalizare
naturala a conceptelor de valoare proprie si vector propriu.
Metoda de calcul a valorilor proprii generalizate care s-a impus reprezinta o
adaptare performanta a algoritmului QR la noul cadru structural.
6.1 Formularea problemei
6.1.1 Valori si vectori proprii generalizat i
Fie matricele patrate A, B I C
nn
. Mult imea de matrice
T = F I C
nn
[ F = A B, I C (6.1)
se numeste fascicol matriceal asociat perechii (A, B)
1
.
Denit ia 6.1 Fie T fascicolul matriceal denit de perechea (A, B) I C
nn
I C
nn
.
Un numar I C se numeste valoare caracteristica a fascicolului T sau, nca, valoare
proprie generalizata a perechii (A, B), daca exista un vector nenul x I C
n
astfel
ncat
Ax = Bx. (6.2)
Orice vector x ,= 0 care satisface (6.2) se numeste vector principal al fascicolului
T sau, nca, vector propriu generalizat al perechii (A, B) asociat valorii proprii
generalizate .
Sistemul liniar omogen (6.2), scris sub forma
(A B)x = 0, (6.3)
1
Fascicolele matriceale se denesc si pentru perechile de matrice nep atrate.
445
446 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZAT I
admite solut ii nenule numai daca matricea sistemului A B este singulara. Prin
urmare, valorile proprii generalizate ale perechii (A, B) sunt zerourile polinomului
p() = det(A B), (6.4)
numit polinomul caracteristic al fascicolului T
2
. Daca matricele A si B sunt reale,
atunci polinomul caracteristic are coecient ii reali si valorile proprii generalizate
complexe apar n perechi complex-conjugate. Multiplicitatea n
i
a radacinii
i
a
polinomului caracteristic se numeste multiplicitate algebrica a valorii proprii gene-
ralizate
i
.
Evident, valorile si vectorii proprii ai matricei A coincid cu corespondent ii lor
generalizat i ai perechii (A, I
n
).
Vom nota cu (A, B) spectrul generalizat, i.e. mult imea valorilor proprii gene-
ralizate ale perechii (A, B).
Prezentam principalele proprietat i ale valorilor si vectorilor proprii generalizat i
sub forma urmatoarei propozit ii.
Propozit ia 6.1 Fie perechea (A, B) I C
nn
I C
nn
.
1

Daca matricea B este nesingulara, atunci gradul polinomului caracteristic


este n, deci numarul valorilor proprii generalizate ale perechii (A, B), incluzand
multiplicitat ile, este egal cu ordinul n al matricelor. Mai mult,
(A, B) = (B
1
A) = (AB
1
). (6.5)
2

Daca (A, B) si ,= 0, atunci


1

(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).

Intr-adevar, sa consideram situat iile:


a) A nesingulara si B = 0, caz n care perechea (A, B) nu are nici o valoare
proprie generalizata;
b) A = diag(A
1
, A
2
), B = diag(B
1
, 0) cu A
1
, B
1
I C
kk
, k = 1 : n 1, si A
2
,
B
1
nesingulare; n acest caz perechea (A, B) are exact k valori proprii generalizate;
c) polinomul caracteristic al fascicolului denit de perechea (A, B) este identic
nul (e.g. A singulara si B = 0), situat ie n care orice numar complex este valoare
proprie generalizata a perechii (A, B).
Aceste situat ii nu sunt exclusive, vezi exemplul de mai jos. 3
2
Ecuat ia p() = 0 se numeste ecuat ia caracteristica a fascicolului F.
6.1. FORMULAREA PROBLEMEI 447
Exemplul 6.1 Perechea de matrice
_
A =
_
1 0
0 3
_
, B =
_
0 0
1 0
__
nu are nici
o valoare proprie generalizata, perechea
_
A =
_
1 2
0 3
_
, B =
_
1 0
0 0
__
are una
singura si orice numar I C este valoare proprie generalizata pentru perechea
_
A =
_
1 2
0 0
_
, B =
_
1 0
0 0
__
. 3
Pentru a elimina cazul nedeterminat, cand toate numerele complexe sunt valori
proprii generalizate, caz care nu poate obiectul unei probleme de calcul, vom
presupune n continuare ca polinomul caracteristic al fascicolului denit de perechea
(A, B) nu este identic nul.

In acest caz fascicolul se numeste regulat
3
. De asemenea,
vom conveni ca un fascicol regulat de ordinul n avand gradul polinomului caracte-
ristic k < n (i.e. avand k valori proprii generalizate nite, nu neaparat distincte)
are n k valori proprii innite
4
. Cu aceasta convent ie, spectrul de valori proprii
(A, B) al unui fascicol regulat de ordinul n va avea ntotdeauna exact n elemente.
Daca matricea B (sau A) este nesingulara fascicolul denit de perechea (A, B)
poate numit nesingular. Un fascicol se numeste hermitic (n cazul real, simetric)
pozitiv denit daca matricele A si B sunt hermitice (simetrice), iar matricea B este
pozitiv denita.
Vectorii proprii generalizat i, introdusi prin denit ia 6.1, satisfac sistemul liniar
omogen singular (6.3). Prin urmare, ecarei valori proprii generalizate nite i
corespunde cel put in un vector propriu. Daca perechea (A, B) este reala, vectorii
proprii generalizat i asociat i valorilor proprii generalizate complex conjugate pot
alesi complex conjugat i. Mult imea vectorilor proprii generalizat i asociat i unei valori
proprii generalizate nite
i
formeaza subspat iul liniar |
i
= Ker(A
i
B) I C
n
a
carui dimensiune
i
constituie multiplicitatea geometrica a lui
i
.
6.1.2 Subspat ii de deat ie
Corespondentul generalizat al conceptului de subspat iu invariant este subspat iul de
deat ie, denit n felul urmator.
Denit ia 6.2 Fie o pereche (A, B) I C
nn
I C
nn
, un subspat iu liniar k-dimen-
sional o din I C
n
si subspat iul liniar
1
def
= Ao +Bo = z I C
n
[ z = Ax +By, cu x, y o.
Subspat iul S se numeste subspat iu de deat ie al perechii (A, B) daca
dim1 dimo. (6.6)
Pentru proprietat ile subspat iilor de deat ie ale fascicolelor de matrice recomandam
consultarea referint ei [ VI ].
3
In caz contrar (i.e. polinomul caracteristic este identic nul sau matricele nu sunt p atrate)
fascicolul se numeste singular.
4
Justicarea acestei convent ii va deveni limpede mai t arziu.
448 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZAT I
Problema de calcul care face obiectul acestui capitol este determinarea valorilor
proprii generalizate ale unui fascicol regulat dat. Problema calculului vectorilor
proprii generalizat i va tratata n subsidiar t inand seama si de faptul ca, n multe
aplicat ii, calculul explicit al acestora poate (si este bine sa e) evitat. Acest
demers calculatoriu se bazeaza n mare masura pe urmatorul rezultat.
Propozit ia 6.2 Fie (A, B) I C
nn
I C
nn
. Daca exista un subspat iu de deat ie
k-dimensional o I C
n
al perechii (A, B), atunci exista matricele unitare Q, Z
I C
nn
astfel ncat
Q
H
AZ =
_
S
11
S
12
0 S
22
_
, Q
H
BZ =
_
T
11
T
12
0 T
22
_
, (6.7)
cu S
11
, T
11
I C
kk
.
Perechea (S
11
, T
11
) se numeste restrict ia perechii (A, B) la subspat iul o.
Demonstrat ie. Fie Z
1
def
= [z
1
z
2
z
k
] o matrice nk ale carei coloane formeaza
o baza ortogonala a subspat iului de deat ie o, Z
2
I C
n(nk)
o completare unitara
a lui Z
1
si Z = [ Z
1
Z
2
]. Fie acum subspat iul 1 = Ao + Bo, a carui dimensiune
r satisface, prin denit ie, condit ia r k , Q
1
o matrice n r ale carei coloane
formeaza o baza ortogonala a acestui subspat iu, Q
2
o completare unitara a lui Q
1
si Q = [ Q
1
Q
2
].

Intrucat Ao 1 si Bo 1 avem Ao ImQ
2
si Bo ImQ
2
, i.e.
Q
H
2
AZ
1
= 0 si Q
H
2
BZ
1
= 0 care, mpreuna cu inegalitatea r k , conduc imediat
la (6.7), q.e.d. 3
Observat ia 6.2 Calculul matricelor unitare de transformare Q si Z este condi-
t ionat esent ial de cunoasterea unei baze a subspat iului de deat ie o.

In cazul n
care se dispune de o baza a lui o, construct ia unei baze ortogonale Z
1
si a unei
completari ortogonale Z
2
(si, similar, a matricei Q) se face dupa recomandarile din
capitolul 3 (vezi si obs. 4.3). 3
6.1.3 Fascicole echivalente
Ca si n cazul valorilor proprii ordinare, suntem interesat i sa evident iem trans-
formarile matriceale care conserva spectrul unui fascicol dat.
Denit ia 6.3 Doua fascicole denite de perechile de matrice (A
1
, B
1
), (A
2
, B
2
)
I C
nn
I C
nn
se numesc echivalente
5
daca exista matricele nesingulare P, R
I C
nn
astfel ncat
A
1
= PA
2
R, B
1
= PB
2
R. (6.8)
Daca matricele de transformare P si R sunt unitare, atunci perechile (A
1
, B
1
) si
(A
2
, B
2
) se numesc unitar echivalente.

In cazul real, daca matricele de transformare
P, R sunt ortogonale, cele doua perechi se numesc ortogonal echivalente.
5
Un fascicol A B poate privit ca o matrice polinomial a. Din acest punct de vedere
echivalent a denita aici coincide cu echivalent a stricta a matricelor polinomiale (vezi [ I ]).
6.1. FORMULAREA PROBLEMEI 449
Proprietatea principala a relat iei de echivalent a a doua fascicole este data de
propozit ia ce urmeaza.
Propozit ia 6.3 Daca perechile (A
1
, B
1
) si (A
2
, B
2
) sunt echivalente n sensul de-
nit iei 6.2, i.e. satisfac (6.8), atunci
(A
1
, B
1
) = (A
2
, B
2
). (6.9)

In plus, daca x este un vector propriu generalizat al perechii (A


1
, B
1
) asociat valorii
proprii generalizate , atunci
y = Rx (6.10)
este un vector propriu generalizat al perechii (A
2
, B
2
) asociat aceleiasi valori proprii.
Demonstrat ie. Daca A
1
= PA
2
R si B
1
= PB
2
R, cu P si R nesingulare, atunci
(A
1
B
1
)x = 0 cu x ,= 0 implica, evident, (A
2
B
2
)Rx = (A
2
B
2
)y = 0 si
y ,= 0, q.e.d. 3
6.1.4 Fascicole hermitice (simetrice).
Fascicole hermitice congruente
Fie perechea de matrice patrate (A, B) I C
nn
I C
nn
care deneste fascicolul
matriceal
T = F = A B [ IR. (6.11)
Vom spune ca fascicolul T este hermitic (n cazul matricelor A si B reale, simetric)
si, echivalent, ca perechea (A, B) este hermitica (simetrica), daca ambele matrice
A si B sunt hermitice (simetrice)
6
. Este usor de vazut ca un fascicol hermitic are
spectrul generalizat o mult ime simetrica (dar nu, n mod necesar, real), iar n cazul
real, un fascicol simetric are spectrul generalizat real.
Daca T este un fascicol hermitic, vom spune ca T este de semn (semi)denit
daca una dintre matricele A sau B este de semn (semi)denit (i.e. pozitiv sau
negativ (semi)denita). Pentru precizare, n continuare, vom spune ca un fascicol
hermitic este pozitiv (negativ) (semi)denit daca matricea B este pozitiv (negativ)
(semi)denita.
Un fapt important pe care dorim sa-l remarcam este acela ca, n general, trans-
formarile de echivalent a, denite n pararagraful anterior, nu conserva nici propri-
etatea de a hermitic (n cazul real, simetria) nici denirea semnului unui fascicol.
De aceea, tehnicile de calcul ale valorilor proprii generalizate si ale vectorilor proprii
generalizat i nu beneciaza de facilitat ile si de dezvoltarile elegante din cazul ordinar
(v. cap. 4).

In acest context, vom interesat i sa denim clasa transformarilor de
echivalent a care conserva proprietat ile ment ionate.
Vom spune ca doua fascicole T
1
si T
2
denite de perechile (A
1
, B
1
) si (A
2
, B
2
)
sunt congruente daca exista o matrice nesingulara T astfel ncat
(A
2
, B
2
) = (T
H
A
1
T, T
H
B
1
T), (6.12)
6
Datorita faptului ca n (6.11) este real, toate matricele dintr-un fascicol hermitic sunt
hermitice.
450 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZAT I
(n cazul real, T se considera reala). Este usor de constatat ca doua fascicole con-
gruente sunt simultan hermitice (n cazul real, simetrice) sau nu, iar doua fascicole
hermitice (simetrice) congruente sunt simultan pozitiv denite sau nu.

In sect iunea
urmatoare vom vedea n ce condit ii un fascicol hermitic poate adus printr-o trans-
formare de congruent a la forma diagonala.

In cazul general, structura na a unei perechi de matrice, care poate dezva-


luita prin transformari de echivalent a corespunzatoare, este data de asa numita
forma canonica Kronecker [ I ]. La fel ca si n cazul formei canonice Jordan, rolul
formei canonice Kronecker n calculul numeric este mult diminuat de sensibilitatea
ei la perturbat ii n elementele matricelor init iale, perturbat ii inerente n aritmetica
n virgula mobila. Acesta este motivul pentru care n toate dezvoltarile numerice
se prefera o structura mult mai robusta si anume forma Schur (complexa sau reala)
generalizata a perechii (A, B) prezentata n continuare.
6.2 Forma Schur generalizata
Transformarile de echivalent a unitare, respectiv ortogonale n cazul real, prezinta
proprietat i numerice remarcabile si, de aceea, sunt utilizate n exclusivitate pentru
calculul performant al valorilor proprii generalizate. Pe de alta parte, structurile
canonice, cum este forma Kronecker, nu se pot obt ine, n general, prin astfel de
transformari. De aceea, ca si n cazul determinarii valorilor proprii ordinare, se
utilizeaza, practic n exclusivitate, structurile triunghiulare sau cvasi-triunghiulare.
Rezultatul principal al acestui paragraf arata ca orice pereche de matrice (A, B)
este unitar echivalenta cu o pereche de matrice triunghiulare numita forma Schur
generalizata. Vom trata distinct cazul perechilor de matrice reale.
6.2.1 Forma Schur generalizata (complexa)
Calculul valorilor proprii generalizate este intim legat de calculul vectorilor proprii
generalizat i asociat i. Daca (A, B) este cunoscuta, atunci vectorul propriu
asociat este o solut ie nenula a unui sistem liniar omogen. Daca se cunoaste un
vector propriu generalizat x al perechii (A, B), cu B nesingulara, atunci valoarea
proprie generalizata asociata poate calculata cu relat ia
7
=
x
H
B
1
Ax
x
H
x
. (6.13)
Daca gradul polinomului caracteristic al fascicolului este superior lui patru, calculul
valorilor proprii generalizate, n absent a cunoasterii vectorilor proprii asociat i, este,
7
O alta relat ie ce poate utilizat a pentru calculul unei valori proprii generalizate nite a unui
fascicol regulat este =
x
H
B
H
Ax
x
H
B
H
Bx
, care exprim a faptul c a este solut ia n sensul celor mai mici
patrate a sistemului Bx = Ax (vezi si exercit iul 6.7).
6.2. FORMA SCHUR GENERALIZAT

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 practica, pentru a se evita introducerea valorilor innite, se recomanda de-


nirea valorilor proprii generalizate prin intermediul perechilor (s
ii
, t
ii
).

In multe
aplicat ii acestea pot utilizate fara a efectua explicit mpart irea din (6.15).
Fie, acum, S
11
= S(1: k , 1: k), T
11
= T(1: k , 1: k) submatricele lider principale
de ordinul k 1 : n ale matricelor superior triunghiulare S si T din (6.14) care
denesc FSG a perechii (A, B). Daca notam Q
1
= Q( : , 1 : k) si Z
1
= Z( : , 1 : k),
atunci din (6.14) avem
AZ
1
= Q
1
S
11
, BZ
1
= Q
1
T
11
.
Fie subspat iul o = ImZ
1
I C
n
.

Intrucat din relat iile de mai sus rezulta Ao ImQ
1
,
Bo ImQ
1
avem
1 = Ao +Bo ImQ
1
.
452 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZAT I
Deci, dim1 k, adica o este un subspat iu de deat ie k-dimensional al perechii
(A, B). Cu alte cuvinte, primele k coloane ale matricei de transformare Z, i.e.
primii k vectori Schur la dreapta ai perechii (A, B), formeaza o baza ortogonala a
subspat iului de deat ie k-dimensional asociat valorilor proprii generalizate denite
de perechile (s
ii
, t
ii
), i = 1 : k.

In acest mod, prin ordonarea corespunzatoare a
elementelor diagonale ale matricelor S si T, se pot construi baze ortogonale pentru
subspat ii de deat ie asociate unor grupuri impuse de valori proprii generalizate (vezi
sect iunea 6.4).
6.2.2 Forma Schur reala generalizata

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.

In forma sa cea mai performanta aceasta procedura este cunoscuta


sub numele de algoritm QZ si este prezentata n sect iunea ce urmeaza.
6.2. FORMA SCHUR GENERALIZAT

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.

In cazul real, toate matricele implicate sunt reale.


Demonstrat ie. Fie [ 0, 1 ] astfel ncat matricea C() este pozitiv semidenita
si este satisfacuta condit ia (6.20).

Intrucat matricea C() este hermitica si pozitiv
semidenita, forma Schur a lui C() este diagonala cu elementele diagonale reale
si nenegative care pot ordonate. Altfel spus, exista o matrice unitara U
1
I C
nn
astfel ncat
U
H
1
C()U
1
=
_
D 0
0 0
_
, D = diag(d
1
, d
2
, . . . , d
k
), d
i
> 0, i = 1 : k. (6.22)
Fie = D
1
2
= diag(

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)

In continuare avem, evident,


KerC() = KerA KerB KerC
1
() = KerA
1
KerB
1
. (6.25)
454 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZAT I
Cum x KerC
1
() implica n mod necesar x(1 : k) = 0, rezulta ca KerC
1
() =
= ImE, unde E = [ e
k+1
, e
k+2
, . . . , e
n
]. Dar KerC
1
() KerA
1
. Deci A
1
E = 0, i.e.
A
1
(:, k + 1 : n) = 0, si cum A
1
este hermitica, rezulta ca are urmatoarea structura
(din exact aceleasi motive aceast a structura o are si matricea B)
A
1
=
_
A
11
0
0 0
_
, B
1
=
_
B
11
0
0 0
_
, A
11
, B
11
I C
kk
. (6.26)
Din (6.24) rezulta
A
11
+ (1 )B
11
= I
k
. (6.27)
Distingem doua situat ii:
a) Daca = 0, atunci B
11
= I
k
si consideram forma Schur (diagonala)
F
11
= Q
H
11
A
11
Q
11
= diag(f
1
, f
2
, . . . , f
k
)
a blocului A
11
. Luand matricea unitara Q = diag(Q
11
, I
nk
) si denind matricea
de transformare T = T
1
Q, avem
F = T
H
AT = Q
H
A
1
Q = diag(F
11
, 0), G = T
H
BT = Q
H
B
1
Q = diag(I
k
, 0),
(6.28)
i.e. forma diagonala generalizata a perechii init iale.
b) Daca ,= 0, atunci consideram forma Schur (diagonala)
G
11
= Q
H
11
B
11
Q
11
= diag(g
1
, g
2
, . . . , g
k
)
a blocului B
11
. Luand din nou matricea unitara Q = diag(Q
11
, I
nk
) si denind
matricea de transformare T = T
1
Q, avem
F = T
H
AT =
1

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.

Intr-o caracterizare sintetica, algoritmul QZ aplicat perechii (A, B) (cu B nesin-


gulara) poate considerat drept o varianta mascata a algoritmului QR aplicat
matricei AB
1
si de aici rezulta remarcabilele sale performant e numerice si de
convergent a.
6.3.1 Reducerea la forma Hessenberg generalizata
Corespondentul generalizat al teoremei 4.8 are urmatoarea formulare.
Teorema 6.4 Oricare ar perechea (A, B) I C
nn
I C
nn
, ce deneste un fascicol
regulat, exista matricele unitare Q, Z I C
nn
, calculabile printr-o secvent a nita de
operat ii aritmetice, astfel ncat perechea
(H, T) = (Q
H
AZ, Q
H
BZ) (6.30)
are matricea H superior Hessenberg si matricea T superior triunghiulara. Daca
matricele A, B sunt reale, atunci si matricele H si T sunt reale, iar matricele de
transformare Q si Z sunt ortogonale.
Demonstrat ie. Vom da o demonstrat ie constructiva explicita n vederea elaborarii
unui algoritm performant.

In primul rand, exista o matrice unitara Q I C
nn
astfel
ncat matricea B T = Q
H
B este superior triunghiulara (vezi capitolul 3), i.e.
perechea unitar echivalenta
(A, B) (

A, T) = (Q
H
AZ, Q
H
BZ),
cu Z = I
n
, are matricea

A densa si T superior triunghiulara.

In continuare vom
aduce matricea A la forma superior Hessenberg pastrand structura superior tri-
unghiulara a matricei B. Procedura are n 2 pasi.
456 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZAT I
Pasul 1

.

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

. Presupunem ca n cadrul primilor k 1 pasi am obt inut o pereche


(A
(k1)
, B
(k1)
) ce suprascrie (A, B) cu A
(k1)
avand o structura superior
Hessenberg n primele k 1 coloane si B
(k1)
superior triunghiulara:
A A
(k1)
def
= (Q
(k1)
)
H
(Q
(2)
)
H
(Q
(1)
)
H
AZ
(1)
Z
(2)
Z
(k1)
, (6.34)
B B
(k1)
def
= (Q
(k1)
)
H
(Q
(2)
)
H
(Q
(1)
)
H
BZ
(1)
Z
(2)
Z
(k1)
. (6.35)
Este usor de vazut ca adaptand schema de calcul de la pasul 1, i.e. efectuand
458 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZAT I
HT- k 1. Pentru i = n: 1: k + 2
1. Se determina rotat ia Q
(k)
i1,i
astfel ncat ((Q
(k)
i1,i
)
H
A)(i, k) = 0
2. A (Q
(k)
i1,i
)
H
A
3. B (Q
(k)
i1,i
)
H
B % Se altereaza zeroul din pozit ia (i, i 1)
a matricei superior triunghiulare B
4. Q QQ
(k)
i1,i
5. Se determina rotat ia Z
(k)
i1,i
astfel ncat (BZ
(k)
i1,i
)(i, i 1) = 0
6. A AZ
(k)
i1,i
7. B BZ
(k)
i1,i
8. Z ZZ
(k)
i1,i
se obt in matricele
AA
(k)
=(Q
(k)
k+1,k+2
)
H
(Q
(k)
n2,n1
)
H
(Q
(k)
n1,n
)
H
A
(k1)
Z
(k)
n1,n
Z
(k)
n2,n1
Z
(k)
k+1,k+2
def
= (Q
(k)
)
H
A
(k1)
Z
(k)
(6.36)
si
BB
(k)
=(Q
(k)
k+1,k+2
)
H
(Q
(k)
n2,n1
)
H
(Q
(k)
n1,n
)
H
B
(k1)
Z
(k)
n1,n
Z
(k)
n2,n1
Z
(k)
k+1,k+2
def
= (Q
(k)
)
H
B
(k1)
Z
(k)
(6.37)
cu A
(k)
(k+2 : n, k) = 0, cu structura primelor k1 coloane ale matricei A
(k1)
ramasa nealterata si cu B
(k)
superior triunghiulara, realizandu-se astfel obiectivul
pasului k. Evident, matricele unitare de transformare
Q
(k)
def
= Q
(k)
n1,n
Q
(k)
n2,n1
Q
(k)
k+1,k+2
, Z
(k)
def
= Z
(k)
n1,n
Z
(k)
n2,n1
Z
(k)
k+1,k+2
(6.38)
cumuleaza cele doua secvent e de rotat ii utilizate la pasul k.

In concluzie, pasul 1 de mai sus permite init ierea procedurii de reducere a


perechii (A, B) la forma Hessenberg generalizata, iar pasul k arata ca aceasta redu-
cere poate continuata. Dupa n2 pasi se obt ine rezultatul dorit, i.e.
A H = (Q
(n2)
)
H
(Q
(2)
)
H
(Q
(1)
)
H
AZ
(1)
Z
(2)
Z
(n2)
def
= Q
H
AZ, (6.39)
B T = (Q
(n2)
)
H
(Q
(2)
)
H
(Q
(1)
)
H
BZ
(1)
Z
(2)
Z
(n2)
def
= Q
H
BZ (6.40)
cu H superior Hessenberg si T superior triunghiulara, i.e. cu perechea (H, T) n
forma Hessenberrg generalizata. Evident, matricele unitare de transformare
Q
def
= Q
(1)
Q
(2)
Q
(n2)
, Z
def
= Z
(1)
Z
(2)
Z
(n2)
(6.41)
cumuleaza toate transformarile efectuate.
6.3. ALGORITMUL QZ 459

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

, algoritmul returneaza matricele Q si Z nemodicate.)


1. [ B, U, b ] = TUN(B)
2. Pentru k = 1 : n1
1. A(k : n, :) = Hcs(U(k : n, k), b(k), A(k : n, :))
3. Daca opt =

da

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).

In cazul real, atat matricele rezultat (A, B) (H, T) = (Q


T
AZ, Q
T
BZ) cat si
matricele de transformare Q, Z vor reale. Aceasta particularizare este imediata
prin nlocuirea procedurilor de transformare complexe utilizate cu corespondentele
lor reale. Ca sa marcam diferent a, sintaxa de apel va
[ H, T, Q, Z ] = HTQZr(A, B, Q, Z, opt).
Complexitatea algoritmului este O(n
3
), execut ia sa implicand, n cazul real,
N
op
8n
3
operat ii n format virgula mobila. Acumularea matricelor de transfor-
mare necesita N

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

, algoritmul returneaza matricele Q si Z nemodicate.)


1. i = n, j = n
2. C^at timp i > 0
1. Daca T(i, i) = 0 atunci
1. Daca i < j atunci
1. Pentru l = i+1 : j
1. [ T(l1: l, l), c, s ] = Gc(T(l1: l, l))
2. k = max(l2, 1)
3. H(l1: l, k: n) = Gcs(c, s, H(l1: l, k: n))
4. Daca l < n atunci
T(l1: l, l+1 : n) = Gcs(c, s, T(l1: l, l+1: n))
13
Dupa deplasarea unui zero diagonal n ultima pozit ie diagonal a curent a este posibil ca struc-
tura zerourilor diagonale nca nedeplasate s a se modice, e.g. num arul lor s a scad a. De aceeea
dupa deplasarea tuturor zerourilor diagonale n colt ul din dreapta jos este posibil ca num arul lor
sa e diferit de numarul init ial al zerourilor diagonale ale matricei T. De asemenea, asa cum s-a
precizat, pentru aspectele specice ale trat arii zerourilor din pozit iile diagonale terminale, cititorul
este invitat sa consulte algoritmul formal.
6.3. ALGORITMUL QZ 465
5. Daca opt =

da

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

) perechea succesor precum si


G = HT
1
, G

= 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 are un element nenul suplimentar n pozit ia (2, 1).


4. Refacerea structurii Hessenberg generalizate a perechii (

H,

T) printr-o trans-
formare unitara de echivalent a poate asimilata cu refacerea formei Hessenberg a
matricei

G.

Intr-adevar, daca (H

, 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

) suprascrie perechea (H, T), i.e. toate calculele afe-


rente unui pas simplu QZ cu deplasare implicita se desfasoara pe loc, n tablourile
H si T.
Din motive de organizare judicioasa a algoritmului QZ si, mai ales, a algo-
ritmului de ordonare a formei Schur generalizate (vezi sect iunea 6.4) vom scrie o
procedura distincta pentru calculul vectorului de deplasare implicita.
Algoritmul 6.3 (VD1 Calculul vectorului de deplasare implicita
pentru un pas simplu QZ) (Date o pereche (H, T) I C
nn
I C
nn
n
forma Hessenberg generalizata cu T nesingulara, algoritmul calculeaza
vectorul w I C
2
de deplasare implicita pentru un pas simplu QZ.)
1. =
h
n,n
t
n,n

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

) perechea succesor n cazul utilizarii pasului


dublu precum si G = HT
1
, G

= 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 Q( : , 1: 3) = Hrd(Q( : , 1: 3), u, )


5. % Refacerea structurii superior Hessenberg generalizate
Pentru k = 1 : n3
1. [ T(k+2, k : k+2), u, ] = Hrm(T(k+2, k : k+2))
2. H(1 : k+3, k : k+2) = Hrd(H(1 : k+3, k : k+2), u, )
3. T(1 : k+1, k : k+2) = Hrd(T(1 : k+1, k : k+2), u, )
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
).

In vederea unei scrieri mai concise a algoritmului QZ prezentam aici un algoritm


preliminar care proceseaza perechea bloc-diagonala 2 2 aata n pozit ia (k, k +1).
Algoritmul 6.8 (TRID2g -Triangularizarea unei perechi de blocuri
diagonale 2 2) (Date o pereche (S, T) IR
nn
IR
nn
, cu S n forma
cvasi-superior triunghiulara si T superior triunghiulara nesingulara si
ntregul k 1: n1, algoritmul testeaza daca perechea de blocuri diago-
nale (S(k : k+1, k : k+1), T(k : k+1, k : k+1)) are valorile proprii gene-
ralizate reale si, n caz armativ, calculeaza triangularizarea ortogonala
a perechii bloc-diagonale vizate, rezultatul suprascriind perechea (S, T).
De asemenea, algoritmul returneaza elementele denitorii (u
Q
,
Q
) si
(u
Z
,
Z
) ale celor doi reectori calculat i.

In caz contrar perechea (S, T)
ramane nemodicata si, pentru identicarea acestei situat ii, se retur-
neaza
Z
= 0.)
1.
Z
= 0
2. = t
k,k
t
k+1,k+1
, = s
k,k
t
k+1,k+1
+ s
k+1,k+1
t
k,k
s
k+1,k
t
k,k+1
,
= s
k,k
s
k+1,k+1
s
k,k+1
s
k+1,k
, =
2
4
3. Daca 0 atunci
1.
1
= ( + sgn()

)/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

. Daca nu se doreste acumularea transformarilor,


matricele Q si Z se returneaza nemodicate.)
1. % Reducerea la forma Hessenberg generalizata
1. [ A, B, Q, Z ] =HTQZr(A, B, Q, Z, opt)
2. % Deplasarea zerourilor diagonale ale matricei B si evident ierea
valorilor proprii innite.
1. [ A, B, Q, Z ] =DZr(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
2. % Determinarea lui q
1. continu a =

da

2. C^at timp continu a =



da

1. Dac a q n 2 atunci break


2. Dac a a
nq,nq1
= 0 atunci
1. q q + 1
2. cont it = 0
altfel
1. Dac a a
nq1,nq2
= 0
atunci
1. q q + 2
2. cont it = 0
altfel continu a =

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

Incheiem acest paragraf cu regretul lipsei de spat iu tipograc pentru prezentarea


algoritmilor de calcul al formei diagonale generalizate a fascicolelor hermitice (n
cazul real, simetrice) pozitiv denite. Pentru introducerean problema recomandam
rezolvarea exercit iului 6.10, iar pentru detalii si indicat ii bibliograce suplimentare
consultarea lucrarii [ VI ].
6.3.4 Calculul vectorilor proprii generalizat i
Consideram important sa precizam de lanceput can multe aplicat ii vectorii proprii
generalizat i pot nlocuit i cu succes de catre vectorii Schur corespunzatori, i.e. de
catre coloanele matricelor de transformare Z si Q.
Daca se doreste totusi determinarea explicita a vectorilor proprii generalizat i
acestia pot calculat i, dupa execut ia algoritmului QZ corespunzator, n doua
modalitat i:
a) prin rezolvarea sistemelor liniare singulare corespunzatoare;
b) prin cateva iterat ii (teoretic, ntr-o singura iterat ie) ale metodei puterii in-
verse generalizate.
Prezentam succint prima varianta pentru cazul complex (pentru cazul real vezi
exercit iul 6.11). Un vector propriu generalizat x
k
I C
n
, asociat valorii proprii ge-
neralizate nite
k
= s
kk
/t
kk
este un vector nenul care satisface sistemul singular
Ax
k
=
k
Bx
k
. (6.68)
486 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZAT I
T inand seama de faptul ca (A, B) = (QSZ
H
, QTZ
H
), vectorul x
k
se calculeaza cu
relat ia
x
k
= Zy, (6.69)
unde y este o solut ie nenula a sistemului singular triunghiular
t
kk
Sy = s
kk
Ty. (6.70)
Daca
k
este o valoare proprie distincta, atunci solut iile nenule ale sistemului (6.70)
au structura
y = [ y
T
0 . . . 0 ]
T
, y I C
k1
, (6.71)
unde este un scalar nenul altfel arbitrar, e.g. = 1. Cu aceasta alegere a lui
din (6.70) rezulta ca y este solut ia sistemului triunghiular nesingular
(t
kk
S(1 : k1, 1 : k1)s
kk
T(1 : k1, 1 : k1)) y = s
kk
T(1 : k1, k)t
kk
S(1 : k1, k).
(6.72)
Cu y astfel obt inut vectorul propriu generalizat x
k
se obt ine din (6.69) cu relat ia
x
k
= Z(:, 1 : k1) y +Z(:, k). (6.73)

In situat ia n care valoarea proprie nu este distincta, calculul se poate proceda e


extinzand ideile din situat ia corespunzatoare din cazul calculului vectorilor proprii
ordinari, e apeland la o grupare a valorilor proprii generalizate identice prin
tehnici de ordonare care fac obiectul sect iunii urmatoare.
6.4 Forma Schur generalizata ordonata.
Calculul subspat iilor de deat ie
Conceptul de subspat iu de deat ie a fost introdus prin denit ia 6.2 si folosit pen-
tru a demonstra posibilitatea reducerii unei perechi (A, B) I C
nn
I C
nn
, prin
transformari de echivalent a, la forma Schur generalizata.
Reciproc, e un fascicol regulat, denit de o pereche (A, B) I C
nn
I C
nn
si
forma sa Schur generalizata (S, T) cu urmatoarele partit ii ale matricelor S si T
S = Q
H
AZ =
k
..
nk
..
_
S
11
S
12
0 S
22
_
k
n k
, T = Q
H
BZ =
k
..
nk
..
_
T
11
T
12
0 T
22
_
k
n k
.
(6.74)
Fie, de asemenea, partit iile corespondente ale matricelor unitare de transformare
Q =
k
..
nk
..
_
Q
1
Q
2

, 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 toate situat iile avem


dim1 dimo (6.77)
ceea ce nseamna, conform denit iei 6.2, ca o = ImZ
1
este un un subspat iu de
deat ie al fascicolului matriceal denit de perechea (A, B), subspat iu pe care l aso-
ciem, n mod natural, cu setul de valori proprii generalizate (S
11
, T
11
) (A, B).

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

In cazul real forma Schur generalizata (S, T) IR


nn
IR
nn
a fascicolului denit
de (A, B) IR
nn
IR
nn
are matricea S n forma Schur reala, iar matricea T
superior triunghiulara. Vom considera partit iile bloc ale matricelor S si T dictate
de dimensiunile l
k
l
k
cu l
k
1, 2, k = 1 : p, ale blocurilor diagonale ale lui S:
S =
_

_
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.

In cazul n care se prefera utilizarea permutarii inverse =


1
= j
1
, j
2
, . . . , j
p

se poate utiliza o schema de calcul similara cu cea prezentata n comentariile la


algoritmul 6.10. Scrierea explicita a acestei variante de algoritm de ordonare este
propusa cititorului. 3
6.5 Condit ionarea valorilor proprii generalizate
si a vectorilor proprii generalizat i
Sensibilitatea valorilor proprii generalizate la variat ii n datele init iale, sau altfel
spus condit ionarea lor numerica, se poate aprecia foarte usor n forma Schur gene-
ralizata.

In ipoteza plauzibila ca forma Schur generalizata (S, T) este put in sensibila
la perturbat ii n elementele matricelor perechii (A, B) rezulta ca o valoare proprie
generalizata
i
= s
ii
/t
ii
este cu atat mai rau condit ionata cu cat t
ii
este mai mic.
Totusi, daca privim valorile proprii generalizate ca perechi (s
ii
, t
ii
), fara sa con-
sideram necesara efectuarea mpart irii, aceasta armat ie nu mai poate sust inuta.
Din acest motiv, n aprecierea condit ionarii numerice a valorilor proprii generalizate
se recomanda o tratare simetrica a perechii (A, B) n sensul ca trebuie considerate
simultan ambele fascicole T = A B si ( = B A. Unei valori proprii rau
condit ionate a fascicolului T i corespunde o valoare proprie inversa a lui ( care
poate foarte bine condit ionata. De aceeea, n [ VI ], pentru aprecierea condit ionarii
valorilor proprii generalizate se propune utilizarea metricii cordale denita pentru
IR prin distant a
18
chord(, ) =
[ [

1 +
2
_
1 +
2
, , IR.
18
Distant ei cordale i se pot da urm atoarele interpret ari.
1. Fie = arctg si

= arctg . Atunci, este usor de ar atat c a chord(, ) = | sin(

)|.
Prin urmare, printre altele, 0 chord(, ) < 1.
2.

In cazul complex, daca ,

sunt proiect iile lui , respectiv pe sfera Riemann, atunci


chord(, ) este jumatate din distant a euclidian a (i.e. lungimea coardei) dintre cele dou a proiect ii.
6.6. STABILITATEA ALGORITMULUI QZ 497
Se poate arata ca daca este o valoare proprie generalizata distincta a fascicolului
T si

este valoarea proprie generalizata corespunzatoare a fascicolului perturbat

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.)

In ceea ce priveste condit ionarea vectorilor proprii generalizat i, aceasta este


dependenta n buna masura de separarea valorii proprii generalizate asociate de
celelalte valori proprii.

In aplicat ii, n general, se evita calculul vectorilor proprii
generalizat i, acestia putand nlocuit i cu succes de coloanele matricelor de trans-
formare.
6.6 Stabilitatea numerica a algoritmului QZ
Asa cum s-a mai ment ionat si n comentariile diversilor algoritmi part iali, utilizarea
consecventa a transformarilor unitare (n cazul real, ortogonale) confera procesului
de calcul al formei Schur generalizate o foarte buna stabilitate numerica.

In litera-
tura de specialitate se arata ca forma Schur generalizata calculata (

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.

In concluzie, valorile proprii generalizate bine condit ionate se calculeaza cu o


nalta acuratet e.
498 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZAT I
6.7 Rutine LAPACK si MATLAB
LAPACK. Calculul valorilor si vectorilor proprii generalizat i ai unei perechi de
matrice (A, B) este efectuat n LAPACK de doua rutine driver:
1. xGEGS calculeaza forma Schur generalizata a perechii (A, B) si eventual vec-
torii Schur, folosind algoritmul QZ.
2. xGEGV calculeaza valorile si eventual vectorii proprii generalizat i ai perechii
(A, B).
Principalele rutinele de calcul implementeaza cele doua faze ale algoritmului
QZ; sa notam abrevierile utilizate pentru diverse tipuri de matrice interesante n
aceasta problema: GG pereche de matrice generale, HG pereche n forma Hessen-
berg generalizata, TG pereche n forma Schur generalizata.
xGGHRD realizeaza reducerea unei perechi generale (A, B) la forma Hessenberg
generalizata (H, T) prin transformari de asemanare ortogonale.
xHGEQZ implementeaza faza iterativa a algoritmului QZ, transformand pere-
chea (H, T) n forma Schur generalizata, cu acumularea opt ionala a trans-
formarilor (si deci obt inerea vectorilor Schur).
Vectorii proprii generalizat i ai unei perechi n forma Schur (A, B) sunt calculat i
de rutina xTGEVC. Aceeasi rutina poate calcula vectorii proprii generalizat i ai pere-
chii init iale (A, B), daca primeste ca argumente de intrare vectorii Schur generalizat i
calculat i de rutinele de mai sus.
Rutina xGGBAL realizeaza scalarea (echilibrarea) perechii (A, B). Alte rutine,
similare cu cele pentru valori proprii, sunt actualmente n curs de elaborare.
MATLAB. Valorile si vectorii proprii generalizat i ai unei perechi (A, B) pot
calculate cu aceeasi funct ie ca valorile proprii (diferent a e facuta de numarul
argumentelor de intrare):
[V, D] = eig(A, B)
V ind matricea vectorilor proprii generalizat i, iar D o matrice diagonala cont inand
valorile proprii generalizate (astfel ncat AV = BV D). Apelul simplu eig(A,B)
returneaza un vector cont inand valorile proprii generalizate. Funct ia implementeaza
algoritmul QZ.
6.8 Probleme
P 6.1 Se considera fascicolul matriceal F = A B, unde
A =
_
2 4 5
2 5 8
2 3 2
_
, B =
_
1 1 1
1 2
1 2
_
,
6.8. PROBLEME 499
cu , parametri reali.
a) Discutat i n raport cu , numarul valorilor proprii generalizate nite ale fasci-
colului F.
b) Daca F este un fascicol regulat calculat i un vector propriu generalizat x al fasci-
colului F independent de , ; determinat i parametrii , astfel ncat x
T
Bx = 0 si B
este nesingulara.
c)

In cazul = 2, = 1, calculat i o baza ortonormala pentru un subspat iu de deat ie
de dimensiune 2 al fascicolului F n IR
3
.
P 6.2 Consideram perechea (A, B) IR
nn
IR
nn
si e U
T
BV = cu =
_
1 0
0 0
_
,
1 = diag(1, 2, , r) si r = rang(B) 1 descompunerea valorilor singulare a matricei
B. Aratat i ca daca fascicolul A B nu are nici o valoare proprie generalizata nita,
atunci matricea (U(:, r + 1 : n))
T
AV (:, r + 1 : n) este singulara.
P 6.3 Ce proprietat i au valorile proprii generalizate ale unei perechi (A, B) I C
nn

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. (

b este aproape de b).


P0.4 Problema mosteneste proasta condit ionare a sumei (de exemplu, cand |a1 +a2|
e mic si |a1|, |a2| sunt mari). Algoritmul x = (b1 +b2)/(a1 +a2) este stabil.
P0.5 Urmatorul numar n virgula mobila este x = 0.100 . . . 01
1
; deci, x1 =
t+1
(eroarea de reprezentare maxima pentru rotunjirea prin trunchiere).
P0.6 r 0.5
t+1
.
P0.7 Varianta 1: (x x) (y y) = [x
2
(1 + 1) + y
2
(1 + 2)](1 + ), cu 1, 2, de
ordinul erorii de reprezentare u. Atunci eroarea relativa
r1 +
1x
2
2y
2
x
2
y
2
poate mare atunci cand x
2
si y
2
au valori apropiate.
Varianta 2: (x y) (x y) = [(x y)(1 + 1)][(x + y)(1 + 2)](1 + ), cu 1, 2,
de ordinul de marime al lui u. Eroarea relativa este acum (u
2
u)
r2 1 +2 + 3u.
Varianta 1 reprezinta un algoritm cu potent iale instabilitat i numerice; varianta 2 este
un algoritm stabil.
501
502 INDICAT II, R

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, din (7.1) se obt ine


A2 (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

= y(1 : p) = Bx, este evident ca y 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

ASPUNSURI, SOLUTII 503


P1.14 L
2
are prima supradiagonala nula, L
3
primele doua etc.
P1.15 Notand C = AB, avem cij =

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

ASPUNSURI, SOLUTII 505


1. Pentru k = 1 : n 1
1. Pentru i = 1 : n, i = k
1. a
ik

ik
= a
ik
/a
kk
2. Pentru j = k + 1 : n
1. Pentru i = 1 : n, i = k
1. aij aij a
ik
a
kj
Nop n
3
, cu 50% mai mult decat n eliminarea gaussiana, motiv pentru care algoritmul
Gauss-Jordan nu este utilizat n practica.
c. Pivotul se cauta la fel ca n eliminarea gaussiana, adica numai pe liniile k : n.
P2.5 Prezentam o demonstrat ie doar pentru cazul A nesingulara. Demonstrat ia pentru
A singulara ramane ca exercit iu (netrivial).
Presupunem ca A are doua factorizari LDU diferite:
A = LDU = L

. (7.2)
L, L

, U, U

sunt matrice triunghiulare unitate, deci nesingulare; mai mult, L


1
, (L

)
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, SOLUTII 507


1. [M, U, p] = GPP(A)
2. Pentru j = 1 : m
1. Pentru s = 1 : n 1
1. bsj b
p(s),j
1. Pentru i = s + 1 : n
1. bij bij isbsj
2. xj = UTRIS(U, bj)
Numarul de operat ii este 2n
3
/3 +O(mn
2
).
P2.16

In cazul utilizarii GPP, sistemul init ial A
T
y = c este echivalent cu sistemul
inferior triunghiular R
T
z = c, unde z = M
T
n1
Pn1 . . . M
T
1
P1y. Dupa rezolvarea acestuia,
se calculeaza y = P1M
T
1
. . . Pn1M
T
n1
z.
P2.17 Din nou, nu trebuie nici calculat A
k
(2kn
3
opi), nici utilizat algoritmul bazat
pe relat ia A(A
k1
x) = b, aplicat recursiv:
1. Pentru j = 1 : k
1. rezolva Ax = b utilizand S GPP
2. b x
care necesita 2kn
3
/3 opi. Din nou, GPP poate utilizat o singura data pentru rezolvarea
tuturor sistemelor din instruct iunea 1.1 a schemei de mai sus. Se obt ine:
1. [M, U, p] = GPP(A)
2. Pentru j = 1 : k
1. Pentru s = 1 : n 1
1. bs b
p(s)
1. Pentru i = s + 1 : n
1. bi bi isbs
2. b = UTRIS(U, b)
3. x b
Numarul de operat ii este de doar 2n
3
/3 +O(kn
2
).
P2.18 Varianta 1: se calculeaza D = AB, apoi se aplica algoritmul precedent; cost
suplimentar fat a de acesta: 2n
3
.
Varianta 2: se aplica GPP ambelor matrice A si B, apoi se adapteaza algoritmul
precedent, dubland instruct iunea 2. Cost suplimentar: 4n
3
/3 + 2kn
2
. Aceasta varianta
e recomandabila, n general.
P2.19 (a) implica 2n
3
/3 operat ii complexe, adica aproximativ 8n
3
/3 operat ii reale.
(b) implica 2(2n)
3
/3 operat ii.
P2.20 Notand X = A
1
si xj coloana j a lui X, trebuie rezolvat doar sistemul
LUxj = ej. Sistemul Ly = ej se rezolva adaptand LTRIS (ca n LINV) iar sistemul
Uxj = y se rezolva cu UTRIS, oprind calculele atunci cand xij a fost obt inut.
P2.22 a. Prin calcul direct, avem A+A
1
+
= I.
b. Se calculeaza

B = A
1
B,

C = CA
1
(cu 4n
2
r opi). Se calculeaza D+ cu
2n
2
r + 2nr
2
opi. Se rezolva D+X = C ca n problema 2.15, cu 2r
3
/3 + 2nr
2
opi.

In
sfarsit, A
1
+
= A
1
BX, cu un cost de nca 2n
2
r opi. Presupunand r n, costul total
este de O(rn
2
).

In cazul 1

, costul se reduce la jumatate.


P2.23 a. Presupunem ntai ca u1 = 0. Fie M = I me
T
1
o matrice inferior triunghi-
ulara elementara astfel ncat Mu = u1e1; evident, mi = ui/u1, i = 2 : n. Consideram
matricea B = MAM
1
= I +Muv
T
M
1
= I +u1e1w
T
; deoarece M
1
= I +me
T
1
, avem
w
T
= v
T
M
1
= v
T
+ (v
T
m)e
T
1
.

In concluzie B este superior triunghiulara, cu bii = 1,
pentru i 2 si deci detA = detB = b11 = 1 +u
T
v.
508 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

ASPUNSURI, SOLUTII 509


% permutarea coloanelor lui E si C
1. Daca |e12| > |e11| atunci
1. e11 e12, e21 e22
2. Pentru i = 1 : p, ci1 ci2
% eliminare gaussiana la dreapta
2. = e12/e11
3. e22 e22 e21
4. Pentru i = 1 : p
1. ci2 ci2 ci1
% rezolvare sistem inferior triunghiular, la dreapta
5. Pentru i = 1 : p
1. fi2 c12/e22
2. fi1 (ci1 fi2e21)/e11
P2.31 Notand tot cu aij elementele matricei P1AP
T
1
, prima relat ie se demonstreaza
t inand seama ca aij = aij (ai1/a11)aj1 si, n plus, |ai1| 0 si |a11| = 1 0. Asadar
max
i,j
| aij| |aij| +
1

|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
=

4. Pentru i = k + 1 : min(k +r, n)


1. a
ik
l
ik
=
_
a
ik

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

ASPUNSURI, SOLUTII 511


Numarul de operat ii este nsa sensibil mai mare decat pentru CHOL. Pentru a-l
reduce, se elimina nmult irea cu dj din 1.2.1 astfel
1. Pentru k = 1 : n
1. Pentru j = 1 : k 1
1. a
kj
l
kj
= a
kj
/dj
2. a
kk
d
k
= a
kk

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)

In acest caz, din a doua relat ie rezulta R12 = R


T
11
S12, iar a treia devine
S22 S
T
12
(R
T
11
R11)
1
S12 = R
T
22
R22.
Prin urmare R22 poate determinat (aplicand din nou algoritmul de factorizare Cholesky)
daca si numai daca

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.)

In al doilea caz trebuie sa avem


_
S11 S12
S
T
12
S22
_
=
_
L
T
11
L
T
21
0 L
T
22
__
Ip 0
0 Iq
__
L11 0
L21 L22
_
, (7.6)
de unde, procedand analog obt inem condit iile
S22 < 0, (7.7)

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

ASPUNSURI, SOLUTII 513


Daca Q este un reector complex, atunci
_
_
_
= Re(x1)x =

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

In cazul p < n, reectorii Qj, j = p +1 : n, nu sunt activi.



In cazul p > n, ntai
se acumuleaza coloanele j = n + 1 : p, apoi se aplica procedura GQR.
P3.30 A doua, n care Q se umple treptat.
P3.31 a. Construct ia lui Y ncepe cu ultima coloana.
514 INDICAT II, R

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

este o baza (nu neaparat ortogonala) a subspat iului


N = KerA, iar B este o matrice oarecare.
b. P2 = Im AA
+
este proiectorul ortogonal pe S

= 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

este inversabila, deci S

este o baza (neortogonala) a


subspat iului S = ImA, iar S

este o completare (oarecare) a lui S

pana la o baza a lui


IR
m
. Considerand sistemul supradeterminat Ax = b si notand Mb = d =
_
d

_
, condit ia
de compatibilitate este d

= 0.
INDICAT II, R

ASPUNSURI, SOLUTII 515

In al doilea caz, daca A este epica cu m < n obt inem


AN = L = [L

0], N = [N

],
unde N

este o baza (neortogonala) a subspat iului N = KerA. Considerand sistemul


subdeterminat Ax = b si notand x = Nu = N
_
u

_
, obt inem sistemul echivalent
L

= b. Prin urmare, o solut ie a sistemului Ax = b este


19
xB = N
_
(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)

In cazul G > 0, se utilizeaza factorizarea Cholesky G = R


T
R pentru a reduce problema la
cea standard din sect iunea 3.6.
b. Pentru a rezolva sistemul (7.9) se utilizeaza procedura de triangularizare ortogonala
la dreapta AZ = [L1 0], unde L1 este inferior triunghiulara inversabila. Notand
x

= 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

ASPUNSURI, SOLUTII 517


care raspunsul este armativ, cum este cazul n care (A1) (A2) = .

In aceasta din
urma situat ie, e X1 si X2 matrice nesingulare de vectori proprii pentru submatricele A1 si
A2. Atunci matricea (nesingulara)
_
X1 X12
0 X2
_
, unde X12 = Y X2 cu Y solut ia ecuat iei
matriceale Sylvester A1Y Y A2 = A12 (v. 4.7), este o matrice de vectori proprii pentru
matricea A, i.e. A este diagonalizabila.
P4.5 Aratat i ca matricele C =
_
AB 0
B 0
_
si D =
_
0 0
B BA
_
sunt asemenea (o
matrice de transformare posibila este T =
_
Im A
0 In
_
). Daca m > n, din (C) = (D)
rezulta ca mult imea (AB) \ (BA) are toate elementele nule.
P4.6 b) Daca (A, B) = (XAX
1
, XBX
1
) atunci, t inand seama de faptul ca
matricele diagonale comuta, AB = BA rezulta prin calcul direct. c) Presupunem ca
AB = BA. Fie X
1
AX = A si consideram perechea (

A,

B)
def
= (A, X
1
BX). Fara
a reduce generalitatea, putem presupune ca A are valorile proprii multiple grupate, i.e.
A = diag(1In
1
, 2In
2
, . . . , pInp
), cu i = j pentru i = j.

Intrucat

A

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

= In + J0. Cum matricea unitate comuta cu orice alta matrice, pentru


calculul matricei J
k

se poate utiliza formula binomului lui Newton, n care se t ine seama


de faptul ca J
i
0
este o matrice care are elementele de pe supradiagonala i egale cu unitatea,
iar toate celelalte elemente sunt nule. Daca = 0, J
k

nu este diagonalizabila pentru nici


un k IN

. 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

ASPUNSURI, SOLUTII 519


cazuri particulare de matrice normale, demonstrat ia poate mai directa. De exemplu,
daca matricea unitara Q este, e.g. superior triunghiulara, atunci inversa ei Q
1
= Q
H
este simultan superior si inferior triunghiulara, i.e. diagonala.
P4.21 Fie A =
_


_
. Din A
T
A = AA
T
rezulta
2
=
2
. Daca = matricea
este simetrica, iar daca = rezulta = .
P4.22 Fie A normala si S = Q
H
AQ o forma Schur reala a lui A, n care, fara a reduce
generalitatea, putem presupune ca valorile proprii reale (n numar de q) sunt situate n
primele q pozit ii diagonale. Deci S este normala si are structura
S =
_

_
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

(aratat i ca se poate!) atunci se


obt ine inegalitatea D
1
Q
H
AQD () +. Este usor de vazut ca : I C
nn
IR+
denita de X = D
1
Q
H
XQD este o norma matriceala consistenta.
P4.33 Pentru orice matrice T I C
nn
nesingulara si B = T
1
AT avem B
k
= T
1
A
k
T.
Prin urmare, A este convergenta daca si numai daca este convergenta orice matrice aseme-
nea cu A. Pentru matricele diagonalizabile rezultatul este imediat.

In cazul general, se
utilizeaza forma canonica Jordan aratand ca un bloc Jordan J

(vezi notat ia din problema


4.16) este convergent daca si numai daca || < 1.
P4.34 Pentru ecare matrice si transpusa ei se aplica teorema Gershgorin si se inter-
secteaza domeniile astfel obt inute.
P4.35 Punctul cel mai departat de originea planului complex al reuniunii discurilor
Gergshgorin se aa la distant a = maxi=1:n(|aii| + ri) = maxi=1:n(

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

a21)) (am notat =



2

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

= [13, 27]. (Spectrul lui A


este (A) = {9, 9, 27}).
P4.38 a) 0 nu apart ine nici unui disc Gersgorin, deci 0 (A). b) Toate discurile
Gershgorin sunt situate n I C
+
= { I C | Re > 0}. c) Caz particular al lui b).
P4.39 a) Daca A are (cel put in) o linie nula, atunci rezultatul este evident.

In caz
contrar, e i =

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

ASPUNSURI, SOLUTII 521


asemanare tip permutare). Vom utiliza inegalitatea Holder, i.e.
n

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
.

Insumand ultimele inegalitat i n raport cu i obt inem


n

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

ASPUNSURI, SOLUTII 523


U
H
1
y = e1. Notam U
H
1
X = Z =
_
z11 Z12
Z21 Z22
_
, U
H
1
Y = W =
_
W12
0 W22
_
. Din
condit iile Xe1 = x si Y
H
X = W
H
Z = In, rezulta ecuat iile
_
z11
Z21
_
= U1x, W
H
22
Z22 =
= In1, W
H
12
z11 + W
H
22
Z21 = 0, care sunt satisfacute, de exemplu, pentru Z22 = In1,
W22 = In1, W12 =
1
z
11
Z
H
21
. b) Daca este o valoare proprie simpla a matricei A, con-
form problemei 4.9, vectorii proprii asociat i x (la dreapta) si y (la stanga) satisfac condit ia
y
H
x = 0 si se pot scala astfel ncat y
H
x = 1. Fie matricea X si X
1
= Y
H
calculate ca la
punctul a). Atunci X
1
AX =
_
y
H

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 +

}. Deci, B va avea o valoare proprie dominanta n urmatoarele situat ii: a) 0


si || >

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

3. Se determina o matrice unitara



Q
k
astfel ncat

Q
k
e1 = x
k
4. A(k : n, k : n) =

Q
H
k
A(k : n, k : n)
5. A( : , k : n) = A( : , k : n)

Q
k
.
524 INDICAT II, R

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

u este prima coloana a lui Q. Deci 1 = 1 +v


H
u. Celelalte n1 valori proprii
sunt i = sii = 1, i = 2 : n. u este vector propriu asociat lui 1. Fie acum, Y reectorul
(hermitic) astfel ncat Y
H
v = e1. Atunci SY ( : , 2 : n) = Y ( : , 2 : n), i.e. yj = Y ( : , j),
j = 2 : n, sunt vectori proprii ai matricei S, iar xj = Qyj sunt vectori proprii ai matricei
A, asociat i valorilor proprii egale cu 1.
P4.54 Aplicand lema de deat ie ortogonala, se calculeaza matricea ortogonala U astfel
ncat U
T
HU =
_
c
T
0 B
_
. Fie acum matricea ortogonala V , de ordinul n1, astfel ncat
G = V
T
BV este superior Hessenberg (utilizat i algoritmul HQr). Matricea cautata este
Q = Udiag(1, V ).
P4.55 a) Secvent a de pustmultiplicare a matricii superior triunghiulare R cu matricile
P
k
si M
1
k
afecteaza la pasul curent k numai coloanele k si k +1, de unde rezulta imediat
conservarea structurii superior Hessenberg.
P4.56 Fara a reduce generalitatea, admitem ca restrict ie a matricei A la subspat iul
A-invariant cautat chiar submatricea A22. Fie, n aceasta ipoteza, X
def
= [ x1 x2 ] IR
n2
si consideram partit ia X =
_
X1
X2
X3
_
, conforma cu dimensiunile blocurilor diagonale. Din
ecuat ia matriciala AX = XA22 rezulta X3 = 0 ca unica solut ie a ecuat iei Sylvester
omogene A33X3 = X3A22.

In continuare, X2 este orice matrice reala nesingulara 2 2
care comuta cu A22 (e.g. X2 = I2), iar X1 se obt ine rezolvand ecuat ia matriceala Sylvester
A11X1 X1A22 = A12X2.
P4.57 Avem 1(A) = 2

5, 2(A) = 2 +

5, iar doi vectori proprii asociat i sunt


x1 =
_
2
1

5
_
, x2 =
_
2
1 +

5
_
. Cei doi vectori proprii sunt ortogonali ntrucat
INDICAT II, R

ASPUNSURI, SOLUTII 525


x
T
1
x2 = 0. Pentru celelalte matrice putet i utiliza calculatorul.
P4.58 Se utilizeaza reectori complecsi care aplicat i unui vector complex asigura
obt inerea unui vector real cu zerouri n pozit iile necesare (v. cap. 3). (

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
,

. Tinand seama de faptul ca 1, 2 sunt invariant i ai sirului, convergent a sirului


matriceal este echivalenta cu convergent a sirului numeric (
k
)
kIN
denit de recurent a

, unde = 1 + 2 si = 12 sunt constante. Aratat i ca acest din urma sir


este monoton si marginit si ca limita sa este 1.
P4.63 a) Presupunem ca matricea tridiagonala simetrica reala T are o valoare proprie
multipla . Pentru precizarea ideilor, consideram ca ordinul de multiplicitate este 2.
Atunci exista doi vectori proprii ortogonali x si y asociat i valorii proprii , i.e. Tx = x
si Ty = y, cu y
T
x = 0. Presupunem ca T este ireductibila, i.e. toate elementele sub-
si supradiagonale sunt nenule. Consideram matricea S = T In cu urmatoarea partit ie
S =
_
S11 S12
S21 S22
_
cu blocul S12 IR
(n1)(n1)
nesingular. Atunci rezulta x(2 : n) =
= S
1
12
S11x(1).

Intrucat x = 0, rezulta x(1) = 0. Absolut similar y(2: n) = S
1
12
S11y(1) cu
y(1) = 0. Rezulta ca x si y sunt coliniari ceea ce contrazice faptul ca sunt ortogonali. Deci
T nu poate ireductibila. Daca ordinul de multiplicitate este mai mare decat 2 atunci,
conform celor de mai sus, exista doua elemente extradiagonale simetrice nule care sparg
matricea T n doua matrice tridiagonale simetrice din care cel put in una are o valoare
proprie multipla etc. b) Generic, se constata o grupare a elementelor extradiagonale nule
nt-un bloc diagonal situat n colt ul din dreapta jos. Explicat ia este urmatoarea: aplicarea
bilaterala a reectorilor care realizeaza tridiagonalizarea aduce pe pozit iile (k+1, k) valori
egalen modul cu norma de vector A(k+1 : n, k), valori care, pentru o matrice init iala fara
526 INDICAT II, R

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

, si t inand seama de faptul ca A si 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

F este minima daca a

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, i.e. [ 1, 2 ]. b) Se reduce mai ntai A la


forma tridiagonala, dupa care se utilizeaza rezultatul de la punctul a).
P4.66 Utilizat i faptul ca matricele antihermitice (antisimetrice) raman astfel la trans-
formari unitare (ortogonale) de asemanare.
P4.67

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

ASPUNSURI, SOLUTII 527


Cap. 5 Descompunerea valorilor singulare
P5.1 (A) = { 4 +

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| =

10. Vericat i, calculand valorile proprii ale matricei


B = A
T
A.
P5.7 Orice matrice ortogonala sau unitara are toate valorile singulare egale cu 1.
P5.8 b) Utilizat i DVS a matricei V pentru a obt ine DVS a matricei P = V V
H
. Sunt
k valori singulare egale cu 1, iar celelalte sunt nule.
P5.9 A
2
F
=

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

ASPUNSURI, SOLUTII 529


P5.18 Utilizand transformari Householder sau Givens, se pot introduce zerouri con-
form modelului urmator, dat pentru m = 7, n = 6, p = 3 (pentru precizare am folosit
rotat ii):
A =
_

_







_

_
, 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, SOLUTII 531


Cap. 6. Calculul valorilor proprii generalizate
P6.1 a) Se observa ca scazand prima linie din celelalte doua si apoi adunand linia
a doua la a treia obt inem perechea echivalenta

A = PAR =
_
2 4 5
0 1 3
0 0 0
_
,

B = PBR =
=
_
1 1 1
0 1 2
0 0
_
, unde matricele de transformare sunt P =
_
1 0 0
1 1 0
2 1 1
_
si R = I3.
Ecuat ia caracteristica a fascicolului este (2 )(1 ( 1)) = 0. Prin urmare, daca
= 0, atunci fascicolul este singular, daca = 0 si = 1, atunci (A, B) = {0, 2}, iar
daca = 0 si = 1 avem (A, B) = {0, 2,
1
1
}. b) De exemplu, x = [ 1 0 0 ]
T
este un
vector propriu generalizat asociat valorii proprii = 2, iar x
T
Bx = 1 = 0 oricare ar si
. Pe de alta parte x = [ 7 6 2 ]
T
este un vector propriu generalizat asociat valorii proprii
= 0 si x
T
Bx = 0 daca 48 + 4 55 = 0; cum det(B) = ( 1) exista o innitate
de valori pentru si astfel ncat x
T
Bx = 0 si det(B) = 0, e.g. pentru = 1/48,
= 14. c) Primele doua coloane ale matricei R, i.e. e1, e2, formeaza o baza ortogonala a
subspat iului de deat ie bidimensional S al perechii (A, B) asociat valorilor proprii gene-
ralizate 1 = 2 si 2 =
1
1
= 1 ntrucat subspat iul V = AS + BS = Im(P
1
)( : , 1 : 2)
are dimensiunea 2.
P6.2 Fie U1 = U( : , 1 : r), U2 = U( : , r + 1 : n) si, similar, V1 = V ( : , 1 : r),
V2 = V ( : , r+1: n). Notam P = U
T
1
AV1, Q = U
T
1
AV2, R = U
T
2
AV1 si S = U
T
2
AV2. Perechea
(A, B) este echivalenta cu perechea (U
T
AV, ) i.e. ecuat ia caracteristica a fascicolului
denit de perechea (A, B) este det(U
T
AV ) = 0. Daca S este nesingulara, atunci
ecuat ia caracteristica devine det(P QS
1
R 1) = 0 i.e. fascicolul are r 1 valori
proprii generalizate nite. Deci S este singulara.
P6.3 Matricele A, B ind unitare, matricea AB
1
= AB
H
este si ea unitara. Deci,
toate valorile proprii generalizate sunt de modul unitar (n cazul real 1).
P6.4

Intrucat B si A B sunt nesingulare avem succesiv (B, B(AB)
1
B) =
= ((AB)B
1
)) = (AB
1
In) = (AB
1
) = (A, B) .
P6.5 Se procedeaza exact ca la algoritmul HTQZc dar se utilizeaza n exclusivitate
transformari reale.
P6.6 Vectorii proprii generalizat i ai perechii (A, B) coincid cu vectorii proprii ai
matricei F = B
1
A. Metoda puterii pentru calculul iterativ al unui vector propriu al
matricei F = B
1
A cu deplasarea curenta
k
utilizeaza iterat ia (vezi cap. 4) x
k+1
=
(F
k
In)x
k
, k = 1, 2, . . . echivalenta cu rezolvarea sistemului liniar Bx
k+1
= (A
k
B)x
k
,
k = 1, 2, . . .. Daca y este un vector propriu al matricei G = AB
1
, atunci x = B
1
y
este vector propriu al perechii (A, B). Iterat ia metodei puterii pentru matricea G este
echivalenta cu rezolvarea aceluiasi sistem liniar. Convergent a metodei este condit ionata
(pentru
k
= 0) de existent a unei valori proprii generalizate dominante.
Metoda puterii inverse pentru calculul iterativ al unui vector propriu al matricei F =
= B
1
A cu deplasarea curenta
k
presupune rezolvarea la ecare iterat ie a sistemului
(vezi cap.4) (F
k
In)x
k+1
= x
k
, k = 1, 2, . . . echivalenta cu rezolvarea sistemului liniar
(A
k
B)x
k+1
= Bx
k
, k = 1, 2, . . ..

In acest caz deplasarea recomandata este cea a catului
Rayleigh i.e.
k
=
x
H
k
Fx
k
x
H
k
x
k
. Schema de calcul este urmatoarea.
MPIG 1. Se alege aleator un vector x I C
n
de norma unitara.
2. k = 1, eps = 1
532 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

S-ar putea să vă placă și