c11mn

Embed Size (px)

DESCRIPTION

pdf

Citation preview

  • 1

    Calculul iterativ al unui vector propriu.

    Metoda puterii. Metoda puterii inverse

    Fie matricea nnRA avnd spectrul de valori proprii

    n21 ,,,A

    i fie

    n21 x,,x,xX

    un set de vectori proprii, de norm euclidian unitar, ai matricei A (i.e. iii xAx ,

    1xi , n:1i ). Proprietile din urmtoarea propoziie se vor dovedi utile n

    demersul calculatoriu al valorilor i vectorilor proprii.

    Propoziie. Cu notaiile de mai sus avem a) pentru orice C,

    (A-I)={1-, 2-,...,n-};

    b) pentru orice Nk

    (Ak)={1k, 2

    k,...,nk};

    c) pentru orice A\C

    1,,

    1,

    1IA

    n21

    1

    i, n acelai timp, vectorii i pstreaz semnificaia, adic sunt vectori proprii pentru matricele

    A-I, Ak, (A-I)-1 respectiv

    (A-I)xi=(i-)xi

    ik

    ii

    kxxA

    ii

    i

    1x

    1xIA

    pentru toi n:1i .

    Demonstraia este imediat prima relaie este evident, cea de-a doua se obine prin inducie, iar ultima se obine, pentru IA nesingular.

    Presupunem acum c mulimea este ordonat n sensul descresctor al valorilor absolute i c matricea A are o valoare proprie dominant, i.e.

    n321 .

    Dac nCy este un vector de norm euclidian unitar avnd o component nenul pe

    direcia vectorului propriu Xx1 , definim irul vectorial

    Nk

    ky i irul numeric

    Nk

    k

    prin relaiile

    1. yy )0( % iniializare

    2. Pentru ,2,1k % iterare

    1. 1kyAz

  • 2

    2.

    22

    k

    z

    zy

    3. .Ayy kTkk

    care definesc metoda puterii.

    ,...2,1k,yAy0k

    k

    k

    unde )0(kk

    yA

    1 este un factor scalar de normare. Dac

    n

    1i

    ii

    0xy

    cu 01 , atunci

    .x

    xy

    n

    2i

    i

    k

    1

    i

    1

    i1

    k

    11k

    k

    Datorit condiiei de dominan avem

    ,n:2i,0

    lim

    k

    1

    i

    k

    ceea ce asigur convergena irului vectorial )k(y ctre vectorul propriu unitar asociat valorii

    proprii dominante

    .xylimy 1k

    k

    Viteza de convergen este cu att mai mare cu ct raportul 1

    2

    este mai mic, metoda puterii

    fiind performant n cazul matricelor cu o valoare proprie net dominant. irul numeric *

    Nk

    k , converge ctre valoarea proprie dominant. n principiu, n cadrul metodei puterii, nu

    este necesar construcia explicit a irului *Nk

    k , valoarea proprie 1 putnd fi calculat cu

    .AxxAyy 1H1H

    1

    n schimb o astfel de evaluare devine foarte benefic n cadrul unei variante a metodei puterii inverse.

    Metoda puterii inverse de determinare iterativ a unui vector propriu se bazeaz pe relaia

    conform creia matricea 1IAB va avea o valoare proprie net dominant dac,

    "deplasarea" este o aproximaie, chiar i grosier, a unei valori proprii distincte a matricei A.

    Metoda puterii inverse, este, n fapt metoda puterii aplicat matricei B de mai sus i se definete

    1. yy )0( % iniializare

    2. pentru ,2,1k % iterare

  • 3

    1. Se rezolv sistemul liniar 1kyzIA

    2.

    z

    zy

    k

    3. .Ayy kTkk

    Conform celor artate la metoda puterii, irul Nk

    ky este convergent ctre vectorul propriu al

    matricei A asociat valorii proprii celei mai apropiate de deplasarea . Proprieti de convergen

    deosebite se obin n varianta n care deplasarea este modificat de la o iteraie la alta utiliznd

    aproximaia curent )k(k a unei valori proprii a matricei A. Aceast variant, cunoscut

    sub denumirea de iterarea ctului Rayleigh, este definit de vectorul iniial de norm unitar y,

    deplasarea iniial

    AyyT

    0

    i procedura n care se nlocuiete cu )k(k . Dac iniializarea y nu este ortogonal pe

    direcia vectorului propriu asociat valorii proprii celei mai apropiate de 0 (condiie generic

    satisfcut de o alegere aleatoare a lui y), atunci se poate arta c irul are o convergen

    ptratic ctre vectorul propriu corespunztor, adic exist o constant 0 astfel nct

    2

    1kkyyyy

    ,

    ceea ce nseamn o vitez de convergen foarte bun. Mai mult, pentru matrice hermitice (simetrice) se poate demonstra c se asigur chiar o convergen cubic. Aceste excelente proprieti de convergen sunt moderate de efortul de calcul sporit, n raport cu metoda puterii, necesare pentru rezolvarea unui sistem liniar la fiecare iteraie. Totui, dac matricea A are o structur particular, cum ar fi de exemplu forma Hessenberg, metoda puterii

    inverse, cu alegerea deplasrii egal cu ctul Rayleigh, este considerat ca fiind cea mai performant. Deplasri de forma IAA , destinate sporirii vitezei de convergen, pot

    fi utilizate, n principiu i n cazul metodei puterii, ns cu o eficien mult mai redus. Formele concrete ale algoritmilor pentru implementarea metodelor puterii i puterii inverse se obin prin completarea schemelor de calcul (76), (83) cu trunchierea irurilor respective pe baza unor criterii de oprire a iteraiilor cum ar fi

    ,yy1 )k(T)1k(

    este o toleran dat, care consider aproximaia drept satisfctoare atunci cnd doi vectori succesivi sunt suficient de coliniari (realizarea trunchierii cnd norma diferenei a dou aproximaii succesive scade sub o toleran dat poate s nu dea rezultate: dac sensul vectorului se schimb la fiecare pas acest norm tinde ctre 2). Dac acest criteriu nu este atins dup un numr maxim admis de iteraii, se consider c metoda nu asigur convergena dorit. Cu aceste precizri putem s prezentm algoritmii formali de implementare a metodei puterii i a metodei puterii inverse.

    Metoda puterii directe

    [,x,OK]=MPD(A, y, maxit, ) % Intrri:

    % A = matricea dat;

    % y = aproximaia iniial a vectorului propriu;

  • 4

    % = tolerana impus; % maxit = numrul maxim de iteraii.

    % Ieiri:

    % = valoarea proprie dominant; % x = vectorul propriu asociat.

    % OK = indicator succes / esec

    OK=1;

    k=0;

    y=y/norm(y);

    e=2*;

    while e>= k=k+1;

    if k>maxit

    OK=0;

    error(nu s-a atins precizia impusa);

    end

    x=A*y;

    x=x/norm(x);

    e=abs(1-abs(y*x));

    y=x;

    end

    =x*A*x;

    Metoda puterii inverse cu deplasare Rayleigh

    [,x,OK]=MPI(A,y,maxit,) % Intrri:

    % A = matricea dat;

    % y = aproximaia iniial a vectorului propriu;

    % = tolerana impus; % maxit = numrul maxim de iteraii.

    % Ieiri:

    % = valoarea proprie dominant; % x = vectorul propriu asociat.

    % OK = indicator succes / esec

    k=0;

    y=y/norm(y);

    =y*A*y;

    E=2*;

    while e>= k=k+1;

    if k>maxit

    OK=0;

    error(nu s-a atins precizia impusa);

    end

    x=(A-)\y; x=x/norm(x);

    e=abs(1-abs(y*x));

    y=x;

    =x*A*x; end

  • 5

    Pentru a asigura eficiena necesar algoritmului, rezolvarea sistemului liniar trebuie s exploateze eventuale particulariti structurale ale matricei sistemului. Algoritmii prezentai sunt destinai calculului unui singur vector propriu i al valorii proprii asociate. Dac se dorete calculul mai multor valori i vectori proprii pentru o matrice dat, aceti algoritmi trebuie completai cu o procedur de deflaie. Principiile unei astfel de proceduri sunt date n demonstraia teoremei 9.4 i sunt utilizate implicit n cadrul algoritmului QR

    prezentat ulterior.

    n ncheierea acestui paragraf, considerm necesar s subliniem faptul c cea mai bun metod de calcul a unui vector propriu, n absena oricrei informaii iniiale despre valoarea proprie asociat, este metoda puterii inverse cu deplasarea dat de ctul Rayleigh.

    Deflaia valorilor proprii.

    Presupunem c am localizat o pereche dominant (1,x1) i dorim s continum procesul

    pentru celelalte perechi proprii, presupunnd c acestea sunt distincte. Situaia este aplicabil matricelor simetrice cu elemente reale.

    (A)={1,2,...,n} X(A)={x1,x2,...,xn}

    Dac formm matricea:

    B=(In-x1yT)A, cu yTx1=1

    atunci:

    (B)={0,2,...,n} X(B)={x1,z2,...,zn}

    n care:

    zi=xi-x1yTxi=xi-y

    Txix1, i=2:n

    Demonstraie: Mai nti vom alege vectorul y coliniar cu x (sunt i alte opiuni posibile).

    y=.x, 1xxxxy2

    2

    TT 2

    2x

    1

    2

    2x

    xy

    B.x1=(In-x1yT)A.x1=1x1-1x1y

    Tx1=0

    ceea ce arat c B are valoarea proprie 0 i vectorul propriu corespunztor x1.

    B.xi=A.xi-A.x1.yT.xi=ixi-1x1y

    Txi

    ii

    z

    i

    T

    1iii zxyxxxB

    i

    iiT0

    1ii

    T

    1ii xBxyxBxBxyxxBzB

    Din ultimele dou relaii rezult c: B.zi =izi, ceea ce arat c matricea B are valorile proprii

    i i vectorii proprii zi, cu i=2:n.

    Alt alternativ de deflaie consider: B=A.(In-x1yT), cu yTx1=1

    Vom arta c:

    (B)={0,2,...,n} X(B)={x1,z2,...,zn}

    n care:

  • 6

    n:2i,xxy

    xz 1i

    T

    i

    1

    ii

    n mod asemntor:

    0xyxAxAxB1

    1

    T

    111

    B.xi=A.xi-A.x1yTxi=ixi-1x1y

    Txi

    ii1iTi

    1

    iii zxxy

    xxB

    i0

    1i

    T

    i

    1

    i1i

    T

    i

    1

    ii xBxBxy

    xBxxy

    xBzB

    de unde rezult B.zi=izi.

    Metoda de deflaie Wielandt consider:

    in2i1i

    i11

    TAAA

    x

    1y

    Matricea B=A-1x1yT are:

    (B)={0,2,...,n} X(B)={x1,z2,...,zn}

    n care:

    n:2i,x

    xxxz

    i1

    ii

    1ii

    n

    1j

    i11i11j1iji1xxxAxA

    1xAx

    1xy

    n

    1j

    j1ij

    i11

    1

    T

    i11

    iii

    Ax

    n

    1j

    j1ij

    i11

    i

    T

    x

    xxA

    x

    1xy

    ii

    0xyxxAxyxAxB1

    1

    T

    1111

    T

    111

    B.xi=(A-1x1yT)x1=A.xi-1x1(y

    Txi)

    ii

    i1

    ii

    1ii

    i11

    iii

    11iii zx

    xxx

    x

    xxxxB

    i

    i1

    ii

    0

    1i

    i1

    ii

    1ii xBx

    xxBxB

    x

    xxxBzB

    B.zi = i.zi

  • 7

    Se tie c A i AT au acelai spectru, iar vectorii proprii corespunztori a dou valori proprii

    diferite sunt ortogonali.

    Fie matricea 1

    T

    1

    T

    111

    xy

    yxAB n care x1 i y1 sunt vectorii proprii dominani din A i A

    T

    (B)={0,2,...,n} X(B)={x1,x2,...,xn}

    0xy

    xyxAxBx

    1

    T

    1

    1

    T

    1

    1111

    i

    1

    T

    1

    0

    i

    T

    11

    1ii Axxy

    xyxAxBx

    c.c.t.d.

    Reducerea la forma Hessenberg

    Am vzut c aducerea unei matrice nnRA date la forma Schur real prin transformri (ortogonale) de asemnare este, n absena unor informaii apriorice privind valorile i vectorii proprii, un proces, n mod necesar, infinit. Se ridic ntrebarea natural privitoare la structura cea mai apropiat de forma Schur real, care poate fi obinut printr-un proces de calcul finit.

    Teorema 1. Oricare ar fi nnRA exist o matrice ortogonal nnRU , calculabil printr-o procedur direct (i.e. printr-un numr finit de operaii aritmetice elementare, inclusiv extrageri de radical) astfel nct

    UAUH T

    este superior Hessenberg (adic 0)j,i(H pentru toi 1ji ).

    Demonstraie. Vom da o demonstraie constructiv care va indica modul de obinere efectiv a matricei U ca un produs de reflectori elementari (transformri Householder)

    1n32 UUUU

    conform schemei de calcul

    1. pentru k=1:n-2

    1. Se determin reflectorul Uk+1 asfel nct (Uk+1A)(k+2:n, k)=0

    2. A Uk+1A

    3. A AUk+1.

    care suprascrie matricea A cu matricea H. n primul rnd s observm c reflectorul elementar

    1kU care anuleaz elementele n:2k din coloana k a matricei A exist i are structura

    ,U,IdiagU 1kk1k

    unde 1kU este un reflector de ordinul kn i indice 1. n consecin, la primul pas

    ( 1k ) premultiplicarea matricei A cu 2U anuleaz elementele )1,n:3(A , iar

    postmultiplicarea cu T22 UU , datorit structurii nu afecteaz prima coloan a matricei AU2 ,

    respectiv conserv zerourile create. Prin urmare, am adus matricea A la forma superior

    Hessenberg n prima coloan. Presupunem acum c dup k-1 pai matricea

  • 8

    k22k UAUUUA

    este superior Hessenberg n primele k-1 coloane. Acum, premultiplicarea cu reflectorul 1kU ,

    adecvat calculat, nu modific primele k linii i (n plus, datorit structurii din acest moment a

    lui A) primele k-1 coloane (conservnd astfel zerourile obinute n paii precedeni) i anuleaz

    elementele )k,n:2k(A . Postmultiplicarea cu 1kU nu modific primele k coloane

    conservnd zerourile create la paii precedeni i cele create prin premultiplicarea de la pasul curent.

    Deci procesul de reducere la forma Hessenberg prin transformri Householder de asemnare poate fi iniializat i apoi continuat, ntr-un numr finit de n-2 pai, fiecare pas avnd un numr

    finit de operaii, pn la capt, obinndu-se n final matricea

    1n32231n UUAUUUUHA

    n form superior Hessenberg. Teorema este demonstrat.

    Elementele definitorii 2

    kk

    n

    k v2

    1,Rv ale reflectorilor elementari

    1n:2k,

    vvIU

    k

    T

    kk

    nk

    pot fi memorate n matricea 2nnRV ( kv este coloana k-1 a matricei V) i vectorul

    2n:2k,bRb 1kk2n

    .

    Algoritmul de implementare a schemei de calcul de reducere la forma superior Hessenberg, la

    care adugm acumularea opional a transformrilor (i.e. calculul matricei U) va utiliza intensiv

    rezultatele relative la transformrile Householder prezentate n capitolul 2. Concret, se presupune cunoscut procedura de calcul fiabil i economic al elementelor definitorii ale unui reflector ce anuleaz anumite componente ale unui vector dat, procedur care va fi utilizat explicit n scrierea algoritmilor din acest capitol. Amintim n acest sens c fiind dat un

    vector nenul nRx , elementele definitorii nk Rv , k ale reflectorului (91) care asigur

    anularea componentelor n:1k ale lui x, i.e. 0)n:1k)(xU( k , se calculeaz

    economic cu relaiile

    1. 0)1k:1(vk

    2 2

    )n:k(x))k(x(sign

    3. )k(x)k(vk

    4. )k(xk

    5. ).n:1k(x)n:1k(vk

    n ceea ce privete procedurile de premultiplicare i de postmultiplicare ale unei matrice cu un reflector, pentru comoditatea cititorului, preferm s le prezentm detaliat aici. Astfel este suficient s dispunem de procedurile de premultiplicare (eventual cu suprascriere) UABA a

    unei matrice pnRA i de postmultiplicare (eventual cu suprascriere) AUBA a

    unei matrice nmRA cu un reflector

    uuIU

    T

    n de ordin n si indice 1. Precizm c

    n variantele cu suprascriere aceasta se efectueaz intern, element cu element, fr a se crea matricea intermediar B.

  • 9

    Premultiplicarea economic UABA folosete partiia pe coloane a matricelor B,A .

    Notnd )j,:(Aaj , p:1j),j,:(Bbj schema de calcul este

    1. pentru p:1j

    1. jjj Uaba

    n care produsul uaa)

    uuI(Uaba jj

    T

    njjj se efectueaz economic

    calculnd mai nti scalarul

    au

    au

    n

    1i

    ijij

    T . Rezult urmtorul algoritm.

    [B]=refmat(u,,A)

    % Premultiplicarea unei matrice cu un reflector elementar de indice 1.

    % Intrri: R,Ru n = elementele definitorii ale reflectorului;

    % pnRA = matricea dat. %Ieiri: UAB . [n,p]=size(A);

    for j=1:p

    = u(1:n)*A(1:n,j)/;

    B(1:n,j)=A(1:n,j)- *u(1:n); end

    Postmultiplicarea economic AUBA folosete, absolut analog, partiia pe linii a

    matricelor A, B. Notnd ):,i(AaTi , m:1i),:,i(BbT

    i schema de

    calcul este

    1.pentru m:1i

    1. Uaba TiT

    i

    T

    i

    n care produsul TT

    i

    T

    n

    T

    i

    T

    i

    T

    i

    T

    i ua)

    uuI(aUaba se efectueaz

    economic calculnd mai nti scalarul

    ua

    ua

    n

    1j

    jijT

    i

    . Rezult urmtorul algoritm.

    [B]= matref(A,u, )

    % Postmultiplicarea unei matrice cu un reflector elementar de indice 1.

    % Intrri: nmRA = matricea dat;

    % R,Run = elementele definitorii ale reflectorului.

    %Ieiri: AUB [m,n]=size(A);

    for i=1:m

  • 10

    = A(i,1:n)*u(1:n)/;

    B(i,1:n)=A(i,1:n)- *u(1:n); end

    Utiliznd relaiile de calcul ale unui reflector elementar ce anuleaz componentelele dorite ale unui vector dat precum i funciile refmat i matref algoritmul de reducere a unei matrice la

    forma superior Hessenberg prin transformri ortogonale de asemnare poate fi scris ntr-o form mai concis cum este cea prezentat n continuare.

    % Reducerea la forma Hessenberg

    [A,U,V,b]=HQ(A)

    % Intrri:

    % A = matricea dat;

    %Ieiri: AUUHA T = matricea superior Hessenberg ortogonal asemenea cu A;

    % nnRU = matrice ortogonal de transformare

    % )2n(nRV = matrice cu coloane vectorii definitori ai transformrilor;

    % 2nRb = vector coninnd scalarii definitori ai transformrilor. [n,n]=size(A); U=eye(n,n);

    for k=1:n-2

    % Determinarea lui 1kU , i.e. )k,:(Vv 1k , )k(b 1k

    0)k,k:1(V

    )k,n:1k(A))k,1k(A(sign

    )k,1k(A)k,1k(V

    )k,1k(V)k(b

    )k,n:2k(A)k,n:2k(V ;

    % Calculul AUA 1k

    )k,1k(A ;

    0)k,n:2k(A ;

    )]n:1k,n:1k(A[

    refmat ))n:1k,n:1k(A),k(b),k,n:1k(V( ;

    % Calculul 1kAUA

    [A(:,k+1:n)]=matref(A(;,k+1:n),V(k+1:n,k),b(k));

    % Acumularea transformrilor (i.e. calculul 1kAUA )

    )]n:1k,:(U[

    matref ))k(b),k,n:1k(V),n:1k,:(U( ;

    Complexitatea algoritmului este )n(O3

    fiind necesare 3op n

    3

    10N operaii elementare n

    format virgul mobil. Dac se calculeaz i matricea de transformare U, atunci trebuie

    executate nc 3op n3

    4N operaii.

    Algoritmul 9.3 este un algoritm numeric stabil, existnd demonstraii pentru faptul c matricea Hessenberg calculat ntr-o aritmetic de virgul mobil este un rezultat exact pentru o matrice iniial foarte puin perturbat.

  • 11

    Observaie: Este posibil reducerea matricei A la forma superior Hessenberg prin transformri

    de asemnare neortogonale cu un efort de calcul redus aproximativ la jumtate din cel cerut de algoritmul 9.3. O astfel de posibilitate o ofer construcia transformrii sub forma unui produs de transformri gaussiene elementare stabilizate (deci cu permutri de linii)

    1n:2k),MP( kk cu T

    kknk emIM i kP o matrice de permutare a liniei k cu

    o linie kik (vezi problema rezolvat R9.17). Motivele pentru care, totui, sunt preferate

    transformrile ortogonale se refer la faptul c acestea din urm conserv condiionarea numeric a problemei de calcul a valorilor i vectorilor proprii i asigur o stabilitate numeric mult mai bun. Matricea superior Hessenberg ortogonal asemenea cu matricea dat obinut cu algoritmul de mai sus nu este unica matrice Hessenberg care satisface (86). ntr-adevr dac A este matricea

    dat i nn0 RQ este o matrice ortogonal arbitrar atunci aplicnd algoritmul matricei

    0

    T

    0AQQ obinem

    AQQUAQQUH T0T

    0

    T

    cu UQQ 0 i H superior Hessenberg, n general diferit de matricea H. Se observ totui c

    111n321 eeUUUUe

    i deci

    10101 eQUeQQe .

    De aici se poate extrage ideea c determinant pentru identitatea transformrii este prima sa coloan. Aceast observaie are o importan capital n dezvoltarea procedural a algoritmului QR cu deplasare implicit prezentat ntr-o seciune ulterioar i care reprezint un rezultat de

    importan recunoscut n calculul numeric matriceal. Contextul n care acioneaz algoritmul QR cu deplasare implicit este cel al matricelor superior Hessenberg ireductibile i.e. al

    matricelor superior Hessenberg cu toate elementele de pe prima subdiagonl nenule. Acum transpunem observaia de mai sus ntr-un cadru formal dat de urmtoarea teorem.

    Teorema 2. Fie nnRA i matricele ortogonale nn

    RV,U astfel nct matricele

    AVVG,AUUH TT

    sunt ambele superior Hessenberg ireductibile, i.e.

    .1n:1j,0g,0h j,1jj,1j

    Dac matricele U i V au aceeai prim coloan )1,:(V)1,:(U

    atunci ntre celelalte coloane exist relaiile .n:2j),j,:(V)j,:(U

    Mai mult, avem cu necesitate

    .j,i,gh ijij

    Demonstraie. Matricea ortogonal UVQ T are ca prim coloan vectorul

    1

    TT

    1 e)1,:(VV)1,:(UV)1,:(Qq . Celelalte coloane ale matricei Q pot fi

    exprimate recurent n raport de precedentele n modul urmtor. Rezult TT VGVUHUA ,

    i.e. GQQH , relaie care, scris pe coloane, ne conduce la

  • 12

    j

    1k

    j,1jj,k .h)1j(:,Qh)k(:,Q)j(:,QH)j(:,GQ

    Acum, notnd )j,:(Qqj , avem

    .h

    hqGq

    qj,1j

    j

    1k

    kjkj

    1j

    Este uor de observat c aceast recuren induce, n mod necesar, matricei Q o structur

    superior triunghiular. ntr-adevr, G fiind superior Hessenberg iar q1 avnd numai primul

    element nenul rezult c q2 are numai primele dou elemnte nenule etc. Inversa unei matrice

    superior triunghiulare este superior triunghiular. Dar Q fiind ortogonal rezult c este simultan

    superior i inferior triunghiular, i.e. Q este o matrice diagonal. Cum elementele diagonale ale

    unei matrice ortogonale diagonale nu pot fi dect egale cu 1 , rezult

    .)j,:(V)e(V)j,:(VQ)j,:(U j

    De asemenea din GQQH avem QGQH , de unde rezult c teorema este demonstrat.

    Miezul teoremei const n faptul c transformrile ortogonale U i V de reducere a aceleiai

    matrice la o form superior Hessenberg ireductibil sunt esenial determinate (mai puin un semn la fiecare coloan) de prima lor coloan. Dac prima coloan din cele dou matrice de transformare este identic, atunci i rezultatul reducerii este esenial acelai (mai puin semnul unor elemente). Aici termenii esenial aceleai semnific faptul c cele dou matrice superior Hessenberg sunt la fel de departe de o form Schur a matricei iniiale, al carei calcul este obiectivul principal al problemei valorilor i vectorilor proprii.

  • CALCULUL VALORILOR PROPRII I VECTORILOR PROPRII PENTRU MATRICE NESIMETRICE

    Sistemele dinamice liniare formeaz o clas important, cu aplicaii largi n domenii variate ale tiinei i tehnicii. Acestea sunt reprezentate numeric de un set de matrice, iar proprietile lor sunt exprimate, din punct de vedere cantitativ, n termenii elementelor acestor matrice. Astfel stabilitatea sistemelor liniare

    este condiionat exclusiv de plasarea valorilor proprii ale matricei de stare a sistemului. n acest capitol sunt prezentate, n principal, cele mai performante metode de calcul ale valorilor proprii

    ale matricelor reale dense nesimetrice care se ntlnesc cel mai des n aplicaii. Din motive de eficien aceste metode fac apel, practic exclusiv, la o aritmetic real dei valorile proprii ale unei matrice reale pot fi i complexe. Din motive de condiionare numeric calculul vectorilor proprii se face cu mai puin acuratee i, din acest motiv, practica numeric recomand utilizarea n aplicaii n locul lor a vectorilor Schur, definii n acest capitol. Cazul matricelor complexe poate fi redus la cazul matricelor reale de ordin dublu.

    Valori i vectori proprii

    Prezentm aici conceptele de valoare proprie i vector propriu ale unei matrice i principalele lor proprieti. De asemenea, avnd n vedere faptul c valorile proprii, ca i elementele vectorilor proprii, ale

    unei matrice reale pot fi numere complexe, reamintim cteva noiuni referitoare la spaiul vectorial nC .

    n acest capitol, prin vector complex n-dimensional x vom nelege un vector coloan cu n elemente complexe

    .n:1i,Cx,

    x

    x

    x

    x i

    n

    2

    1

    Mulimea tuturor vectorilor compleci n-dimensionali va fi notat nC . Evident, orice vector nCx poate

    fi scris, n mod unic, sub forma

    nRv,u,ivux

    unde i este unitatea imaginar. Mulimea tuturor matricelor cu elemente complexe avnd m linii i n

    coloane va fi notat nmC . Dei spaiile liniare nR i nC au foarte multe proprieti comune, induse de

    axiomele comune ale corpurilor de numere complexe i reale, exist i diferene cum sunt cele datorate definirii diferite a produsului scalar standard a doi vectori i a normei vectoriale induse de acesta. Pentru evidenierea unora dintre aceste diferene vom nota conjugatul transpusului (i.e. conjugatul hermitic al)

    unui vector nCx prin TH xx ,

    unde bara superioar semnific operaia de conjugare complex iar indicele T transpunerea.

    Dac nCy,x , definim produsul scalar al celor doi vectori prin numrul complex

    xyyx H, .

    Evident, avem

    yxxy ,, .

    Cu ajutorul produsului scalar putem defini conceptul de ortogonalitate n nC . Vom spune c doi

    vectori sunt ortogonali dac produsul lor scalar este nul, i.e.

  • .0 xyyx HH

    De asemenea, plecnd de la observaia c scalarul xx H este un numr real pozitiv, oricare ar fi vectorul

    nenul nCx , se poate defini urmtoarea norm pe nC

    xxxRC Hn 22 ,: ,

    numit norm euclidian.

    Mai general, foarte multe rezultate referitoare la norme pe nR pot fi extinse la norme corespunztoare pe nC .

    Rolul matricelor reale simetrice este jucat n nnC de matricele hermitice. O matrice nnCA se numete

    hermitic dac

    AAH .

    Dac nnCA este hermitic, atunci scalarul AxxH este real, oricare ar fi nCx , fapt care ne

    permite definirea matricelor pozitiv-definite n nnC . O matrice hermitic nnCA este pozitiv-definit

    dac

    0,0 xCxxAx nH .

    n sfrit, n analogie cu matricele reale ortogonale, vom spune despre o matrice nnCQ c este unitar

    dac are coloanele ortogonale i de norm euclidian (7) unitar, respectiv dac

    nH IQQ .

    Vom introduce acum conceptele de valoare proprie i vector propriu asociat. Dei vom considera mai ales cazul matricelor reale, aceste noiuni pot fi definite n cadrul mai general al matricelor complexe.

    Definiia 9.1 Fie nnCA . Un numr C se numete valoare proprie a matricei A dac exist un

    vector nenul nCx , numit vector propriu asociat valorii proprii C , astfel nct

    .xxA

    Sistemul liniar omogen (11) admite soluii nenule dac i numai dac

    .0det AIp n

    Polinomul monic p() de gradul n se numete polinom caracteristic al matricei nCE , iar ecuaia se numete ecuaie caracteristic. Prin urmare, valorile proprii ale unei matrice sunt zerourile polinomului caracteristic. Dac lum n considerare multiplicitile, numrul valorilor proprii este egal cu ordinul matricei. Mulimea

    nA ,,, 21

    a valorilor proprii ale matricei A poart numele de spectrul (de valori proprii al) matricei A . Numrul real

    i

    Ai

    A

    max

    se numete raza spectral a matricei A . Dac A este o matrice real atunci valorile proprii complexe apar n perechi complex conjugate. Valorile proprii ale unei matrice satisfac relaiile

  • ,tr),(11

    AiiAn

    i

    n

    i

    i

    ,det1

    An

    i

    i

    unde tr(A) este, prin definiie, urma matricei A (vezi problema rezolvat R9.1).

    Dac nCx este un vector propriu asociat valorii proprii A atunci oricare ar fi C0 vectorul xy este de asemenea un vector propriu al matricei A asociat aceleiai valori proprii. n

    consecin, vectorii proprii asociai unei valori proprii nu sunt unic determinai dect ca direcii. Mai mult,

    se arat c mulimea vectorilor proprii asociai unei valori proprii A genereaz un subspaiu liniar

    nCE numit subspaiul propriu al valorii proprii . Subspaiile proprii sunt subspaii A -invariante n sensul urmtoarei definiii.

    Definiia 9.2 Fie o matrice nnCA . Un subspaiu liniar nCV se numete subspaiu -invariant al

    matricei A sau, pe scurt, subspaiu A -invariant dac

    .i.e., VxVAxVVA

    O matrice nnCA care admite n vectori proprii liniar independeni se numete simpl. Se arat c o

    matrice care are cele n valori proprii distincte este simpl, dar reciproca nu este, n general, adevrat.

    Cei n vectori proprii liniar independeni ai unei matrice simple formeaz o baz a spaiului nC , numit

    baza proprie asociat matricei A .

    Ordinul de multiplicitate in al rdcinii i a polinomului caracteristic se numete multiplicitate algebric

    a valorii proprii Ai . Dac 1in valoarea proprie se numete simpl. Dimensiunea )(dim iE a subspaiului propriu al valorii proprii Ai se numete multiplicitatea geometric a valorii proprii

    i . n general, avem

    .dim ii nE

    ncheiem acest paragraf cu un set de proprieti ale subspaiilor invariante i, n particular, ale subspaiilor proprii ale unei matrice.

    Teorema 1 Fie matricea nnCA .

    a) Dac pxxx ,,, 21 sunt vectori proprii ai matricei A i notm pnp CxxxX 21 , atunci subspaiul liniar

    XzyCzCyXS nn incatastfelIm este A -invariant, i.e. orice subspaiu generat de vectori proprii ai unei matrice este un subspaiu invariant al acelei matrice.

    b) Dac nCS este un subspaiu A -invariant p -dimensional i vectorii pxxx ,,, 21 formeaz o

    baz a lui S , atunci exist o matrice ppCB cu

    )()( AB

    astfel nct matricea pnp CxxxX 21 satisface condiia XBAX .

    Matricea B se numete restricia matricei A la subspaiul A -invariant S i se noteaz SAB .

    c) Dac are loc o relaie de forma (20) atunci XS Im este un subspaiu A -invariant.

    d) Complementul ortogonal nCST al unui subspaiu A -invariant S este un subspaiu HA -

    invariant.

  • Demonstraie. a) Pentru orice vector Sy exist un vector pCz astfel nct Xzy i, deci,

    SwX

    z

    z

    z

    xxxzxxxzAxAxAxzAXyA

    pp

    pppp

    22

    11

    21221121 , unde pii :1, sunt valorile

    proprii ale matricei A asociate vectorilor proprii pixi :1, . Prin urmare, subspaiul S este A -

    invariant. b) Coloanele matricei X formnd o baz a subspaiului S , orice vector Sx se scrie sub

    forma pCyyXx , . Pe de alt parte S fiind un subspaiu A -invariant rezult c SxSAx , , n

    particular pentru toi pj :1 avem SAx j , i.e. exist vectorii pjCbp

    j :1, astfel nct

    jj XbAx . Rezult c matricea ppp CbbbB 21 satisface egalitatea (20). Mai mult, dac pCz este un vector propriu al matricei B asociat valorii proprii )(B atunci din (20) avem

    XzXBzAXz . Cum 0z iar X este o matrice monic (i.e. cu coloanele liniar independente)

    rezult c 0 Xzy , adic y este vector propriu al matricei A (coninut n S ) i, deci, )(A .

    Rezult )()( AB . c) Presupunem c are loc (20) pentru o matrice pnCX i o matrice ppCB .

    Atunci avem pCzXBzAXz , , i.e. XXzxXXyAx Im,Im , ceea ce nseamn c

    XS Im este un subspaiu A -invariant. d) Fie Sx i STy doi vectori arbitrari. Subspaiul S

    fiind A -invariant avem SAx i, prin urmare, 0)( xyAAxy HHH . Cum x este un vector arbitrar

    din S , rezult SyAH )( , respectiv TyAH pentru toi Ty , adic subspaiul T este HA -invariant.

    Transformri de asemnare. Forma Jordan

    Vom fi interesai n transformri ale matricei A care conserv spectrul de valori proprii. Astfel de transformri sunt transformrile de asemnare.

    Vom spune c dou matrice A i B sunt asemenea dac exist o matrice nesingular nnCT astfel

    nct

    .1 TATB

    Dac matricea de transformare T este unitar (n cazul real ortogonal) atunci matricele A i B se numesc unitar (ortogonal) asemenea.

    Dac nnCBA , sunt asemenea atunci au acelai spectru de valori proprii

    ,)( BA

    iar dac nCx este un vector propriu al matricei A asociat valorii proprii , atunci vectorul nCy ,

    definit de

    ,xTy

    este un vector propriu al matricei B din (21) asociat aceleiai valori proprii . Evident, valorile proprii ale unei matrice triunghiulare (n particular diagonale) sunt date de elementele

    sale diagonale. De aceea suntem interesai de situaiile n care o matrice dat este asemenea cu o matrice avnd o astfel de structur. O matrice asemenea cu o matrice diagonal se numete diagonalizabil.

    Dac pentru toate valorile proprii distincte ale unei matrice date nnCA avem

    ,dim ii nE

  • atunci matricea A este diagonalizabil, respectiv exist o matrice nesingular nnCXT 1 astfel nct

    .,,,diag 211

    nXAX

    ntr-un astfel de caz matricea A este simpl, coloanele matricei de transformare X formnd un set de n

    vectori proprii liniar independeni ai matricei A . n cazul general, cea mai simpl structur care poate fi obinut prin transformri de asemnare este aa numita form canonic Jordan definit n urmtoarea teorem.

    Teorema 2 Oricare ar fi matricea nnCA exist o matrice nesingular nnCX astfel nct

    ,,,,diag 211 qJJJXAX unde

    iinn

    i

    i

    i

    i

    i CJ

    000

    1000

    010

    001

    cu Ai i nnq

    i

    i 1

    . Matricele Ji se numesc blocuri Jordan.

    Numrul i dimensiunile blocurilor Jordan asociate fiecrei valori proprii distincte din spectrul matricei A sunt unice, dar ordonarea blocurilor n (26) poate fi arbitrar.

    Forma canonic Jordan conine maximul de informaie structural privitoare la o matrice dat. Totui structura Jordan (respectiv numrul i dimensiunile blocurilor) este foarte sensibil la perturbaiile numerice n elementele matricei i, din acest motiv, calculul numeric al formei canonice Jordan ntmpin dificulti serioase (vezi [5]) i nu este recomandat pentru calculul valorilor proprii ntr-o aritmetic aproximativ.

    9.1.3. Localizarea valorilor proprii. Cercurile lui Gershgorin

    In unele aplicaii o localizare a valorilor proprii ntr-un domeniu al planului complex este suficient pentru a evidenia anumite proprieti. Amintim, n acest context, problema aprecierii stabilitii sistemelor dinamice liniare. De asemenea, o localizare a valorilor proprii permite stabilirea unor aproximaii ale acestora utile pentru iniializrile necesare n diverse metode iterative. Exist mai multe rezultate privitoare la localizarea valorilor proprii dintre care cel mai cunoscut este dat de teorema cercurilor lui Gershgorin.

    Teorema 3 Spectrul de valori proprii al unei matrice nnCA satisface condiia

    ,1

    i

    n

    i

    DA

    unde Di sunt discurile (sau cercurile) lui Gershgorin definite de .1

    n

    ijj

    ijiii aazCzD

  • Demonstraie. Fie A i x un vector propriu asociat lui . Fie ix componenta de modul maxim a

    lui x , i.e. 1i

    j

    x

    x pentru toi nj :1 . Atunci linia i a relaiei de definiie xAx se poate scrie sub

    forma ,)(1

    n

    ijj

    jijiii xaxa de unde rezult imediat inegalitile ,11

    n

    ijj

    ij

    n

    ijj i

    j

    ijii ax

    xaa q.e.d.

    Se poate arta c dac unul din discurile lui Gershgorin este izolat de celelalte, atunci el conine o valoare proprie a matricei A i numai una, oferind un mijloc de separare a valorilor proprii. Alte metode de localizare a valorilor proprii ale unei matrice, n general mai fine dar mult mai puin utilizate n practica curent, fac obiectul unor probleme rezolvate sau propuse (vezi seciunile 9.8 i 9.9).

    9.1.4. Condiionarea numeric a valorilor i vectorilor proprii

    Aa cum s-a menionat n primul capitol al lucrrii, acurateea rezultatelor obinute prin rezolvarea unei probleme de calcul numeric ntr-un mediu de calcul aproximativ depinde esenial de doi factori. Pe de o parte precizia obinut depinde de calitatea numeric a problemei, i.e. de sensibilitatea rezultatelor la variaiile datelor problemei n ipoteza unor calcule exacte. Este vorba de aa numita condiionare numeric a problemei. Pe de alt parte calitatea rezultatelor depinde de calitatea algoritmului utilizat, exprimat prin aa numita stabilitate numeric a algoritmului respectiv. ntruct condiionarea numeric a valorilor proprii este independent de modul de calcul al acestora, vom prezenta aici rezultatele eseniale privitoare la aceasta, urmnd ca discuia despre calitile algoritmilor propui s aib loc n finalul capitolului.

    Aprecierea condiionrii numerice se face uzual prin stabilirea unor margini superioare pentru variaiile rezultatelor n raport cu variaiile datelor de intrare. Chiar dac, de multe ori, aceste margini sunt supraevaluate ele ofer posibilitatea detectrii situaiilor critice n care erorile au tendina de a iei de sub control. Evaluarea sensibilitii valorilor i vectorilor proprii se bazeaz pe proprietile de continuitate ale acestora n raport cu elementele matricei. Precizm de la nceput c ne vom ocupa n exclusivitate de cazul valorilor proprii simple. Valorile proprii multiple sunt, n general, mult mai sensibile dect cele simple, iar

    studiul analitic al sensibilitii lor ridic dificulti importante.

    A. Condiionarea numeric a valorilor proprii

    Fie o matrice nnCA , o valoare proprie simpl )(A i vectorii proprii de norm euclidian unitar

    nCyx , la dreapta, respectiv la stnga, asociai valorii proprii . Prin urmare avem xAx i,

    respectiv, HH yAy . Considerm acum o perturbaie GE cu 1G a matricei A . Vom fi

    interesai de evaluarea valorii proprii )( i a vectorului )(x a matricei perturbate EAA ~

    .

    Conform unor rezultate clasice [10], valoarea proprie )( i vectorul propriu )(x admit dezvoltri n

    serie de puteri

    221)(

    221)( vvxx

    convergente ntr-o vecintate a punctului 0 . Evident, avem )0( i xx )0( iar funciile )( i

    )(x sunt continue i derivabile n domeniul de convergen. Vom considera n cele ce urmeaz c

    parametrul este suficient de mic pentru a putea neglija puterile superioare ale acestuia i a ne mrgini la

    aproximaiile liniare ale funciilor )( i )(x . n aceste condiii putem aprecia c sensibilitatea valorii

    proprii )( pe direcia definit de matricea G este dat de 1 i c pentru toate direciile de

    perturbare sensibilitatea sa poate fi definit prin numrul de condiionare

  • 11

    max

    GCG nn

    .

    Pentru a gsi o evaluare a acestui numr de condiionare considerm relaia )()()()( xxGA care

    derivat n raport cu ne conduce, pentru 0 , la

    111 vxAvGx .

    nmulind aceast relaie la stnga cu Hy rezult 111 vyxyAvyGxyHHHH , i.e. xyxGy HH 1

    ntruct HH yAy . innd seama acum de faptul c pentru valorile proprii simple avem 0xyH (vezi

    problema rezolvat R9.5) obinem

    xyxy

    xGy

    xy

    xGy

    HHH

    H

    11

    .

    Prin urmare, numrul de condiionare al unei valori proprii simple este

    xyH

    GCG nn

    1max 1

    1

    .

    Valoarea minim a numrului de condiionare este 1 i se obine atunci cnd vectorii proprii la stnga i la dreapta, asociai valorii proprii de interes, sunt coliniari (aceasta se ntmpl, de exemplu, la matricele hermitice i, n particular, la matricele reale simetrice). Conform dezvoltrilor de mai sus, condiionarea

    indic nivelul de amplificare al erorilor absolute din datele iniiale care se regsesc n erorile absolute

    ale valorilor proprii. Prin urmare, pentru valori proprii cu acelai numr de condiionare erorile relative vor fi cu att mai mari cu ct valorile proprii sunt de modul mai mic.

    n aplicaii prezint interes de multe ori condiionarea unui grup de valori proprii sau a ntregului spectru al unei matrice date. O cale de a defini condiionarea unui grup de valori proprii este de a considera o norm a vectorului condiionrilor numerice a valorilor proprii individuale care fac parte din grup. O alt cale face apel la conceptul de proiector spectral care exprim condiionarea unui grup de valori proprii

    prin poziia relativ a subspaiilor A -invariante i HA -invariante generate de vectorii proprii la dreapta i la stnga asociai valorilor proprii din grup. Pentru detalii recomandm consultarea, de exemplu, a lucrrilor [13], [29], [30]. ncheiem consideraiile noastre privitoare la condiionarea numeric a valorilor proprii prin prezentarea teoremei Bauer-Fike care reprezint un rezultat important ce permite exprimarea condiionrii numerice a spectrului unei matrice simple ntr-un context general.

    Teorema 4 Considerm o matrice nnCA diagonalizabil i fie nnCX o matrice nesingular de

    vectori proprii ai matricei A . Dac nnCE este o matrice de perturbaie arbitrar i

    )( EA este o valoare proprie a matricei perturbate EAA ~

    , atunci

    EXeA

    )(min)()(

    unde

    1)( XXX

    este numrul de condiionare la inversare al matricei X a vectorilor proprii iar este orice

    norm matriceal consistent care satisface condiia

    )(max),,,(diag:1

    21 ini

    n

    (n particular, poate fi oricare din normele ,2,1, pp

    ).

  • Demonstraia teoremei poate fi gsit n [13]. Aici ne vom mrgini la prezentarea unor succinte comentarii. n primul rnd rezultatele specificate n teorem sunt valabile nu numai pentru perturbaii mici ci pentru orice nivel al perturbaiilor. n al doilea rnd, trebuie evideniat rolul jucat de numrul de condiionare la inversare al matricei vectorilor proprii n caracterizarea condiionrii valorilor proprii.

    Interpretnd raportul E

    e )( drept sensibilitate (condiionare) numeric a valorii proprii a matricei A

    pentru care se atinge minimul din (36) rezult c numrul de condiionare la inversare al matricei vectorilor proprii este o margine superioar pentru numerele de condiionare ale tuturor valorilor proprii i, n consecin, poate fi folosit drept msur pentru condiionarea ntregului spectru. Se pot face i alte conexiuni ntre rezultatele din teorema Bauer-Fike i numerele de condiionare definite anterior [13]. ncheiem aceste scurte comentarii cu remarcarea faptului c teorema 9.4 confirm observaia c matricele hermitice (simetrice n cazul real) au un spectru perfect condiionat numeric ntruct, dup cum vom vedea n capitolul 11, acestea au un set complet de vectori proprii ortogonali, i.e. matricea vectorilor proprii este

    unitar (ortogonal) i, deci, are n raport cu norma 2

    numrul de condiionare la inversare egal cu 1

    (cel mai mic posibil).

    B. Condiionarea numeric a vectorilor proprii

    Fie o matrice nnCA cu valorile proprii simple nkk :1, i vectorii proprii asociai n

    k Cx de

    norm euclidian unitar. Considerm matricea perturbat EAA ~

    , unde GE cu 1G i fie

    )(k , )(kx , nk :1 valorile proprii, respectiv vectorii proprii asociai ai matricei perturbate. La fel ca

    n cazul valorilor proprii, pe baza dezvoltrii n serie de puteri (31) a funciei vectoriale )(x , n ipoteza

    unor variaii mici, putem aprecia c sensibilitatea vectorului propriu )(x pe direcia definit de

    matricea G este dat de 1v i c pentru toate direciile de perturbare sensibilitatea sa poate fi definit

    prin numrul de condiionare

    11

    max v

    GCG

    x nn

    .

    Adaptnd notaiile la noul context, relaia (33) se poate scrie sub forma

    )(1)(

    1

    )(

    1

    k

    kk

    kk

    k vxAvGx .

    Deoarece, n ipotezele menionate, vectorii proprii nkxk :1, formeaz o baz a spaiului nC , rezult c

    putem exprima vectorul )(1kv n raport cu aceast baz prin relaia

    n

    i

    i

    k

    i

    k xv1

    )()(

    1 care, introdus n (39),

    produce

    knkiik

    n

    kii

    k

    i xIGx )()(1

    )(

    .

    nmulind la stnga ultima relaie cu Hiy , unde iy este vectorul propriu la stnga al matricei A asociat

    valorii proprii i i, innd seama (vezi problema rezolvat R9.5) de faptul c jixy iH

    j ,0 i

    ,0iH

    i xy obinem

    (42) kinixy

    Gxy

    k

    H

    iik

    k

    H

    ik

    i

    ,:1,)(

    )(

    ,

    cu care numrul de condiionare (39) devine

  • (43)

    n

    kii i

    H

    iik

    i

    n

    kii i

    H

    iik

    k

    H

    i

    GCG

    k

    GCG

    xxy

    xxy

    Gxyv

    nnnnk

    111

    )(

    1

    1

    1

    )(maxmax

    .

    Se observ din evaluarea (43) c sensibilitatea unui vector propriu la variaiile elementelor matricei depinde att de sensibilitile tuturor celorlalte valori proprii ct i de deprtarea valorii proprii asociate de celelalte valori proprii. n consecin, mai ales n cazul existenei unor valori proprii apropiate, condiionarea numeric a vectorilor proprii este mult mai rea dect cea a valorilor proprii. De aceea n literatura de specialitate se recomand evitarea calculului vectorilor proprii. Din fericire, n majoritatea aplicaiilor, acetia pot fi nlocuii cu succes de vectorii Schur (vezi seciunea ce urmeaz). Problema condiionrii unor grupuri de vectori proprii se formuleaz mai general sub forma condiionrii subspaiilor invariante. Condiionarea subspaiilor invariante este influenat decisiv de localizarea valorilor proprii asociate. Este ns posibil ca un subspaiu invariant generat de vectori proprii ru condiionai s aib o condiionare foarte bun dac grupul corespunztor de valori proprii este bine separat de restul valorilor proprii. Pentru detalii privitoare la cuantificarea condiionrii subspaiilor invariante se poate consulta lucrarea [29].

    9.2. Forma Schur real. Tehnici de deflaie

    O modalitate de abordare a calculului valorilor proprii ce pare a fi natural, respectiv determinarea polinomului caracteristic i rezolvarea ecuaiei caracteristice, este practic abandonat n calculul numeric actual pentru dimensiuni de matrice ct de ct semnificative, pe de o parte din cauza sensibilitii ridicate a rdcinilor n raport cu perturbaiile numerice n coeficienii ecuaiilor algebrice, iar pe de alt parte din cauza complexitii relativ ridicate a algoritmilor disponibili pentru calculul coeficienilor polinomului caracteristic. Din aceste motive, metodele numerice cele mai performante de calcul a valorilor proprii fac

    apel la structuri (cvasi)triunghiulare, cum este forma Schur (real). Baza teoretic a calculului performant al valorilor proprii ale unei matrice este dat de urmtoarea teorem.

    Teorema 4. Pentru orice matrice nnCA (n particular nnRA ) exist o matrice unitar nnCQ

    ~

    astfel nct matricea unitar asemenea cu A

    (44) nnH CQAQS ~~~

    este superior triunghiular.

    n cazul real, pentru orice matrice nnRA exist o matrice ortogonal nnRQ astfel

    nct matricea ortogonal asemenea cu A

    (45) nnT RSQAQS

    are o structur cvasisuperior triunghiular

    (46)

    qq

    q

    q

    S

    SS

    SSS

    S

    00

    0 222

    11211

    unde blocurile diagonale qiSii :1, sunt matrice 11 sau 22 , cele de dimensiune 22 avnd

    valorile proprii complexe.

    Matricea S~

    din (27) poart numele de form Schur (FS) a matricei A dac A este complex i de form

    Schur complex (FSC) a lui A dac A este real. Matricea S din (45), (46) poart numele de form

    Schur real (FSR) a matricei A. Coloanele njeQq jj :1,~~ ale matricei Q

    ~ (respectiv coloanele

    njeQq jj :1, ale matricei Q) se numesc vectori Schur ai lui A i formeaz o baz unitar a spaiului

    nC (respectiv, o baz ortogonal a spaiului nR ) numit baza Schur asociat lui A . n multe aplicaii

  • vectorii Schur pot nlocui cu succes vectorii proprii. Evident, elementele diagonale ale matricei S~

    sunt

    valorile proprii ale matricei A , iar n cazul formei Schur reale avem

    (47) iiq

    i

    SSA 1

    i, n consecin, n acest caz calculul spectrului de valori proprii se reduce la rezolvarea unui set de ecuaii algebrice de grad cel mult doi.

    Demonstraia teoremei9.4. Aceast demonstraie pune n eviden o tehnic procedural numit deflaie, care st la baza algoritmului fundamental de reducere a unei matrice reale date la forma Schur real printr-un ir de transformri ortogonale de asemnare.

    a) Mai nti artm cum se pune n eviden, printr-un pas de deflaie, o valoare proprie real.

    Dac A este real, fie nRx 1 un vector propriu asociat. Fr restrngerea generalitii putem presupune 1

    21x . Considerm o matrice ortogonal 1Q a crei prim coloan este 1x , i.e.

    (48) 111 , nnRYYxQ

    (o astfel de matrice exist ntotdeauna: de exemplu 1Q poate fi un reflector elementar care anuleaz

    elementele n:2 ale vectorului 1x ). Evident, avem

    (49) 01 YxT

    i, innd seama de faptul c 111 xxA , rezult

    (50) 111111 xxxAxTT , ,0111 xYxAY

    TT

    de unde obinem matricea

    (51)

    B

    g

    AYY

    AYxAQQA

    T

    T

    TT

    00

    1111111

    care este n form Schur real n prima coloan. b) Un pas de deflaie corespunztor unei perechi de valori proprii complex conjugate

    (52) 0,2,1 i

    pune n eviden un bloc diagonal 22 din forma Schur real. ntr-adevr nu este greu de artat c vectorii proprii asociai valorilor proprii (52) pot fi alei complex conjugai

    (53) ivux 2,1

    cu nRvu , liniar independeni. Din relaia de definiie

    (54) ivuiivuA

    rezult imediat

    (55) .

    vuvuA

    Vectorii u i v fiind liniar independeni genereaz un subspaiu liniar vuS Im bidimensional. Fie

    Syy 21, o baz ortonormal a acestui subspaiu i 2 nnRZ o completare pn la o matrice

    ortogonal a matricei 221 nRyyY respectiv astfel nct matricea

    (56) ZYQ 1

  • este ortogonal. n raport cu baza de mai sus vectorii Svu , se pot scrie

    (57) 221111 ytytu , ,222112 ytytv

    respectiv

    (58) TYvu

    unde 22RT este nesingular, ntruct u i v sunt liniar independeni. n consecin, din (55) avem

    (59) 111 SYTTYAY

    unde matricea

    (60) 22111

    RTTS

    are valorile proprii complex conjugate 2,1 . Prin urmare din (56), (59) avem

    (61)

    0

    11

    YAZ

    SYAYT

    T

    ,

    de unde

    (62)

    B

    GS

    AZZ

    AZYSQAQA

    T

    TT

    00

    1111111

    iniiindu-se reducerea la forma Schur real prin punerea n eviden a unui bloc diagonal 22 . Procesul de deflaie iniializat n (51) sau (62) poate fi continuat acionnd ca mai sus asupra matricei B,

    ceea ce este echivalent cu aciunea asupra matricei 1A prin transformri ortogonale de asemnare definite

    de matrice de forma ),(diag 22 QIQ . n final, dup q pai de deflaie se obine forma Schur real.

    Matricea cumulat a transformrilor ortogonale este dat de

    (63) .21 qQQQQ

    Teorema 9.4 este demonstrat.

    n continuare ne vom limita universul de investigaie la clasa de matrice predominant n practica numeric i anume cea a matricelor reale. Dac n cazul complex apar numai deflaii de tipul a), n cazul real avantajul principal const n faptul c forma Schur real a unei matrice reale poate fi calculat utiliznd exclusiv o aritmetic real. n acest fel, n procesul de calcul al valorilor proprii ale unei matrice reale numerele complexe apar numai n final, la calculul valorilor proprii ale blocurilor diagonale 22 .

    Aplicarea procedurii de deflaie presupune cunoaterea la fiecare pas al procedurii, a unui vector propriu de norm unitar (respectiv a unei perechi complex conjugate de vectori proprii) asociat valorii proprii corespunztoare. Calculul unui vector propriu, n absena informaiei privitoare la valoarea proprie asociat, nu este posibil, pentru matrice de ordin superior lui patru, printr-o secven finit de operaii elementare, pentru c s-ar contrazice un rezultat fundamental din algebr conform cruia rezolvarea ecuaiilor de grad superior lui patru nu este posibil printr-un numr finit de operaii aritmetice elementare i extrageri de radical. De aceea procedura de deflaie trebuie s fie completat cu o procedur de determinare a unui vector propriu, fr cunoaterea valorii proprii asociate. O astfel de procedur va furniza, inerent, o aproximaie mai mult sau mai puin precis a vectorului propriu, att datorit erorilor de trunchiere, ct i erorilor de rotunjire. n acest context este important de tiut care este cea mai bun aproximaie a valorii proprii

    asociate unui vector propriu cunoscut aproximativ. Fie nRx un astfel de vector propriu aproximativ i

  • considerm drept cea mai bun aproximaie a valorii proprii asociate soluia n sensul celor mai mici

    ptrate a sistemului de n ecuaii i necunoscuta scalar

    (64) ,xAx

    i.e. acel care minimizeaz norma euclidian a reziduului de ecuaie .xxAr Conform celor artate n capitolul 3 avem

    .)( 1 AxxxxxAx TT

    Numrul

    (65) ,xx

    xAxT

    T

    se numete ctul Rayleigh asociat perechii ),( xA i joac un rol esenial n calculul (aproximativ) al

    valorilor proprii. Pentru nceput s observm c, aplicarea procedurii de deflaie, cu transformarea (48), n

    care 1x este un vector propriu aproximativ, de norm unitar, conduce la

    (66)

    Bh

    gQAQA

    TT 111

    avnd dat de (65) i vectorul 1xAYhT de norm euclidian mic. Prin urmare, aplicarea

    transformrii (48) reprezint, n condiiile date, un pas de deflaie optim ntruct este cea mai bun

    aproximaie de care dispunem. O concluzie asemntoare se poate stabili i n cazul unei perechi de valori proprii complex conjugate.

    Observaiile de mai sus evideniaz necesitatea unei proceduri de calcul a unui vector propriu. Dintre metodele cele mai folosite n acest scop sunt tehnicile iterative cunoscute sub denumirile de metoda

    puterii i metoda puterii inverse.

  • 1

    Algoritmul QR cu deplasare explicit

    Algoritmul QR, considerat drept unul dintre rezultatele cele mai remarcabile ale calculului

    numeric matriceal (elaborat, n forma sa cea mai evoluat, independent, de ctre V.N. Kublanovskaia [20] i J.G.F. Francis [9]), este, n esen, o procedur de construcie iterativ a unui ir de matrice ortogonal asemenea cu matricea iniial i rapid convergent ctre forma Schur real. Aa cum am mai precizat, ne vom ocupa practic n exclusivitate de calculul valorilor proprii pentru matrice reale din trei motive:

    - matricele reale sunt cel mai des ntlnite n aplicaii; - cazul matricelor complexe poate fi redus la cel al matricelor reale de ordin dublu (vezi

    problema rezolvat R9.13.); - versiunea complex necesit introducerea mijloacelor adecvate (transformri unitare,

    reflectori i rotaii complexe etc.) pentru care nu dispunem de spaiul tipografic necesar; precizm totui c ideile sunt absolut similare iar cititorul interesat poate consulta [5], [13], [29].

    Toate versiunile algoritmului QR sunt organizate n dou etape:

    1. etapa direct, de reducere a matricei date la forma superior Hessenberg prin transformri ortogonale de asemnare (algoritmul HQ din seciunea precedent);

    2. etapa iterativ, de construcie recurent a unui ir de matrice convergent ctre forma Schur real.

    n cele ce urmeaz vom considera parcurs prima etap i numai la asamblarea ntregului algoritm vom evidenia n mod explicit reducerea la forma superior Hessenberg. Partea iterativ a algoritmului QR prezint patru versiuni i anume

    a) cu deplasare explicit cu pai simpli, b) cu deplasare explicit cu pai dubli, c) cu deplasare implicit cu pai simpli, d) cu deplasare implicit cu pai dubli,

    dintre care numai ultima este utilizat ca baz a programelor profesionale de calcul al valorilor i vectorilor proprii. Motivele constau n faptul c versiunile cu pas simplu nu asigur convergena n prezena valorilor proprii complexe iar versiunea cu pai dubli cu deplasare explicit este ineficient, ascunznd, ntr-un mod cu totul insidios (!), calcule redundante. Totui, pentru claritatea expunerii (de exemplu, pasul dublu este, n esen, concatenarea a doi pai simpli succesivi), vom parcurge, la nivelul ideilor, relaiilor i al eventualelor scheme de calcul, toate versiunile; scrierea detaliat a algoritmului formal o vom face numai pentru versiunea cea mai evoluat i anume cea cu deplasare implicit cu pai dubli.

    Algoritmul QR cu deplasare explicit cu pai simpli

    Fie matricea superior Hessenberg ireductibil nnRH (dac matricea H este reductibil,

    atunci problema fie i reduce dimensiunea, fie se sparge n dou subprobleme de dimensiuni mai mici). Algoritmul QR cu deplasare explicit cu pas simplu este definit de urmtoarea schem

    de calcul

    1. HH0

    2. pentru ,2,1,0k

    1. kknkk RQIH

    2. nkkk1k IQRH

  • 2

    care construiete iterativ irul matriceal

    ,H,H,,H,H 1kk10 ,

    numit irul QR. Instruciunile din ciclu definesc o iteraie sau un pas QR. n aceast seciune vom

    descrie succint proprietile irului QR i vom da o justificare calitilor sale excepionale de

    convergen.

    Dup cum se observ, un pas QR este format dintr-o factorizare QR (vezi capitolul 2) a matricei

    curente kH avnd elementele diagonale "deplasate" cu scalarul k i apoi matricea succesor

    1kH se obine din multiplicarea, n ordine invers, a rezultatelor factorizrii, urmat de

    refacerea deplasrii. Principalele proprieti ale acestor transformri sunt sintetizate n urmtoarea teorem.

    Teorema 1 a) Matricele kH i 1kH i, prin urmare, toate matricele irului QR, sunt

    ortogonal asemenea.

    b) Un pas QR conserv structura superior Hessenberg. Prin urmare dac matricea iniial este superior Hessenberg, atunci toate matricele irului QR sunt superior Hessenberg.

    Demonstraie. a) Din prima relaie a pasului QR avem )IH(QR nkkT

    kk , de unde

    kkT

    knkknkk

    T

    knkkk1k QHQIQ)IH(QIQRH .

    n consecin, toate matricele kH din irul QR sunt ortogonal asemenea cu matricea iniial H .

    ,2,1,0k,Q~HQ~H kT

    kk

    unde matricea cumulat a transformrilor ortogonale

    1k10k QQQQ~

    se poate obine iterativ cu relaiile

    ,2,1,0k,QQ~

    Q~

    ,IQQ~

    kk1kn00 .

    b) Dac kH este o matrice superior Hessenberg, atunci n factorizarea QR din instruciunea 2.1

    matricea ortogonal kQ rezult superior Hessenberg (demonstrai!). Cum produsul unei matrice

    superior triunghiulare cu o matrice superior Hessenberg este superior Hessenberg (demonstrai!), rezult c 1kH este o matrice superior Hessenberg. Teorema este demonstrat.

    Faptul c toate matricele din irul QR sunt superior Hessenberg are urmri benefice pentru

    eficiena algoritmului QR (complexitatea unei iteraii se reduce de la )n(O 3 la )n(O 2 .

    n continuare expunem o proprietate extrem de important a irului QR, proprietate care, nefiind adevrat ntotdeauna, nu este un fapt matematic i, prin urmare, nu a putut s fie inclus n teorema de mai sus. Proprietatea s-a dovedit adevrat practic n toate aplicaiile concrete dar a fost invalidat pe exemple special construite n acest scop. Remarcm aceast situaie paradoxal n care un rezultat fr valoare universal st la baza celei mai performante metode de calcul al valorilor proprii ale unei matrice. Enunul proprietii este urmtorul.

    c) Printr-o alegere adecvat a deplasrii k irul QR converge, aproape ntotdeauna, ctre

    forma Schur a matricei H .

  • 3

    Justificare. Vom arta mai mult, i anume c, printr-o alegere corespunztoare a deplasrilor k ,

    aceast convergen poate fi fcut extrem de rapid. n fapt, trebuie artat c unele din elementele subdiagonale ale matricei kH se anuleaz asimptotic cnd k . Pentru

    simplificare, considerm c matricea H are numai valori proprii reale, respectiv trebuie anulate asimptotic toate elementele subdiagonale (n caz contrar trebuie s lum n consideraie deplasri complexe).

    nkkTkTknkkTkk IQ~HQ~QIHQR knkT 1k Q~IHQ~ , de unde avem

    .Q~IHRQ~ knkk1k innd seama de faptul c matricea kR este superior triunghiular, prima coloan a egalitii

    devine (n cazul Hk )

    ,q~IHr

    1q~

    k

    1nkk

    11

    1k

    1

    unde 1kk

    1 eQ~

    q~ . Relaia arat c prima coloan a matricei ortogonale kQ~

    se supune iteraiei

    metodei puterii i, n consecin, tinde ctre vectorul propriu unitar asociat valorii proprii

    dominante a matricei nIA (dac iniializarea 0

    1~q are component nenul pe aceast

    direcie, ceea ce, generic, este satisfcut), respectiv

    .YxQ~limQ~ 1kk

    Conform procedurii de deflaie rezult c

    0hlimk

    21k

    ,

    adic matricea kH tinde ctre forma Schur n prima coloan punnd n eviden pe poziia (1,1),

    o valoare proprie (real) a matricei H.

    Transpunnd relaia avem nkTTkT 1kTk IHQ~

    Q~

    R , sau

    1knkTTkk Q~

    IHRQ~

    . Lund egalitatea ultimelor coloane din ultima relaie obinem

    knnn1knnkT q~rq~IH ,

    care arat c ultima coloan a matricei kQ~

    se supune iteraiei puterii inverse pentru matricea HT

    cu deplasarea curent de accelerare a convergenei k . n consecin, coloana knq

    ~ tinde ctre

    un vector propriu al matricei HT i anume ctre cel asociat valorii proprii kk

    lim

    ,

    cea mai apropiat de aproximaia iniial. Aceast convergen este cu att mai rapid cu ct deplasarea curent este mai apropiat de o valoare proprie a matricei H . n consecin, analog cu (110) i simultan cu ea, avem

    nkk

    uZQ~

    limQ~

    ,

    unde nu este un vector propriu unitar al matricei HT. Rezult c matricea limit a irului QR este:

    .Q~HQ~Q~HQ~H TTTT

    Dar, ntruct )H()H( T i nnnT

    uuH , rezult relaia

  • 4

    ,ZHu

    0ZHZuZA

    u

    ZQ~

    HQ~

    n

    TT

    n

    TT

    n

    T

    T

    n

    T

    TT

    care pune n eviden o deflaie n ultima coloan a matricei HT sau, echivalent, o deflaie n

    ultima linie a matricei H. innd seama de faptul c procesul iterativ are loc cu conservarea

    structurii superior Hessenberg rezult c n matricea kH din irul QR avem

    0hlim k 1n,nk

    cu o vitez mare, caracteristic metodei puterii inverse. Din (115) reiese c

    nk

    n,nk

    hlim

    ceeace nseamn c knnh reprezint o aproximare din ce n ce mai bun a valorii proprii n . n

    consecin, alegerea deplasrii

    kn,nk h

    asigur o convergen ptratic (adic excelent) pentru anularea elementului 1n,nh .

    Am artat deci c irul QR asigur o deflaie iterativ n prima coloan i, cu alegerea (117) a

    deplasrii, una foarte rapid n ultima linie. n practic se constat chiar mai mult, i anume, reducerea simultan, cu viteze diferite, a tuturor modulelor elementelor subdiagonale, fapt care explic remarcabilele proprieti de convergen ale algoritmului. Cu toate acestea exist situaii patologice, dificil de caracterizat matematic, n care irul QR nu converge (vezi [5]). Cu

    aceast observaie ncheiem justificarea proprietii c).

    Trunchierea procesului iterativ al irului QR se face progresiv, anulndu-se efectiv elementele

    subdiagonale convergente ctre zero n momentul satisfacerii unui criteriu de forma

    kk

    1p,p Hh

    sau, mai simplu:

    kppk 1p,1pk 1p,p hhh ,

    unde este o toleran precizat, iar o norm matriceal oarecare. Anularea unuia sau mai

    multor elemente subdiagonale reduce, evident, dimensiunea problemei de deflaie iterativ, sprgnd eventual problema curent n dou sau mai multe probleme de aceeai natur. ntruct, aa cum s-a mai menionat, implementrile profesionale ale algoritmului QR merg pe o

    cale specific (prezentat mai departe), recomandm cititorului, ca un exerciiu util, s elaboreze algoritmul de implementare a unui pas QR definit n (101) cu alegerea (117) a deplasrii. Se

    recomand efectuarea calculelor pe loc, n tabloul matricei iniiale kHH . Pentru factorizarea

    QR a matricei nIH din (101) se recomand utilizarea unei secvene de rotaii plane.

    Calculul efectiv al matricei de transformare curente kQQ nu este necesar putndu-se utiliza

    forma sa factorizat

    n,1n2312 PPPQ .

    Astfel schema de calcul propus pentru suprascrierea matricei kHH cu matricea succesor

    1kH din irul QR are urmtoarea form.

  • 5

    1. nnh

    2. nIHH

    3. Pentru 1:1 nj

    1. Se determin rotaia plan 1, jjP astfel nct

    0)( ,11, jjT

    jj HP .

    2. HPH T jj 1,

    4. Pentru 1:1 nj

    1. 1, jjHPH

    5. nIHH

    Algoritmul QR cu deplasare explicit funcioneaz foarte bine n cazul matricelor cu spectru real, existena valorilor proprii complexe creaz probleme serioase n evidenierea asimptotic a blocurilor 22 din forma Schur real.

    9.5.2. Algoritmul QR cu deplasare explicit cu pai dubli

    Pentru depirea dificultilor legate de absena convergenei irului QR creat de utilizarea pailor simpli atunci cnd matricea are valori proprii complexe se adopt aa numita strategie a pailor dubli QR care comprim ntr-o singur iteraie doi pai simpli QR succesivi. Pentru a deduce procesarea aferent unui pas dublu curent observm c din ecuaiile a doi pai simpli QR consecutivi descrii, conform relaiilor (101), de

    kknkk RQIH

    nkkk1k IQRH

    1k1kn1k1k RQIH

    n1k1k1k2k IQRH

    rezult mai nti kkT

    k1k QHQH , relaie care, introdus n ecuaia a treia din (122), conduce

    la 1k1kn1kkkT

    k RQIQHQ . nmulind aceast relaie la stnga cu kQ i la dreapta cu

    kR obinem k1k1kkkk1kkkk RRQQRQRQH , ecuaie care permite obinerea lui 2kH

    direct din kH pe baza relaiilor

    k1k1kknkkn1kk RRQQIHIH

    1kkkT

    1kk2k QQHQQH

    care, la rndul lor, se mai scriu sub forma

    kknkkk2

    k RQIpHsHM

    kk

    T

    k2k QHQH ,

    unde 1kkk s i 1kkk p . Evident, matricea 1kkk QQQ este ortogonal

    iar matricea k1kk RRR este superior triunghiular.

    Ceea ce este important const n faptul c ntr-un pas dublu QR apare ca deosebit de natural alegerea celor dou deplasri k , 1k egale cu cele dou valori proprii (posibil complex

    conjugate) ale blocului 22 din dreapta jos a matricei curente kH , i.e. ale matricei

  • 6

    k

    n,n

    k

    1n,n

    k

    n,1n

    k

    1n,1n

    khh

    hhG .

    Aceste deplasri apar n expresia matricei M numai n forma sumei i produsului

    kn,nk

    1n,1n1kkk hhs

    kn,1n

    k

    1n,n

    k

    n,n

    k

    1n,1n1kkk hhhhp ,

    care sunt reale, inclusiv n cazul n care blocul kG are valori proprii complexe. n consecin,

    matricea M este real, produsul kkRQ reprezint factorizarea QR a matricei M cu kQ i kR

    reale i deci toate calculele aferente unui pas dublu QR pot fi efectuate n exclusivitate n aritmetic real. Mai mult, matricea 2kH din (124) fiind aceeai cu matricea 2kH din (122)

    pasul dublu QR conserv i el structura superior Hessenberg. n concluzie, algoritmul QR cu deplasare explicit cu pas dublu are la baz urmtoarea schem de calcul

    1. Pentru ,2,1k

    1. nnnn hhs 1,1

    2. nnnnnnnn hhhhp ,11,1,1

    3. Se calculeaz npIsHHM 2

    4. Se factorizeaz QRM

    5. HQQH T

    care, n forma implementabil, se completeaz cu procedura de trunchiere constnd n anularea efectiv a elementelor subdiagonale ce satisfac o condiie de tipul (118) sau (119) i monitorizarea elementelor subdiagonale nule pentru detectarea terminrii (testul de terminare ar putea fi inexistena a dou elemente subdiagonale nenule consecutive). Schema asigur o convergen rapid a matricei H ctre o structur cvasisuperior triunghiular cu blocuri diagonale de dimensiune cel mult 22 care, fie c este chiar forma Schur real urmrit, fie c permite calculul direct i imediat al acestei forme prin triangularizarea, cu ajutorul unor transformri de asemnare ortogonal, a blocurilor 22 cu valori proprii reale. Motivul pentru care schema (127) nu constituie suportul implementrilor profesionale ale algoritmului QR este legat de slaba sa eficien. ntr-adevr este uor de vzut c un pas simplu

    QR are o complexitate )( 2nO , datorat n principal structurii Hessenberg cu care opereaz. Doi

    pai simpli QR vor avea aceeai complexitate. n schimb un pas dublu, n varianta (127) necesit

    calculul explicit al matricei M, crescnd complexitatea la )( 3nO . Acest spor de efort de calcul nu

    are o fundamentare teoretic ci se datoreaz mai curnd inabilitii noastre de a organiza

    calculele n cadrul unui pas dublu QR n aa fel nct s pstrm complexitatea )( 2nO . Aa cum

    se va vedea n seciunea urmtoare, abilitatea necesar pentru evitarea creterii complexitii este departe de a fi banal.

    9.6. Algoritmul QR cu deplasare implicit

    Baza teoretic a elaborrii unui algoritm eficient pentru un pas dublu QR este dat de teorema 6 conform creia reducerea unei matrice la forma superior Hessenberg prin transformri ortogonale de asemnare are matricea ortogonal de transformare determinat, n esen, de prima sa coloan.

  • 7

    Concret, putem reduce complexitatea unui pas dublu QR, la )n(O 2 procednd n modul

    urmtor:

    1. Se calculeaz prima coloan a matricei M , i.e. )1,:(1 Mm .

    2. Se determin reflectorul elementar 1U astfel ca

    0):2(11 nmU . adic

    1111111 )(sign eemmmU

    3. Se calculeaz

    11 UHUN kT

    4. Se aplic matricei N algoritmul HQ de aducere la forma superior Hessenberg:

    QNQH T~

    .

    Procedura de mai sus calculeaz forma superior Hessenberg

    Q~HQ~QUHQUH~ kT

    1k

    T

    1

    cu matricea de transformare Q~

    avnd proprietatea

    11111 m

    1eUQeU)1,:(Q

    ~ ,

    penultima egalitate datorndu-se faptului c QQ ,1diag (vezi algoritmul HQ), iar ultima rezult din.

    Pe de alt parte, din prima relaie (124), datorit formei superior triunghiulare a matricei kR , rezult

    .mr

    1eQ 1k

    11

    1k

    n concluzie, matricele ortogonale de transformare Q~

    i Q au aceeai prim coloan i deci,

    conform teoremei 9.6, dac matricele H~

    din (113) i 2kH din (124) sunt ambele ireductibile

    atunci ele sunt, esenial, aceleai. Pentru a ne convinge de complexitatea )( 2nO a procedurii vom

    explicita relaiile (128) - (132). Mai nti vectorul 1m are expresia

    0

    hh

    shhh

    pshhhh

    m3221

    221121

    112112

    2

    11

    1

    n care am omis scrierea indicelui k asociat matricei kH . Vectorul 1m avnd numai trei

    componente nenule, calculul su necesit un numr de operaii independent de n , deci are o o

    complexitate )1(O . n plus, reflectorul 1U din (129) are structura

    3n11 I,UdiagU cu 331

    RU a crui determinare are, de asemenea, o complexitate )1(O .

    n calculul matricei N sunt afectate numai primele trei linii i primele trei coloane ale matricei

    HHk . ntr-adevr, dac partiionm

  • 8

    33112221

    1211RH,

    HH

    HHH

    atunci

    22121

    12

    T

    1111

    T

    1

    1

    T

    1HUH

    HUUHUHUUN .

    n plus, blocul 21H are structura

    000

    000

    h00

    H

    43

    21

    i, prin urmare,

    4n

    1

    00

    Uh00UH

    143121

    adic transformarea (131) altereaz structura Hessenberg a matricei H numai n poziiile (3,1), (4,1) i (4,2). Prin urmare, aplicarea algoritmului HQ are ca obiectiv anularea, prin transformri ortogonale de asemnare, a celor trei elemente nenule ale matricei N alterante ale structurii superior Hessenberg. Pe de alt parte, aceast particularitate structural (numai trei elemente n afara structurii Hessenberg n matricea iniial) oblig la adaptarea algoritmului HQ astfel nct s se obin o eficacitate maxim. Schema de calcul a acestei particularizri a algoritmului HQ este urmtoarea.

    1. Pentru 2:1 nj

    1. Se determin reflectorul elementar 1jU astfel nct

    0),)(( 1 jiNU j pentru 3:2 jji i ni .

    2. NUN j 1

    3. NNUN j 1

    cu precizarea c diferena fa de algoritmul HQ standard const n faptul c de data aceasta, la

    fiecare pas se anuleaz numai dou elemente (la ultimul, unul singur), celelalte elemente fiind nule din start.

    SNu este greu de constatat c reflectorii elementari utilizai n schema (142) au structura

    3n:1j,I,U,IdiagU 3jn1jj1j ,U,IdiagU 1n2n1n

    unde 221n33

    1j RU,RU

    sunt reflectorii elementari de ordinul 3, respectiv 2.

    Pe aceast baz rezult imediat c numrul asimptotic de operaii aritmetice necesar pentru

    execuia schemei (142) este 2op n10N , la care se adaug 2n extrageri de radicali. Dac se

    dorete acumularea transformrilor, respectiv calculul matricei Q din relaia (132)

    1n21 UUUQ ,

    sunt necesare 2op n10N operaii suplimentare.

  • 9

    Exemplificm, pentru clarificare, evoluia structural datorat execuiei schemei (142), pentru cazul particular 5n .

    000

    N

    000

    ||

    ||

    ||

    2NUN

    ||0

    ||0

    ||0

    ||

    ||

    2NUN

    ||0

    ||0

    ||03NUN

    |00

    |00

    |0

    |

    |

    3NUN

    ||00

    ||00

    04 NUN

    ||000

    ||00

    ||0

    ||

    ||

    4NUN .

    n diagramele de mai sus simbolul marcheaz elementele care altereaz structura Hessenberg,

    simbolul marcheaz elementele anulate la pasul curent, iar ncadrrile marcheaz elementele

    afectate de multiplicarea matriceal curent. n concluzie, complexitatea pasului dublu QR cu deplasare implicit, definit de (128)-(132) i

    prezentat prima dat de J. Francis [9] i V.N. Kublanovskaia [20] n 1961 este )( 2nO , aceast

    form reprezentnd baza implementrilor performante ale algoritmului QR de reducere iterativ a unei matrice la forma Schur real. n scrierea efectiv a algoritmului de implementare a unui pas dublu QR cu deplasare implicit, din motive de concizie, vom utiliza funciile refmat i matref de premultiplicare, respectiv de postmultiplicare cu un reflector elementar (vezi algoritmii 9.3 i 9.4), al cror apel ine seama de structura special din acest caz. De asemenea, nu se realizeaz calculul efectiv al matricei de transformare dar vor fi furnizate elementele definitorii ale reflectorilor utilizai. Concret, pentru calculul matricei Q este suficient cunoaterea reflectorilor de ordinul 3 i 2

    2n:1j,Ru,

    uuIU

    3

    j

    j

    T

    jj

    3j

    ,Ru,

    uuIU

    2

    1n

    1n

    T

    1n1n21n

    ale cror elemente definitorii vor fi memorate ntr-o matrice 1n3RV astfel nct

    2n:1j,u)j,:(V j ,

    0

    u)1n,:(V

    1n i un vector 1nRb al

    scalarilor .1n:1j,j

    Cu aceste precizri, prezentm mai jos algoritmul de implementare a unui pas dublu QR cu deplasare implicit, cu comentarii care s permit identificarea simpl a consideraiilor teoretice de mai sus.

  • 10

    Algoritmul 6

    ],,[ bVH QR2 ),( Hn

    /* Implementarea unui pas dublu QR cu deplasare implicit. /* Intrri: n = ordinul matricei Hessenberg ireductibile de intrare; /* H = matricea real superior Hessenberg ireductibil

    /* Ieiri: HQQH T - suprascrierea matricei de intrare cu matricea

    /* succesor din irul QR cu pai dubli;

    /* )1(3 nRV matrice cu elementele vectorilor de ordinul 3 ce

    /* definesc reflectorii utilizai;

    /* 1 nRb vectorul ce conine scalarii j .

    1./* Calculul sumei i produsului deplasrilor (126) 1. ),()1,1( nnHnnHs

    2. )1,(),1(),()1,1( nnHnnHnnHnnHp

    2. /* Calculul elementelor nenule din 1m cu (136)

    1. psHHHHm )1,1()1,2()2,1())1,1(()1( 21

    2. sHHHm )2,2()1,1()1,2()2(1 3. )2,3()1,2()3(1 HHm

    3. /* Calculul reflectorului elementar 1U din (137)

    1. 211

    ))1((sign mm

    2. )1()1( 1mu

    3. )3:2()3:2( 1mu

    4. uV )1,:(

    5. )1()1( 1 ub

    4. /*Calculul matricei 11 HUUNHT din (131)

    1. )]:,3:1([H refmat )):,3:1(),1(,( Hbu

    2. )]3:1,4:1([H matref ))1(,),3:1,4:1(( buH

    5. /*Readucerea lui H la forma superior Hessenberg

    1. Pentru 3:1 nj

    1. /* Calculul reflectorului 1jU

    1. 2

    ),3:1()),1((sign jjjHjjH

    2. ),1()1( jjHu

    3. ),3:2()3:2( jjjHu

    4. ujV )1,:(

    5. )1()1( 1 ujb j

    2. /* Calcul 11 jT

    j HUUH

    1. ),1( jjH

    2. 0),3:2( jjjH

    3. )]:1,3:1([ njjjH

    refmat )):1,3:1(),1(,( njjjHjbu

    4. ),4min( njr

    5. )]3:1,:1([ jjrH

  • 11

    matref ))1(,),3:1,:1(( jbujjrH

    2. /* Calculul reflectorului 1nU

    1. 2

    )2,:1())2,1((sign nnnHnnH

    2. )2,1()1( nnHu

    3. )2,()2( nnHu

    4. 0)3( u

    5. unV )1,:(

    6. )1()1( 1 unb n

    3. /* Calculul 11 nT

    n HUUH

    1. )2,1( nnH

    2. 0)2,( nnH

    3. )]:1,:1([ nnnnH

    refmat )):1,:1(),1(),2:1(( nnnnHnbu

    4. )]:1,:1([ nnnH

    matref ))1(),2:1(),:1,:1(( nbunnnH

    Algoritmul 5 de reducere la form superior Hessenberg i algoritmul 9.6 de iterare n construcia irului QR reprezint baza programelor profesionale de calcul a valorilor proprii (cum ar fi cele din sistemele de programe tiinifice EISPACK, LAPACK, MATLAB, MATEMATICA). Pentru a descrie ntregul proces de calcul, cunoscut sub numele de algoritmul QR, trebuie s controlm procesul iterativ prin anularea efectiv a elementelor subdiagonale la scderea lor sub un prag precizat, monitorizarea elementelor subdiagonale nule i, pe aceast cale, creterea eficienei prin reducerea progresiv a dimensiunii. Pentru implementarea acestor aspecte vom utiliza faptul c deflaia iterativ are loc, cel mai rapid, n raport cu colul din dreapta jos al matricei H i, cu o vitez de convergen ceva mai redus, n raport cu colul din stnga sus. n consecin, se impune, n monitorizarea zerourilor subdiagonale, partiia, la fiecare iteraie, a matricei curente H din irul QR n forma

    ,RH,RH,

    H00

    HH0

    HHH

    Hqq

    33

    pp

    11

    33

    2322

    131211

    astfel nct blocul diagonal 33H s aib o structur cvasisuperior-triunghiular (adic o structur

    cu blocuri diagonale de dimensiuni cel mult 22 ) de dimensiune maxim, iar blocul 22H s fie

    superior Hessenberg ireductibil, de asemenea de dimensiune maxim (ceea ce implic p minim). Cu aceast partiie iteraia curent se materializeaz n aplicarea pasului dublu QR submatricei

    22H

    2222T

    2222 QHQH ,

    ceea ce deriv din aplicarea transformrii ortogonale de asemnare globale

    q22pqT22p I,Q,IdiagHI,Q,IdiagH , cu urmtoarele efecte asupra celorlalte blocuri ale partiiei

    221212 QHH , 23T

    2223 HQH .

    Algoritmul i epuizeaz funcia n momentul n care ntreaga matrice H devine cvasisuperior triunghiular, respectiv parametrul q atinge dimensiunea n a matricei.

  • 12

    Rezultatul procesului iterativ, cu monitorizarea structural de mai sus, este o structur a matricei H avnd blocuri diagonale de dimensiune 11 sau 22 . Pentru a obine forma Schur real, care este obiectivul declarat al algoritmului QR, trebuie triangularizate blocurile 22 cu valori

    proprii reale. Pentru a vedea cum se poate realiza aceast operaie, vom proceda la deflaia (vezi

    9.2) unei matrice 22RB cu

    0b21

    i satisfcnd condiia

    0bb4bb 21122

    2211 ,

    de existen a valorilor proprii reale

    2

    bb,

    2

    bb 22112

    2211

    1

    .

    Determinnd un vector propriu unitar asociat lui 1 i completndu-l pn la o matrice

    ortogonal, este uor de vzut c transformarea ortogonal de asemnare definit de matricea de rotaie

    cs

    scP

    cu

    2221

    2

    21

    21

    2

    221

    2

    21

    221

    bb

    bs,

    bb

    bc

    conduce la realizarea triangularizrii urmrite

    2

    21121T

    0

    bbPBPC .

    La nivelul matricei cvasisuperior triunghiulare H, dac blocul diagonal 22 cu valori proprii

    reale se afl pe liniile i coloanele 1k,k , atunci pentru triangularizarea lui se aplic o

    transformare de forma

    1kn1k1knT1k I,P,IdiagHI,P,IdiagH

    cu P calculat ca mai sus.

    La fel ca i n cazul reflectorilor, pentru descrierea algoritmic a transformrii (156) vom introduce dou proceduri. Prima procedur, numit rotmat, va realiza premultiplicarea, cu

    suprascriere, PAA a unei matrice p2RA cu o rotaie 22RP avnd expresia (153)

    i dat de parametri scalari c i s .

    Algoritmul 7.

    ][A rotmat ),,( Asc

    /* Premultiplicarea unei matrice cu o rotaie. /* Intrri: sc, = parametri definitori ai rotaiei;

    /* pRA 2 = matricea dat.

    /* Ieiri: PAA .

    1. Pentru pj :1

    1. ),2(),1( jsAjcA

    2. ),2(),1(),2( jcAjsAjA

  • 13

    3. ),1( jA

    Evident, un apel ][A rotmat ),,( Asc va realiza suprascrierea APA T .

    A doua procedur, numit matrot, va realiza postmultiplicarea, cu suprascriere, APA a unei

    matrice 2 mRA cu o rotaie 22RP avnd expresia (153) i dat de parametri scalari c i s .

    Algoritmu 8.

    ][A matrot ),,( scA

    /* Postmultiplicarea unei matrice cu o rotaie. /* Intrri: sc, = parametri definitori ai rotaiei;

    /* 2 mRA = matricea dat.

    /* Ieiri: APA .

    1. Pentru mi :1

    1. siAciA )2,()1,(

    2. ciAsiAiA )2,()1,()2,(

    3. .)1,( iA

    Suntem n msur acum s prezentm, n toat plenitudinea sa, algoritmul QR. Toate matricele irului QR vor suprascrie matricea iniial dat. n mod facultativ, pe baza variabilei de opiune

    opt algoritmul calculeaz matricea de transformare ortogonal cumulat Q . Pentru concizie,

    produsele matriceale nu au fost explicitate, dar se atrage atenia c ele trebuie fcute ct mai economicos, exploatnd particularitile structurale ale matricelor factor. Algoritmul 9.

    ],[ QA QR )opt,,,( An

    /* Algoritmul QR de reducere a unei matrice reale la forma Schur

    /* real prin transformri ortogonale de asemnare. /* Intrri: n = ordinul matricei iniiale A ;

    /* A = matricea dat;

    /* = tolerana pentru detectarea elementelor de modul neglijabil;

    /* opt = opiunea de calcul a matricei de transformare (Y sau N).

    /* Ieiri: AQQSA T - matricea redus la forma Schur real;

    /* Q = matricea ortogonal de transformare.

    1. /* Iniializarea matricei Q

    1. nIQ

    2. /* Reducerea matricei A la form superior Hessenberg

    1. ],,,[ bVQA HQ )opt,,( An

    3. /* Reducerea matricei superior Hessenberg la form cvasisuperior triunghiular 1. 0p

    2. 0q

    3. Ct timp nq

    1. /* Anularea elementelor subdiagonale neglijabile

    1. Pentru 1:1 qnpi

    1. Dac )),1(),((),1( iiAiiAiiA atunci

  • 14

    1. 0),1( iiA

    2./* Stabilirea valorii maxime pentru q i a valorii minime

    pentru p astfel nct blocul superior Hessenberg 22A din

    (122) s fie ireductibil de dimensiune maxim. 1. TRUEtest

    2. Ct timp TRUEtest i nq

    1. Dac 0)1,( qnqnA atunci

    1. 1 qq

    altfel

    1. Dac 1 nq i 0)2,1( qnqnA atunci

    1. 2 qq

    altfel

    1. FALSEtest

    3. Dac 2 nq atunci

    1. 1 qnp

    2. Ct timp 0)1,( ppA

    1. 1 pp

    altfel

    1. /* Matricea A are form cvasisuperior triunghiular. /*Triangularizarea blocurilor diagonale 22 cu valori

    proprii reale

    1. 1i

    2. Ct timp ni

    1. Dac 0),1( iiA atunci

    1. )1,(),1(4)1,1(),( 2 iiAiiAiiAiiA 2. Dac 0 atunci

    1. )1,1(),( iiAiiA

    2.

    3. 2

    1

    4. 2

    2

    5. 212

    )1,1(),1( iiAiiA

    6.

    ),1(,

    )1,1(1 iiAsiiA

    c

    7. 21 )1,1(,),( iiAiiA

    8. ),1()1,()1,( iiAiiAiiA

    9. 0),1( iiA

    10. Dac 1i atunci

    1. )1:,1:1( iiiA

    matrot ),),1:,1:1(( sciiiA

    11. Dac ni 1 atunci

    1. ):1,1:( niiiA

    rotmat )):1,1:(,,( niiiAsc

  • 15

    12. Dac opt =Y atunci

    1. )1:(:, iiQ matrot ),),1:(:,( sciiQ

    13. 2 ii

    altfel

    1. 1 ii

    3. /* Terminarea algoritmului

    1. RETURN

    4. /* Aplicarea unui pas dublu QR cu deplasare implicit blocului diagonal 22A