8.4 Factorizarea matricelor

Secțiunea anterioară a discutat despre cum un sistem liniar de ecuații poate fi transformat într-un sistem a cărui soluție este mai simplu de calculat. Ideea de bază a fost factorizarea matricei de intrare în înmulțirea mai multor matrici mai simple. Ați văzut o astfel de tehnică, tehnica de descompunere LU, în care ați factorizat matricea de intrare ca produs al matricilor triunghiulare superioară și inferioară. Alte metode de factorizare utilizate frecvent sunt Cholesky, QR și Descompunerea valorii singulare (SVD). Puteți utiliza aceste metode de factorizare pentru a rezolva multe probleme de matrice, cum ar fi rezolvarea unui sistem liniar de ecuații, inversarea unei matrice și găsirea determinantului unei matrici.

Dacă matricea de intrare A este simetrică și definită pozitivă, atunci o factorizare LU poate fi calculată ca A = UTU, unde U este o matrice triunghiulară superioară. Aceasta se numește factorizare Cholesky. Această metodă necesită doar aproximativ jumătate din muncă și jumătate din stocare în comparație cu factorizarea LU a unei matrici generale prin eliminarea Gaussiană. Așa cum ați văzut mai devreme în Exercițiul 1-4, este ușor să determinați dacă o matrice este definită pozitivă folosind VI-ul Test Positive Definite din biblioteca de analiză.

O matrice Q este ortogonală dacă coloanele sale sunt ortonormale. Adică, dacă QTQ = I, matricea identitate. Tehnica de factorizare QR ia în calcul o matrice ca produs al unei matrici ortogonale Q și o matrice triunghiulară superioară R. Adică A = QR. Factorizarea QR este utilă atât pentru matricile pătrate cât și pentru cele dreptunghiulare. O serie de algoritmi sunt posibili pentru factorizarea QR, cum ar fi transformarea Householder, transformarea Givens și transformarea Givens rapidă.

Metoda descompunerii valorii singulare (SVD) descompune o matrice în produsul a trei matrici: A = USVT. U și V sunt matrici ortogonale. S este o matrice diagonală ale cărei valori diagonale sunt numite valori singulare ale A. Valorile singulare ale lui A sunt rădăcinile pătrate nenegative ale eigenvalues lui ATA și coloanele lui U și V, care sunt numite vectori singulari din stânga și dreapta, sunt eigenvectori ortonormati ai AAT și ATA, respectiv. SVD este util pentru rezolvarea problemelor de analiză cum ar fi calcularea rangului, norma, numărul de condiționare și pseudoinversa matricilor. Următoarea secțiune discută această ultimă aplicație.

Pseudoinversa

Pseudoinversul unui scalar σ este definit ca 1 ⁄σ dacă σ ≠ 0, și zero în caz contrar. Acum puteți defini pseudoinversa unei matrici diagonale prin transpunerea matricii și luând pseudoinversul scalar al fiecărei intrări. Atunci pseudoinversa unei matrice reale A m×n generale, notată cu A, este dată de

A= VSUT

Rețineți că pseudoinversa există indiferent dacă matricea este pătrată sau dreptunghiulară. Dacă A este pătrată și nesingulară, pseudoinversa este aceeași cu inversa matricii uzuale. Biblioteca de analiză include un VI pentru calcularea pseudoinversei a matricilor reale și complexe.

Exercițiul 8-8

Obiectiv: Să calculeze descompunerea Cholesky și descompunerea QR.

În exercițiul 1-4 s-au discutat despre matrice definită pozitivă complexă. Ați verificat că matricea A

este o matrice definită pozitivă. În acest exercițiu, calculați descompunerea Cholesky a acestei matrice. De asemenea, calculați descompunerea QR a unei matrici B.

Panoul frontal

1. Construiți panoul frontal așa cum se arată mai sus. Puteți redimensiona șirul de controale pentru a vedea toate elementele matricii.

2. Matricea U este o matrice triunghiulară superioară, care este rezultatul Descompunerii Cholesky a matricii A.

3. Matricea B este o matrice dreptunghiulară. Adică numărul de linii m este diferit de numărul de coloane n. Rezultatul factorizării QR este o matrice ortogonală Q m×m și o matrice triunghiulară superioară R de mărime m×n.

4. În acest exercițiu, veți verifica, de asemenea, definiția matricilor ortogonale, QTQ = I. Result matrix conține produsul transpusei matricei ortogonale și a matricei ortogonale în sine.

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

VI-ul Complex Cholesky Factorization (Analysis » Linear Algebra » Complex Linear Algebra » Advanced Complex Linear Algebra subpalette). În acest exercițiu, această funcție calculează descompunerea Cholesky a matricei complexe de intrare definită pozitivă.

VI-ul QR Factorization (Analysis » Linear Algebra » Advanced Linear Algebra subpalette). În acest exercițiu, această funcție calculează factorizarea QR a matricei reale de intrare.

6. Selectați Complex Cholesky Factorization VI din Analysis » Linear Algebra » Complex Linear Algebra » Advanced Complex Linear Algebra subpalette. Terminalul de ieșire al acestui VI este conectat la matricea U.

7. Generați o matrice aleatoare B. Selectați QR Factorization VI din Analysis » Linear Algebra » Advanced Linear Algebra. Conectați matricea B ca matrice de intrare pentru factorizarea QR. Conectați ieșirile Q și R ale acestui VI la matricea Q și matricea R, respectiv.

8. Calculați transpusa matricei Q și apoi înmulțiți această transpusă cu matricea Q originală. Rezultatul acestei operații este conectat la result matrix.

9. Alegeți o valoare pentru numărul de linii și numărul de coloane. Executați VI-ul. Observați structura triunghiulară superioară a ieșirii descompunerii Cholesky și ieșirea R a factorizării QR. Observați structura matricei ortogonale Q. Puteți rula VI-ul de mai multe ori pentru a genera matrici diferite și a verifica dacă această definiție este adevărată.

10. Salvați VI ca QR Factor.vi și închideți-l.

Sfârșitul exercițiului 8-8

Exercițiul 8-9 (opțional)

Obiectiv: Să calculeze descompunerea valorii singulare.

În acest exercițiu, veți calcula descompunerea valorii singulare a următoarei matrici.

Utilizați SVD Factorization VI din Analysis » Linear Algebra » Advanced Linear Algebra.

Calculați rangul matricei A folosind Matrix Rank VI (Analysis » Linear Algebra » Advanced Linear Algebra). Vedeți o relație interesantă între rangul acestei matrice și numărul de valori singulare nenule? (Valorile singulare sunt stocate în șirul unidimensional S). Acum calculați norma-2 a acestei matrice utilizând Matrix Norm VI (Analysis » Linear Algebra » Advanced Linear Algebra). Vedeți o relație interesantă între acest număr și cea mai mare valoare singulară a matricei?

Notă: Rangul unei matrice este egal cu numărul de valori singulare nenule, care în acest exemplu este egal cu 2. De asemenea, așa cum s-a discutat la începutul acestei lecții, norma-2 a unei matrice este egală cu cea mai mare valoare singulară.

Sfârșitul exercițiului 8-9

8.5 Rezumat