În matematică, în special în algebră liniară, vectorizarea unei matrice este o transformare liniară care transformă matricea într-un vector. Mai exact, vectorizarea unei matrice A , denumită vec(A), este un vector coloană obținut prin aranjare coloanelor matricei A una peste alta:

Aici, reprezintă elementul din linia i și coloana j din A, iar cu indicele superior este notată transpunerea. Vectorizarea exprimă, prin coordonate, izomorfismul între acestea (adică dintre matrici și vectori) ca spații vectoriale.

De exemplu, pentru matricea 2×2 , vectorizarea este .

Legătura dintre vectorizarea lui A și vectorizarea transpusei sale este dată de matricea de comutare.

Compatibilitatea cu produsul Kronecker Vectorizarea este folosită frecvent împreună cu produsul Kronecker pentru a exprima înmulțirea matricilor ca o transformare liniară pe matrici. În special,

pentru matricele A, B și C cu dimensiunile k×l, l×m și m×n.Identitatea pentru vectorizarea rândului este . De exemplu, dacă (endomorfismul adjunct în al tuturor matricilor n×n complexe), atunci , unde este matricea unitate n×n.

Există alte două formulări utile:

Mai general, s-a demonstrat că vectorizarea este autoadjunctă în structura închisă monoidală a oricărei categorii de matrice.

Compatibilitatea cu produsul Hadamard Vectorizarea este un homomorfism algebric din spațiul matricilor cu produsul Hadamard la Cn2 cu produsul său Hadamard:

Compatibilitatea cu produsul interior Vectorizarea este o transformare unitară din spațiul matricelor n×n cu produsul interior Frobenius sau la Cn2:

Unde cu indicele superior † este notată adjuncta.

Vectorizarea ca sumă liniară Operația de vectorizare a unei matrice poate fi scrisă ca o sumă liniară. Fie X matricea care să fie vectorizată și fie ei vectorul celei de-a i-a bază canonică a spațiului n-dimensional, adică . Fie Bi o matrice de blocuri definită astfel:

Bi este formată din n matrici de blocuri de dimensiuni , plasate una deasupra alteia, și toate aceste matrici sunt nule cu excepția celei de a i-a, care este matricea unitate , Im.

Apoi versiunea vectorizată a lui X poate fi exprimată după cum urmează:

Înmulțirea lui X cu ei extrage coloana a i-a, în timp ce înmulțirea cu Bi o pune în poziția dorită în vectorul final.

Alternativ, suma liniară poate fi exprimată folosind produsul Kronecker:

Semivectorizare Pentru o matrice simetrică A, vectorul vec(A) conține mai multe informații decât este strict necesar, deoarece matricea este complet determinată de simetrie împreună cu porțiunea inferior triunghiulară, adică de pe și sub diagonala principală. Pentru astfel de matrici, semivectorizarea este uneori mai utilă decât vectorizarea. Semivectorizarea, vech(A), a unei matrice simetrice A este vectorul coloană obținut prin vectorizarea numai a părții triunghiulare inferioare a lui A:

De exemplu, pentru matricea 2×2, semivectorizarea este .

Există matrici unice care transformă semivectorizarea unei matrice în vectorizarea acesteia și invers numite, respectiv, matrice de duplicare și matrice de eliminare.

În limbajele de programare Limbajele de programare care au implementate operații matriciale pot avea mijloace ușoare de vectorizare. În Matlab/GNU Octave o matrice A poate fi vectorizată prin A(:). GNU Octave permite, de asemenea, vectorizarea și semivectorizarea prin vec(A) și, respectiv, vech(A). Julia are și el funcția vec(A).

În Python tablourile NumPy implementează metoda platten, iar în R efectul dorit poate fi obținut cu funcțiile c() sau as.vector(). În R funcția vec() a pachetului „ks” permite vectorizarea, iar funcția vech() implementată în ambele pachete „ks” și „sn” permite semivectorizarea.

Note explicative

Note

Bibliografie Jan R. Magnus and Heinz Neudecker (1999), Matrix Differential Calculus with Applications in Statistics and Econometrics, 2nd Ed., Wiley. .

Categorie:Algebră liniară Categorie:Matrice