Διανυσματοποίηση (μαθηματικά)

Στα μαθηματικά, ιδίως στη γραμμική άλγεβρα και τη θεωρία πινάκων, η **διανυσματοποίηση** ενός πίνακα είναι ένας γραμμικός μετασχηματισμός που μετατρέπει τον πίνακα σε διάνυσμα. Συγκεκριμένα, η διανυσματοποίηση ενός  πίνακα *A*, που συμβολίζεται με vec(*A*), είναι το  διάνυσμα στήλης που προκύπτει από τη στοίβαξη των στηλών του πίνακα *A* η μία πάνω στην άλλη:

\operatorname{vec}(A) = [a_{1,1}, \ldots, a_{m,1}, a_{1,2}, \ldots, a_{m,2}, \ldots, a_{1,n}, \ldots, a_{m,n}]^\mathrm{T}

Εδώ, a_{i,j} αντιπροσωπεύει το στοιχείο στην *i*-th γραμμή και *j*-th στήλη του *A*, και ο δείκτης {}^\mathrm{T} υποδηλώνει την αναστροφή. Η διανυσματοποίηση εκφράζει, μέσω των συντεταγμένων, τον ισομορφισμό \mathbf{R}^{m \times n} := \mathbf{R}^m \otimes \mathbf{R}^n \cong \mathbf{R}^{mn} μεταξύ αυτών (δηλαδή των πινάκων και των διανυσμάτων) ως διανυσματικούς χώρους.

Παραδείγματος χάριν, για τον πίνακα 2×2 A = \begin{bmatrix} a & b \\ c & d \end{bmatrix}, η διανυσματοποίηση είναι \operatorname{vec}(A) = \begin{bmatrix} a \\ c \\ b \\ d \end{bmatrix}.

Η σύνδεση μεταξύ της διανυσματοποίησης του *A* και της διανυσματοποίησης της αντιμετάθεσής του δίνεται από τον πίνακα αντιμετάθεσης.

## Συμβατότητα με γινόμενα Κρόνεκερ

Η διανυσματοποίηση χρησιμοποιείται συχνά μαζί με το γινόμενο Κρόνεκερ για να εκφράσει τον πολλαπλασιασμό πινάκων ως γραμμικό μετασχηματισμό σε πίνακες. Συγκεκριμένα,

 \operatorname{vec}(ABC) = (C^\mathrm{T}\otimes A) \operatorname{vec}(B) 

για τους πίνακες *A*, *B*, και *C* των διαστάσεων *k*×*l*, *l*×*m*, και *m*×*n*. Παραδείγματος χάριν, αν  \operatorname{ad}_A(X) = AX-XA (ο προσκείμενος ενδομορφισμός της άλγεβρας Λι   όλων των *n*×*n* πινάκων με μιγαδικές καταχωρήσεις), τότε \operatorname{vec}(\operatorname{ad}_A(X)) = (I_n\otimes A - A^\mathrm{T} \otimes I_n ) \text{vec}(X), όπου I_n είναι ο *n*×*n* πίνακας ταυτότητας.

Υπάρχουν δύο άλλες χρήσιμες διατυπώσεις:

 \begin{align}
\operatorname{vec}(ABC) &= (I_n\otimes AB)\operatorname{vec}(C) = (C^\mathrm{T}B^\mathrm{T}\otimes I_k) \operatorname{vec}(A) \\
\operatorname{vec}(AB) &= (I_m \otimes A) \operatorname{vec}(B) = (B^\mathrm{T}\otimes I_k) \operatorname{vec}(A)
\end{align}

Γενικότερα, έχει αποδειχθεί ότι η διανυσματοποίηση είναι μια αυτοπροσάρτηση στη μονοειδή κλειστή δομή οποιασδήποτε κατηγορίας πινάκων.

## Συμβατότητα με γινόμενο Χανταμάρντ

Η διανυσματοποίηση είναι ένας ομομορφισμός άλγεβρας από το χώρο των πινάκων  με το γινόμενο Χανταμάρντ (entrywise) στο **C***n*2 με το γινόμενο Χανταμάρντ: 

\operatorname{vec}(A \circ B) = \operatorname{vec}(A) \circ \operatorname{vec}(B) .

## Συμβατότητα με εσωτερικά γινόμενα

Η διανυσματοποίηση είναι ένας μοναδιαίος μετασχηματισμός από τον χώρο των πινάκων *n*×*n* με το εσωτερικό γινόμενο Φρομπένιους (ή Χίλμπερτ - Σμιντ) στον **C***n*2: 

\operatorname{tr}(A^\dagger B) = \operatorname{vec}(A)^\dagger \operatorname{vec}(B),

Συμβατότητα με εσωτερικά γινόμενα όπου ο δείκτης † δηλώνει τη συζυγή αναστροφή.

## Διανυσματοποίηση ως γραμμικό άθροισμα

Η διανυσματοποίηση του πίνακα μπορεί να γραφτεί ως γραμμικό άθροισμα. Έστω **X** ένας  πίνακας που θέλουμε να διανυσματοποιήσουμε, και έστω **e***i* το i-th κανονικό διάνυσμα βάσης για τον *n*-διάστατο χώρο, δηλαδή \mathbf{e}_i=\left[0,\dots,0,1,0,\dots,0\right]^\mathrm{T}. Έστω **B***i* ένας σύνθετος πίνακας  που ορίζεται ως εξής: 


\mathbf{B}_i = \begin{bmatrix}
\mathbf{0} \\
\vdots \\
\mathbf{0} \\
\mathbf{I}_m \\
\mathbf{0} \\
\vdots \\
\mathbf{0}
\end{bmatrix}
= \mathbf{e}_i \otimes \mathbf{I}_m


Ο Bi αποτελείται από *n* σύνθετους  πίνακες  μεγέθους , στοιβαγμένους κατά στήλες, και όλοι αυτοί οι πίνακες είναι όλοι μηδενικοί εκτός από τον *i*-th, ο οποίος είναι ένας  πίνακας ταυτότητας **I***m*.

Τότε η διανυσματική έκδοση του **X** μπορεί να εκφραστεί ως εξής: 

\operatorname{vec}(\mathbf{X}) = \sum_{i=1}^n \mathbf{B}_i \mathbf{X} \mathbf{e}_i

Ο πολλαπλασιασμός του **X** με **e***i* εξάγει την *i*-th στήλη, ενώ ο πολλαπλασιασμός με **B***i* την τοποθετεί στην επιθυμητή θέση στο τελικό διάνυσμα.

Εναλλακτικά, το γραμμικό άθροισμα μπορεί να εκφραστεί χρησιμοποιώντας το γινόμενο Κρόνεκερ: 

\operatorname{vec}(\mathbf{X}) = \sum_{i=1}^n \mathbf{e}_i \otimes \mathbf{X} \mathbf{e}_i

## Ημι-διανυσματοποίηση

Για έναν συμμετρικό πίνακα *A*, το διάνυσμα vec(*A*) περιέχει περισσότερες πληροφορίες από όσες είναι απολύτως απαραίτητες, αφού ο πίνακας καθορίζεται πλήρως από τη συμμετρία μαζί με το κάτω τριγωνικό τμήμα, δηλαδή τις  καταχωρήσεις πάνω και κάτω από την κύρια διαγώνιο. Για τέτοιους πίνακες, η *ημι-διανυσματοποίηση* είναι μερικές φορές πιο χρήσιμη από τη διανυσματοποίηση. Η ημι-διανυσματοποίηση, vech(*A*'), ενός συμμετρικού  πίνακα *A* είναι το  διάνυσμα στήλης που προκύπτει από τη διανυσματοποίηση μόνο του κάτω τριγωνικού τμήματος του *A*:

 \operatorname{vech}(A) = [A_{1,1}, \ldots, A_{n,1}, A_{2,2}, \ldots, A_{n,2}, \ldots, A_{n-1,n-1}, A_{n,n-1}, A_{n,n}]^\mathrm{T}.

Παραδείγματος χάριν, για τον πίνακα 2×2 matrix A = \begin{bmatrix} a & b \\ b & d \end{bmatrix}, η ημι-διανυσματοποίηση είναι \operatorname{vech}(A) = \begin{bmatrix} a \\ b \\ d \end{bmatrix}.

Υπάρχουν μοναδικοί πίνακες που μετατρέπουν τη ημι-διανυσματοποίηση ενός πίνακα στη διανυσματοποίησή του και αντίστροφα και ονομάζονται, αντίστοιχα, πίνακας διπλασιασμού και πίνακας απαλοιφής.

## Γλώσσα προγραμματισμού

Οι γλώσσες προγραμματισμού που υλοποιούν πίνακες μπορεί να έχουν εύκολα μέσα για διανυσματοποίηση. 
Στο Matlab/GNU Octave ένας πίνακας `A` μπορεί να διανυσματοποιηθεί με τη μέθοδο `A(:)`.
Το GNU Octave επιτρέπει επίσης τη διανυσματοποίηση και την ημι-διανυσματοποίηση με `vec(A)` και `vech(A)` αντίστοιχα. Η Julia διαθέτει επίσης τη συνάρτηση `vec(A)`. 
Στην Python οι πίνακες NumPy υλοποιούν τη μέθοδο `flatten`, ενώ στην R το επιθυμητό αποτέλεσμα μπορεί να επιτευχθεί μέσω των συναρτήσεων `c()` ή `as.vector()`. Στην R, η συνάρτηση `vec()` του πακέτου 'ks' επιτρέπει τη διανυσματοποίηση και η συνάρτηση `vech()` που υλοποιείται και στα δύο πακέτα 'ks' και 'sn' επιτρέπει τη ημι-διανυσματοποίηση.

## Εφαρμογές

Η διανυσματοποίηση χρησιμοποιείται στον υπολογισμό πινάκων και στις εφαρμογές του για τον καθορισμό π.χ. των ροπών τυχαίων διανυσμάτων και πινάκων, της ασυμπτωτικής, καθώς και των Ιακωβιανών και Εσσιανών πινάκων. Χρησιμοποιείται επίσης στην τοπική ευαισθησία και τη στατιστική διάγνωση.

## Δείτε επίσης

* Field Arithmetic
* Πραγματικό προβολικό επίπεδο
* Εσωτερικό γινόμενο 
* Φυσικός αριθμός
* Πίνακας (μαθηματικά)
* Τριγωνικός πίνακας
* Διάνυσμα
* Ισομορφισμός
* Ταυτοτικός πίνακας

## Εξωτερικοί σύνδεσμοι

*English - Greek Dictionary of Pure and Applied Mathematics Εθνικό Μετσόβιο Πολυτεχνείο
*Αγγλοελληνικό Λεξικό Μαθηματικής Ορολογίας - Πανεπιστήμιο Κύπρου
* Matrix Analysis
* Complex-Valued Matrix Derivatives: With Applications in Signal Processing ...
* The Concise Oxford Dictionary of Mathematics
* [The Statistics and Calculus with Python Workshop: A comprehensive ..](https://books.google.gr/books?id=Llj4DwAAQBAJ&pg=PA66&dq=Vectorization+(mathematics)&hl=el&newbks=1&newbks_redir=0&sa=X&ved=2ahUKEwiAlLvAo72HAxVjB9sEHSolOH8Q6AF6BAgNEAI#v=onepage&q=Vectorization%20(mathematics)&f=false)
* [Relational Mathematics](https://books.google.gr/books?id=E4dREBTs5WsC&pg=PA124&dq=Vectorization+(mathematics)&hl=el&newbks=1&newbks_redir=0&sa=X&ved=2ahUKEwiAlLvAo72HAxVjB9sEHSolOH8Q6AF6BAgHEAI#v=onepage&q=Vectorization%20(mathematics)&f=false)
* [Generalized Vectorization, Cross-Products, and Matrix Calculus](https://books.google.gr/books?id=AvZ9sIbPrbAC&printsec=frontcover&dq=Vectorization+(mathematics)&hl=el&newbks=1&newbks_redir=0&sa=X&redir_esc=y#v=onepage&q=Vectorization%20(mathematics)&f=false)

## Δημοσιεύσεις

* 
* 
* 
* 
* 
*  
* 
*

## Παραπομπές

* Janko Bračič, *Kolobar aritmetičnih funkcij* (*[[:en:Ring (algebra)|Ring]] of arithmetical functions*), (Obzornik mat, fiz. **49** (2002) 4, pp.&nbsp;97–108)  (MSC (2000) 11A25) 
* Iwaniec and Kowalski, *Analytic number theory*, AMS (2004). 

 

Κατηγορία:Γραμμική άλγεβρα
Κατηγορία:Πίνακες (μαθηματικά)
Κατηγορία:Θεωρία πινάκων
Κατηγορία:Περιοχές των μαθηματικών