8.2 Operații de bază cu matrice

În această secțiune, luați în considerare câteva operații foarte de bază cu matrici. Două matrici, A și B, se spune că sunt egale dacă au același număr de linii și coloane și elementele corespunzătoare ale acestora sunt egale. Înmulțirea unei matrici A cu un scalar este egală cu înmulțirea tuturor elementelor sale cu scalarul. Adică,

C = αA ⇒ ci, j = α ai, j

De exemplu,

Două (sau mai multe) matrici pot fi adunate sau scăzute dacă și numai dacă au același număr de linii și coloane. Dacă ambele matrici A și B au m linii și n coloane, atunci suma lor C este o matrice m x n definită ca C = A ± B, unde ci,j = ai,j ± bi,j.

De exemplu,

Pentru înmulțirea a două matrici, numărul de coloane ale primei matrici trebuie să fie egal cu numărul de linii din a doua matrice. Dacă matricea A are m linii și n coloane și matricea B are n linii și p coloane, atunci produsul lor C este o matrice m x p definită ca C = AB, unde

De exemplu,

Deci, înmulțiți elementele din prima linie a lui A cu elementele corespunzătoare din prima coloană din B și adunați toate rezultatele pentru a obține elementele din primul rând și prima coloană a lui C. In mod similar, pentru a calcula elementul din linia i și coloana j din C, se multiplică elementele din linia i a lui A cu elementele corespunzătoare din coloana j a lui B, și apoi se adună toate. Acest lucru este arătat în ilustrație ca:

Înmulțirea matricei, în general, nu este comutativă. Adică AB ≠ BA. De asemenea, nu uitați că înmulțirea unei matrice cu o matrice identitate are ca rezultat matricea originală.

Produsul scalar (dot) și produsul vectorial (outer)

Dacă X reprezintă un vector și Y reprezintă un alt vector, atunci produsul dot al acestor doi vectori este obținut prin înmulțirea elementelor corespunzătoare ale fiecărui vector și adunarea rezultatelor. Acest lucru este notat prin

unde n este numărul de elemente din X și Y. Rețineți că ambii vectori trebuie să aibă același număr de elemente. Produsul dot este o cantitate scalară și are multe aplicații practice.

De exemplu, considerăm vectorii a = 2i+4j și b = 2i+j într-un sistem de coordonate dreptunghiulare bidimensional.

Produsul dot al acestor doi vectori este dat de

Unghiul α dintre acești doi vectori este dat de

unde |a| este magnitudinea lui a.

Ca a doua aplicație, considerați un corp asupra căruia acționează o forță constantă a. Lucrul W realizat de a în deplasarea corpului este definit drept produsul lui |d| și componenta lui a în direcția deplasării d.

Adică,

Pe de altă parte, produsul outer al acestor doi vectori este o matrice. Elementul (i,j) al acestei matrici este obținut cu ajutorul formulei

ai,j = xi × yj

De exemplu,

Numere caracteristice (eigenvalue) și vectori proprii (eigenvector)

Pentru a înțelege numerele caracteristice și vectorii proprii, începeți cu definiția clasică. Dată fiind o matrice n×n A, problema este de a găsi un scalar λ și un vector nenul x astfel încât Ax = λx.

Un astfel de scalar λ este denumit număr caracteristic, iar x este un vector propriu corespunzător.

Calcularea numerelor caracteristice și a vectorilor proprii sunt principii fundamentale ale algebrei liniare și vă permit să rezolvați multe probleme, cum ar fi sisteme de ecuații diferențiale atunci când înțelegeți ce reprezintă ele. Considerați un vector propriu x al unei matrici A ca un vector nenul care nu se rotește când x este înmulțit cu A (cu excepția, poate, pentru a indica exact direcția opusă). x poate schimba lungimea sau inversa direcția, dar nu se va întoarce lateral. Cu alte cuvinte, există o constantă scalară λ astfel încât ecuația de mai sus este valabilă. Valoarea λ este un număr caracteristic (eigenvalue) al lui A.

Considerați următorul exemplu. Unul dintre vectorii proprii ai matricei A, unde

este

Înmulțind matricea A și vectorul x, pur și simplu se determină extinderea vectorului x cu un factor de 6,85. Prin urmare, valoarea 6,85 este unul dintre numerele caracteristice ale matricei A. Pentru orice constantă α, vectorul αx este, de asemenea, un eigenvector cu eigenvalue λ, deoarece A(αx) = αAx = λαx.

Cu alte cuvinte, un eigenvector al unei matrice determină o direcție în care matricea extinde sau micșorează orice vector care se află în acea direcție de către un multiplu scalar, iar factorul de expansiune sau de contracție este dat de eigenvalue corespunzător. O problemă cu eigenvalue generalizat este de a găsi un scalar și un vector nenul x astfel încât Ax = λBx, unde B este o altă matrice n×n.

Mai jos sunt câteva proprietăți importante ale eigenvalue și ale vectorilor proprii:

• Numerele caracteristice ale unei matrici nu sunt neapărat toate distincte. Cu alte cuvinte, o matrice poate avea mai multe numere caracteristice.

• Toate numerele caracteristice ale unei matrici reale nu trebuie să fie reale. Dar, numerele caracteristice complexe ale unei matrici reale trebuie să apară în perechi de conjugate complexe.

• Numerele caracteristice ale unei matrici diagonale sunt intrările diagonalei sale, iar vectorii proprii sunt coloanele corespunzătoare ale unei matrice identitare cu aceeași dimensiune.

• O matrice simetrică reală are întotdeauna numere caracteristice și vectori proprii reale.

• Așa cum s-a discutat mai devreme, vectorii proprii pot fi scalați arbitrar.

Există multe aplicații practice în domeniul științei și ingineriei pentru o problemă a valorii proprii. De exemplu, stabilitatea unei structuri, modurile sale naturale și frecvențele de vibrație sunt determinate de numerele caracteristice și de vectorii proprii ai unei matrici adecvate. Numerele caracteristice sunt, de asemenea, foarte utile în analiza metodelor numerice, cum ar fi analiza de convergență a metodelor iterative pentru rezolvarea sistemelor de ecuații algebice și analiza de stabilitate a metodelor de rezolvare a sistemelor de ecuații diferențiale.

VI-ul LabVIEW/BridgeVIEW EigenValues and Vectors este prezentat mai jos. Input Matrix este o matrice pătrată reală N-by-N. Matrix type determină tipul matricii de intrare. Matrix type poate fi 0, indicând o matrice generală sau 1, care indică o matrice simetrică. O matrice simetrică are întotdeauna numere caracteristice și vectori proprii reale.

Output option determină ce trebuie calculat. Output option = 0 indică faptul că trebuie calculate numai numerele caracteristice. Output option = 1 indică faptul că atât numerele caracteristice cât și vectorii proprii vor fi calculate. Este foarte costisitor să calculăm ambele. Așadar, este important să utilizați cu atenție controlul output option în EigenValues ​​and Vectors VI. În funcție de aplicația dvs. particulară, poate doriți să calculați doar numerele caracteristice sau ambele. De asemenea, o matrice simetrică are nevoie de mai puțin calcul decât o matrice nesimetrică. Deci, alegeți cu atenție controlul matrix type.

În această secțiune, ați aflat despre unele operații de bază cu matrici și problema eigenvalues-eigenvectors. Următorul exemplu introduce câteva VI-uri în biblioteca de analiză care efectuează aceste operații.

Exercițiul 8-3

Obiectiv: învățarea manipulărilor de bază a matricelor

Veți construi un VI care vă va ajuta să înțelegeți manipulările de bază ale matricelor discutate în prima parte a secțiunii precedente. Veți învăța, de asemenea, câteva proprietăți ale matricelor foarte interesante.

1. Construiți panoul frontal așa cum se arată mai sus. Puteți redimensiona matricile bidimensionale A, B și C pentru a vedea toate elementele din matrice.

2. În acest exercițiu, veți experimenta trei tipuri diferite de matrice, și anume matricea triunghiulară superioară, cea triunghiulară inferioară și cea simetrică. Veți folosi VI-ul Upper Lower Symmetric Matrix utilizat în exercițiul precedent.

3. Construiți diagrama bloc așa cum se arată mai sus.

VI-ul Create Special Matrix (Analysis » Linear Algebra » Advanced Linear Algebra subpalette).

În acest exercițiu, acestă funcție creează matrici speciale.

VI-ul AxB (Analysis » Linear Algebra subpalette) În acest exercițiu, această funcție înmulțește două matrici).

4. Creați o matrice diagonală folosind VI-ul Create Special Matrix. Selectați Upper Lower Symmetric Matrix VI din biblioteca Lvspcex.llb. Acest VI va crea tipul adecvat de matrice în funcție de controlul Matrix Type.

5. Selectați AxB VI din Analysis »Linear Algebra. Veți utiliza acest VI pentru a înmulți matricea A cu matricea B, iar rezultatul acestei înmulțiri este stocat în matricea C.

6. Reveniți la panoul frontal. Alegeți Matrix A Size = 6 și Matrix B Size = 6. Setați controalele Diagonal Elements A și Diagonal Elements B pentru ambele matrici la o anumită valoare (similar cu ceea ce ați făcut în exercițiul precedent). Mărimea acestui tablou este egală cu dimensiunea matricei.

7. Alegeți Matrix Type = 0 (matricea triunghiulară superioară). Executați VI-ul. Observați structura matricilor A și B.

Matricea C este produsul acestor două matrici. Vi se pare ceva interesant despre structura acestei matrici?

8. Alegeți acum Matrix Type = 1 (Lower Triangular Matrix). Executați VI-ul. Observați structura celor două matrici triunghiulare inferioare A și B. Matricea C este produsul acestor două matrici. Vi se pare ceva interesant despre structura acestei matrici?

9. Alegeți acum Matrix Type = 2 (Symmetric Matrix). Executați VI-ul. Observați structura celor două matrici simetrice A și B.

Matricea C este produsul acestor două matrici. Vi se pare ceva interesant despre structura acestei matrice?

10. Schimbați Matrix A Size la 5. Păstrați dimensiunea matricei B la 6. Rulați VI-ul. De ce ați primit o eroare 1?

11. Salvați VI-ul ca Matrix Multiplication.vi și închideți-l.

Sfârșitul exercițiului 8-3

Exercițiul 8-4

Obiectiv: Studierea matricelor definite pozitive.

În multe aplicații, este avantajos să stabiliți dacă matricea dvs. este definită pozitivă. Acest lucru se datorează faptului că dacă matricea dvs. este într-adevăr definită pozitivă, puteți economisi o cantitate semnificativă de timp de calcul atunci când utilizați VI-uri pentru a calcula determinanți, pentru a rezolva sisteme liniare de ecuații sau pentru a calcula inversa unei matrici. Toate aceste VI-uri vă permit să alegeți tipul matricii, iar identificarea corectă a matricei poate îmbunătăți semnificativ performanța.

În acest exercițiu, veți afla despre matrici definite pozitive complexe. O matrice complexă este definită pozitivă dacă și numai dacă este hermitiană; adică, A = AH și forma cuadratică XHAX > 0 pentru toți vectorii X nenuli.

Panoul frontal

1. Construiți matricea A și restul panoului frontal așa cum se arată în panoul frontal de mai sus.

2. Treceți la diagrama bloc și folosiți VI-ul Test Complex Positive Definite pentru a verifica dacă matricea este definită pozitivă.

VI-ul Test Complex Positive Definite (Analysis » Linear Algebra » Complex Linear Algebra » Advanced Complex Linear Algebra subpalette). Utilizați această funcție pentru a verifica dacă matricea de intrare A este definitivă pozitivă.

3. Introduceți vectorul X prezentat mai jos în șirul de controale x.

4. Introduceți complexul conjugat CX al lui X în șirul de controale cx. (Această parte nu a fost completată în panoul frontal de mai sus.)

Sugestie: Conjugatul complex al lui a+ib este a-ib

VI-ul Complex A x Vector (Analysis » Linear Algebra » Complex Linear Algebra subpalette). Această funcție înmulțește o matrice de intrare complexă și un vector de intrare complex.

5. Comutați la diagrama blocului. Se calculează înmulțirea vectorului cu matricea complexă Y = AX.

Sugestie: Utilizați Complex A x Vector VI

VI-ul Complex Dot Product (Analysis » Linear Algebra » Complex Linear Algebra subpalette). Utilizați această funcție pentru a calcula produsul scalar a doi vectori complecși.

6. Calculati produsul scalar complex al vectorilor CX și Y. Acesta este Z = CX·Y

Sugestie: Utilizați Complex Dot Product VI.

7. Ați calculat acum produsul Z = XHAX. Care este valoarea lui Z? Acest rezultat verifică definiția de mai sus a matricei complexe definită pozitivă?

8. Comparați diagrama bloc cu diagrama prezentată mai jos.

9. Salvați VI-ul ca Positive Definite Matrix.vi și închideți-l.

Sfârșitul exercițiului 8-4

Exercițiul 8-5

Obiectiv: Să calculeze eigenvalues și eigenvectors ale unei matrice reale.

Așa cum am explicat anterior, problema eigenvalues-eigenvector este utilizată pe scară largă într-o serie de aplicații practice diferite. De exemplu, în proiectarea sistemelor de control, eigenvalues ajută la determinarea dacă sistemul este stabil sau instabil. Dacă toate eigenvalues au părți reale nepozitive, sistemul este stabil. Dar, dacă oricare dintre eigenvalues are o parte reală pozitivă, înseamnă că sistemul este instabil. Dacă sistemul este instabil, puteți proiecta un sistem cu feedback pentru a obține eigenvalues dorite și pentru a asigura stabilitatea sistemului general.

În acest exercițiu, veți utiliza EigenValues ​​and Vectors VI pentru a calcula toate eigenvalues și eigenvector ale unei matrici reale. De asemenea, veți învăța o definiție alternativă a eigenvalues și veți verifica numeric această definiție.

1. Construiți panoul frontal așa cum se arată mai sus. Puteți redimensiona controalele pentru a vizualiza toate elementele din Matrix A și EigenVectors și din șirul EigenValues. Mărimea matricei A este 10×10.

Eigenvalues este un șir unidimensional complex de mărime 10 care conține toate eigenvalues calculate ale matricei de intrare.

EigenVectors este o matrice complexă de 10x10 care conține toți eigenvectors calculați ai matricii de intrare. Coloana i din EigenVectors este vectorul propriu corespunzător componentei i a vectorului Eigenvalues.

2. Construiți diagrama bloc așa cum se arată mai jos.

VI-ul EigenValues ​​and Vectors (Analysis » Linear Algebra subpalette). În acest exercițiu, veți utiliza acest VI pentru a calcula eigenvalues și eigenvectors ai matricei de intrare.

3. Matricea A este o matrice reală formată din numere generate aleatoriu. Utilizați EigenValues ​​and Vectors VI din Analysis » Linear Algebra subpalette pentru a calcula atât eigenvalues cât și eigenvectors ale acestei matrici. Nu uitați să setați controlul output option la 1. Alegeți matrix type = General.

4. La începutul acestei secțiuni, ați văzut definiția clasică a eigenvalues și eigenvectors. O definiție diferită și utilizată pe scară largă a eigenvalues este următoarea. Eigenvalues ale lui A sunt valorile lui λ pentru care det (A - λI) = 0, unde det reprezintă determinantul matricei. În acest exercițiu, veți verifica numeric valabilitatea acestei definiții. Selectați Check Definition VI din Lvspcex.llb. LED-ul rotund de pe panoul frontal se va lumina verde dacă definiția este adevărată și va deveni roșu dacă definiția nu este adevărată.

5. Rulați VI-ul de mai multe ori. Veți observa că eigenvalues pot fi numere reale sau complexe, deși matricea este pur reală. Același lucru este valabil și pentru vectorii proprii. În plus, veți observa că eigenvalues complexe ale unei matrice reale apar întotdeauna în perechi complexe conjugate (adică, dacă α+iβ este o eigenvalue a unei matrici reale, este și α-iβ).

6. Definiția menționată mai sus în pasul 3 a fost întotdeauna adevărată?

7. Salvați VI-ul ca My EigenValues ​​and Vectors.vi și închideți-l.

Sfârșitul exercițiului 8-5