Μετάβαση στο περιεχόμενο

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

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια

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

Εδώ, αντιπροσωπεύει το στοιχείο στην i-th γραμμή και j-th στήλη του A, και ο δείκτης υποδηλώνει την αναστροφή. Η διανυσματοποίηση εκφράζει, μέσω των συντεταγμένων, τον ισομορφισμό μεταξύ αυτών (δηλαδή των πινάκων και των διανυσμάτων) ως διανυσματικούς χώρους.

Παραδείγματος χάριν, για τον πίνακα 2×2 , η διανυσματοποίηση είναι .

Βίντεο απεικόνισης της διανυσματικής πρόσθεσης

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

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

[Επεξεργασία | επεξεργασία κώδικα]

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

για τους πίνακες A, B, και C των διαστάσεων k×l, l×m, και m×n.[note 1] Παραδείγματος χάριν, αν (ο προσκείμενος ενδομορφισμός της άλγεβρας Λι gl(n, C) όλων των n×n πινάκων με μιγαδικές καταχωρήσεις), τότε , όπου είναι ο n×n πίνακας ταυτότητας.

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

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

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

[Επεξεργασία | επεξεργασία κώδικα]

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

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

[Επεξεργασία | επεξεργασία κώδικα]

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

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

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

[Επεξεργασία | επεξεργασία κώδικα]

Η διανυσματοποίηση του πίνακα μπορεί να γραφτεί ως γραμμικό άθροισμα. Έστω X ένας m × n πίνακας που θέλουμε να διανυσματοποιήσουμε, και έστω ei το i-th κανονικό διάνυσμα βάσης για τον n-διάστατο χώρο, δηλαδή . Έστω Bi ένας σύνθετος πίνακας (mn) × m που ορίζεται ως εξής:

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

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

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

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

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

[Επεξεργασία | επεξεργασία κώδικα]

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

Παραδείγματος χάριν, για τον πίνακα 2×2 matrix , η ημι-διανυσματοποίηση είναι .

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

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

[Επεξεργασία | επεξεργασία κώδικα]

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

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

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

[Επεξεργασία | επεξεργασία κώδικα]
  1. Macedo, H. D.; Oliveira, J. N. (2013). «Typing Linear Algebra: A Biproduct-oriented Approach». Science of Computer Programming 78 (11): 2160–2191. doi:10.1016/j.scico.2012.07.012. 
  2. Duong, Tarn (2018). «ks: Kernel Smoothing». R package version 1.11.0. 
  3. Azzalini, Adelchi (2017). «The R package 'sn': The Skew-Normal and Related Distributions such as the Skew-t». R package version 1.5.1. 
  4. Vinod, Hrishikesh D. (2011). «Simultaneous Reduction and Vec Stacking». Hands-on Matrix Algebra Using R: Active and Motivated Learning with Applications. Singapore: World Scientific. σελίδες 233–248. ISBN 978-981-4313-69-8 – μέσω Google Books. 
  5. Magnus, Jan· Neudecker, Heinz (2019). Matrix differential calculus with applications in statistics and econometrics. New York: John Wiley. ISBN 9781119541202. 
  6. Liu, Shuangzhe; Leiva, Victor; Zhuang, Dan; Ma, Tiefeng; Figueroa-Zúñiga, Jorge I. (March 2022). «Matrix differential calculus with applications in the multivariate linear model and its diagnostics» (στα αγγλικά). Journal of Multivariate Analysis 188: 104849. doi:10.1016/j.jmva.2021.104849. 
  1. 1,0 1,1 The identity for row-major vectorization is .
  • Janko Bračič, Kolobar aritmetičnih funkcij (Ring of arithmetical functions), (Obzornik mat, fiz. 49 (2002) 4, pp. 97–108) (MSC (2000) 11A25)
  • Iwaniec and Kowalski, Analytic number theory, AMS (2004).