Introducere în eigensystems

Se afirmă că o dimensiune a matricei N * N are propria vektorx și eigenvalue l corespunzător. atunci când sunt executate Ax = l x. Evident, orice vector proporțional cu propria lor, va fi, de asemenea, un vector propriu; noi nu considerăm că un astfel de alt vector. Zero vector ca propria sa nu este considerată. Pentru egalitatea valorilor proprii: Det | A - l 1 | = 0. Dacă deschideți această expresie, obținem un polinom în l ordine N, ale căror rădăcini sunt valorile proprii. Rezultă că există întotdeauna N eigenvalori (nu neapărat distincte și valide). valori identice corespunzătoare mai multor rădăcini va fi numit degenerate. Căutați găsirea rădăcinile autovalorile - de obicei, o operațiune ineficientă. O metode mult mai eficiente vor fi descrise mai jos.

Din formulele de mai sus rezultă că, pentru fiecare dintre valorile proprii N ale (nu neapărat distincte) are o eigenvector corespunzătoare: se știe că dacă matricea (A - l 1) este singular, atunci există un vector nenul prin înmulțirea Nulled.

Dacă ambele părți ale primul care adaugă expresie t x. vedem că autovalorile matricei poate fi schimbat la t constant. sau mutat. adăugând o matrice unitară înmulțită cu această constantă. Nu se schimba sub vectorii proprii de forfecare. Schimbarea este o parte importanta a multor algoritmi de calcul pentru valorile proprii. De asemenea, rezultă că valorile proprii zero, nu au o semnificație specifică: orice valoare adecvată poate fi mutat la o valoare zero sau nulă - mutat de la zero.

Definiții și fapte de bază

O matrice se numește simetrică. în cazul în care coincide cu transpusa (cu transpunerea acesteia): A = A T. sau ai, j = AJ i. Se numește Hermitian. sau autoadjunct. dacă este egal cu matricea complex conjugat de transpunere a acesteia (conjugat Hermitian din ea): A = A H. sau ai, j = aj, i *. Se numește ortogonale. dacă transpunerea ei este sa inversă: AA = T A T A = 1. Se numește unitar. în cazul în care un conjugat al Hermitian este invers. În fine, matricea este declarat a fi normal. dacă este o permutare la un conjugat Hermitian: AA H = A H A. Pentru matrice reală înseamnă simetrie Hermitian, coincide cu unitare ortogonalitate, iar ambele aceste clase sunt normale.

Atunci când se caută autovalorile matricei, „Hermitian“ este un concept foarte important: toate valorile proprii ale matricelor Hermitian valabile. Pe de altă parte, valorile proprii ale reale matricele simetrice pot fi perechi reale sau complexe - numere de conjugat. Valorile proprii ale matricei non-Hermitian complex este, în general complex.

Conceptul de „normalitate“ este important atunci când caută vectorii proprii. Sistem de matrice normală vectori proprii cu nedegenerat eigenvalori (nepotriviri) este o bază ortogonală și N-dimensional spațiu vectorial complet. Pentru o matrice normală cu eigenvalori degenerați există libertate în determinarea vectorilor proprii corespunzătoare degenerate asociate cu valori proprii înlocuirea oricărei combinații liniare dintre ele. Acest lucru înseamnă că putem cheltui vsegla Gram ortogonalizarea - Schmidt și un set complet de vectori proprii ortogonale, la fel ca în cazul nedegenerata. Evident, coloanele unei matrice cu un set ortonormal de vectori proprii este unitar. Pentru o matrice de vectori proprii derivate dintr-o matrice simetrică reală, proprietatea ortogonale se realizează.

În cazul în care matricea nu este normal, ca orice matrice simetrice reale, în cazul general, este imposibil de a găsi un set ortonormal de vectori proprii, nu putem garanta chiar orice pereche ortogonală dintre ele (cu excepția cazurilor rare). În general, aceste vectori proprii N vor forma o bază non-ortogonale în N-dimensional spațiu (dar nu întotdeauna). În cazul în care vectorii proprii nu formează o bază N-dimensional, matricea va fi numit defect.

Stânga și la dreapta Vectorii proprii

Deși anormale ale vectorilor proprii matricei nu întotdeauna reciproc ortogonale, ele formează întotdeauna relația ortogonalitate cu celălalt set de vectori așa cum sunt definiți mai jos. Pana in prezent, vectorii proprii considerate vectori coloană care sunt multiplicate cu matricea. Mai precis, acești vectori se numesc vectorii proprii din dreapta. Dar puteți defini un set de propriile lor si a altor vectori rând, care sunt multiplicate cu matricea de pe stânga și satisface ecuația: xA = l x. Astfel de vectori se numesc vectori proprii stânga. Transpunând acest raport, putem vedea că fiecare eigenvector din stânga a lui A coincide cu vectorul propriu dreapta al transpunerii A. Deoarece determinantul matricei coincide cu determinantul transpunerii acesteia, valorile proprii pentru dreapta și din stânga sunt vectorii proprii aceleași.

Dacă matricea este simetrică, din stânga și din dreapta sunt Vectorii proprii transpusa reciproc, adică, Ei au aceleași componente numerice. În mod similar, în cazul în care matricea autoadjunct, dreapta și stânga conjugat-un vector de Hermite. În general, matricea anormală are următoarea relație. Să XR - matrice format din coloane din dreapta, XL vectori proprii - rânduri de vectori proprii stânga. Prin definiție, vectorii proprii au:

AXR = XR diag (l 1. l N), XLA = diag (l 1. l N) XL. Înmulțind prima ecuație stânga la XL. iar a doua pe dreapta XR și prin scăderea unul de celălalt, obținem: (XLXR) diag (l 1. l N) = diag (l 1 l N) (XLXR). Aceasta sugerează că matricea funcționează vectorii stânga și din dreapta Switched cu o matrice diagonală de valori proprii. Dar, în cazul în care publicul a apelat la matricea cu o matrice diagonală formată din elemente distincte, este ea însăși diagonala. Astfel, în cazul unui set nedegenerata valorilor proprii, fiecare eigenvector la stânga este ortogonală pentru toate drepturile, cu excepția corespunzătoare, și vice-versa. Cu produsul matrice normalizarea vectorilor stânga și din dreapta pot fi întotdeauna reduse la matricea de identitate, pentru orice caz nedegenerata.

Dacă unele dintre autovalorile sunt degenerate, atunci fie vectori proprii dreptaci sau lăsate corespunzătoare acestor valori trebuie combinate liniar unul cu celălalt, astfel încât în ​​cele din urmă au format o bază ortogonală, respectiv dreapta sau spre stânga vectori proprii. Acest lucru se poate face întotdeauna printr-o procedură de Gram ortogonalizarea - Schmidt. Apoi, puteți ajusta normalizarea, produsul matricelor de dreapta și la stânga vectorului a fost matricea de identitate. Dacă acest lucru nu se poate face (produsul matrice este egal cu zero), sistemul de vectori proprii este incomplet. Rețineți că astfel de sisteme incomplete pot avea loc numai atunci când setul de valori proprii este degenerat, dar nu întotdeauna: în special, sistemul incomplet al vectorilor proprii nu apar în clasa de matrici normale. Cm. [1] pentru detalii suplimentare.

În ambele cazuri, degenerate sau non-degenerate, produsul matrice normalizat de vectori proprii din stânga și dreapta conduce la următorul rezultat: matricea ale cărei rânduri sunt vectorii proprii din stânga - inversul matricei a cărei coloane sunt vectorii proprii din dreapta, dacă există o matrice inversă.

diagonalizarea matricei

Folosind faptul că inversul matricei XL pentru XR. din formulele anterioare obținem: XR -1 AXR = diag (l 1. l N). Acesta este un caz special al similarității matricea de transformare A. A -> Z -1 AZ pentru transformarea unui Z. matrice Rolul principal este jucat de o transformare de similaritate în calcul valori proprii, deoarece acestea nu le schimba. Este ușor de a dovedi: Det | Z -1 AZ - l 1 | = Det | Z -1 (A - l 1) Z | = Det | Z | Det | A - l 1 | Det | Z | -1 = det | A - l 1 |. Este evident că matricea cu un set de vectori proprii care satisfac proprietatea completitudine (astfel de matrici includ toate normale, iar „majoritatea“ a cazurilor de matrice anormale) poate fi diagonalizată printr-o transformare de similaritate, matricea de transformare, care este o matrice ale cărei coloane conțin coordonatele vectorilor proprii din dreapta; inversa aceeași linie la acesta va forma matricea de vectori proprii stânga de coordonate.

Pentru simetrice reale matrici reale și sunt vectorii proprii ortonormală, transformând astfel matricea este ortogonal. În această transformare similitudine este o transformare ortogonală:

A -> Z T AZ. Deși matricea asimetrică reală și poate fi diagonalizată „aproape toate“ cazurile, transformând matricea nu este neapărat valabilă. Cu toate acestea, se pare că „aproape“ toate lucrările în acest caz, de asemenea, ceea ce face transformarea reală similitudine. Aceasta poate duce la matricea sistemului de blocuri mici (2 x 2), dispuse în diagonală; Toate celelalte elemente vor fi zero. Fiecare din mărimea blocului (2 x 2) corespunde unui complex - conjugat pereche de valori proprii. Această idee va fi utilizată în algoritmi camerele de mai jos.

Strategia principală a aproape toate metodele moderne de calcul și a vectorilor proprii este că valorile proprii matricea A este o formă diagonală prin transformări lanț de similaritate:

A -> P1 AP1 -1 -> P1 P2 -1 -1 AP1P2 -> P3 P2 -1 -1 -1 P1 AP1P2P3 etc. Dacă acest lanț conduce în final la forma diagonală, atunci matricea de vectori proprii dreapta XR va fi un produs de matrice: XR = P1P2P3. Uneori nu este obligată să efectueze o astfel de transformare în forma diagonală. De exemplu, dacă suntem interesați numai de propriile lor valori și nu propriile lor vector, este suficient pentru a aduce A la forma triunghiulară, în care zerouri sunt toate elementele deasupra diagonalei și dedesubt. În acest caz, elementele diagonale se vor transforma deja matrice de valori proprii.

Există două abordări fundamental diferite pentru punerea în aplicare a acestei strategii. De multe ori, ele funcționează bine în combinație unele cu altele, astfel încât majoritatea metodelor moderne de utilizare ambele. Prima abordare este de a construi matrici individuale Pi ambele evidente transformatoare „elementare“ sunt proiectate pentru sarcini specifice, cum ar fi să zeroing un anumit element de off-diagonal (Jacobi transformare) sau o coloană întreagă sau rând (transformări householder). In general, un lanț finit de astfel de transformări pot fi diagonalizată matrice. Există o alegere: fie să utilizeze un număr finit de transformări pentru trecerea majorității calea către diagonalizarea (de exemplu, rezultând în formă tridiagonal sau Gessenbergovskoy) și apoi pentru a finaliza operațiunea în a doua etapă, prin algoritmi care vor fi menționate mai jos. Sau iterații pentru a reduce elementele-off diagonală să fie neglijabile. Cea din urmă abordare este conceptual simplu, și va fi discutat în secțiunea următoare, dar pentru N mare

10, este de aproximativ 5 ori mai puțin eficiente.

O altă abordare, numite metode de factorizare. mai subțire. Să presupunem că matricea A poate fi descompus într-un produs de dreapta și stânga factori FR FL. atunci

A = FLFR. sau, echivalent, FL -1 A = FR. Dacă înmulțim acești factori în ordine inversă și de a folosi vyshenapisannoe identitate, atunci avem FRFL = FL -1 AFL. că imediat recunoscut ca o matrice de transformare O similaritate cu matricea transformatoare FL. Această idee folosește metoda de matrice QR-descompunere.

Metode de factorizare, de asemenea, nu asigură convergența numărului finit de pași. Dar cele mai bune dintre ele converg rapid și fiabil, precum și prin utilizarea o stare inițială bună a matricei, operațiile elementare reformate primare, sunt principalele obiective.

pachete software gata pentru a rezolva problemele de vectori și valori caracteristice

IMSL Pachete [4] și NAG [5] reproduce, de asemenea, în principal Manualului algoritmi, Fortran.

„Pachet bun“ pe problema vectorilor proprii care urmează să fie transmise de programe individuale sau moduri de programe individuale de lanț pentru fiecare dintre următoarele sarcini:

  • toate valorile proprii fără vectorii proprii;
  • toate valorile proprii și vectorii proprii ale unora;
  • toate valorile proprii și vectorii.
Scopul acestei împărțiri este de a economisi timp și resurse de calculator; nu are nici un sens pentru a calcula vectorii proprii în cazul în care acestea nu sunt necesare. Adesea, numai interesați de vectori care corespund celor mai mari valori proprii, sau cea mai mare valoare absolută, sau doar negativ. În acest caz, metoda utilizată pentru a calcula „unele“ propriilor lor vectori, în general, mai eficientă decât metoda pentru toți, dacă nu au mai mult de un sfert din total.

Bun pachet oferă, de asemenea, soluții individuale pentru următoarele tipuri de matrici:

  • Într-adevăr, simetrică, tridiagonal;
  • reale, simetrice, dungată (numai unele sunt diagonalele nenule adiacente principal);
  • valabilă, simetrice;
  • Într-adevăr, asimetric;
  • complex, Hermitian;
  • complex, non-Hermitian.
Din nou, scopul acestei separări este că economisește timp și resurse prin utilizarea unei proceduri de puțin generalizată.

În acest capitol vom prezenta programul pentru următoarele cazuri:

  • toate valorile pentru vectorul și matricea reală, simetrică, tridiagonal;
  • toate valorile pentru vectorul și matricea simetrică reală;
  • toate vector și valorile pentru matricea Hermitian complexe;
  • toate vector și valorile reale pentru matrici asimetrice.
Se va discuta, de asemenea, cum să obțineți unele vectori proprii metoda asimetrică iterație inversă matrice.

probleme generalizate și neliniare și valorile vectorilor proprii

Multe pachete software pentru vectorii proprii și valorile se ocupă, de asemenea, cu așa-numita generalizat problema lor [6]. Ax = l Bx. unde A și B - matrice. Cele mai multe dintre aceste probleme în cazul non-degenerări B poate fi redusă la problema (B -1 A) x = l x. Părțile A și B sunt simetrice și B este pozitiv definită. Matricea B -1 A nu este simetric, dar problema poate fi redusă la problema și a vectorilor proprii valori pentru matrice simetrice folosind descompunerea Cholesky B = LL T. Înmulțind ecuația pentru L -1. obținem C (L T x) = l (L T x), unde C = L -1 A (L -1) T. Matricea C este simetrică, valorile proprii sale sunt egale cu autovalorile sarcina principală, iar vectorii proprii sunt L T x. O modalitate eficientă de a obține acest lucru este de a rezolva ecuația matrice YL T = O porțiune triunghiulară relativ inferioară Y. matrice Apoi, în raport cu porțiunea triunghiulară inferioară a simetrică matricea C este rezolvată ecuația: LC = Y. O altă generalizare a standardului problemelor vectorilor proprii și valorile sunt neliniare în ceea ce privește problema eigenvalue, de ex (a l 2 + B l + C) x = 0. Această problemă se reduce la o introducere liniara a problemei suplimentare liniare necunoscute eigenvector y și permite pentru matricea (2N x 2N):