Μέθοδος ορθοκανονικοποίησης των Gram–Schmidt

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια
Η τροποποιημένη μέθοδος Gram-Schmidt εκτελείται σε τρία γραμμικά ανεξάρτητα, μη ορθογώνια διανύσματα μιας βάσης για το R3. Πατήστε στην εικόνα για λεπτομέρειες. Η τροποποίηση εξηγείται στην ενότητα Αριθμητική σταθερότητα αυτού του άρθρου.

Η διανυσματική προβολή ενός διανύσματος σε ένα μη μηδενικό διάνυσμα ορίζεται ως εξής

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

Η μέθοδος Gram-Schmidt[Επεξεργασία | επεξεργασία κώδικα]

Η τροποποιημένη μέθοδος Gram-Schmidt εκτελείται σε τρία γραμμικά ανεξάρτητα, μη ορθογώνια διανύσματα μιας βάσης για το R'3. Κάντε κλικ στην εικόνα για λεπτομέρειες. Η τροποποίηση εξηγείται στην ενότητα Αριθμητική σταθερότητα αυτού του άρθρου.


Η διανυσματική προβολή ενός διανύσματος σε ένα μη μηδενικό διάνυσμα ορίζεται ως εξής

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

Με βάση τα διανύσματα k η μέθοδος Gram-Schmidt ορίζει τα διανύσματα as follows:

Η ακολουθία u1, ..., uk είναι το απαιτούμενο σύστημα ορθογώνιων διανυσμάτων και τα κανονικοποιημένα διανύσματα e1, ..., ek σχηματίζουν ένα ορθοκανονικό σύνολο. Ο υπολογισμός της ακολουθίας u1, ..., uk είναι γνωστός ως ορθογωνιοποίηση Gram-Schmidt, και ο υπολογισμός της ακολουθίας e1, ..., ek είναι γνωστός ως ορθοκανονικοποίηση Gram-Schmidt.

Για να ελεγχθεί ότι αυτοί οι τύποι δίνουν μια ορθογώνια ακολουθία, υπολογίζουμε πρώτα αντικαθιστώντας τον παραπάνω τύπο για το u2:: παίρνουμε μηδέν. Στη συνέχεια χρησιμοποιούμε αυτό για να υπολογίσουμε πάλι αντικαθιστώντας τον τύπο για το u3: παίρνουμε μηδέν. Η γενική απόδειξη γίνεται με μαθηματική επαγωγή.

Η μέθοδος Gram-Schmidt εφαρμόζεται επίσης σε μια γραμμικά ανεξάρτητη μετρήσιμη άπειρη ακολουθία {vi}i. Το αποτέλεσμα είναι μια ορθογώνια (ή ορθοκανονική) ακολουθία {ui}i τέτοια ώστε για φυσικό αριθμό n: το αλγεβρικό εύρος των v1, ..., vn είναι το ίδιο με αυτό των u1, ..., un.

Εάν η μέθοδος Gram-Schmidt εφαρμόζεται σε μια γραμμικά εξαρτημένη ακολουθία, εξάγει το διάνυσμα 0 στο i-th βήμα, υποθέτοντας ότι το vi είναι ένας γραμμικός συνδυασμός των v1, ..., vi−1. Εάν πρόκειται να δημιουργηθεί μια ορθοκανονική βάση, τότε ο αλγόριθμος θα πρέπει να εξετάσει για μηδενικά διανύσματα στην έξοδο και να τα απορρίψει, διότι κανένα πολλαπλάσιο ενός μηδενικού διανύσματος δεν μπορεί να έχει μήκος 1. Ο αριθμός των διανυσμάτων που εξάγονται από τον αλγόριθμο θα είναι τότε η διάσταση του χώρου που καλύπτεται από τις αρχικές εισόδους.

Μια παραλλαγή της μεθόδου Gram-Schmidt που χρησιμοποιεί τη διαπεραστική αναδρομή και εφαρμόζεται σε μια (ενδεχομένως μη αναρίθμητη) άπειρη ακολουθία διανυσμάτων δίνει ένα σύνολο ορθοκανονικών διανυσμάτων με έτσι ώστε για κάθε , η ολοκλήρωση της έκτασης της είναι η ίδια με εκείνη του .. Ειδικότερα, όταν εφαρμόζεται σε μια (αλγεβρική) βάση ενός χώρου Hilbert (ή, γενικότερα, σε μια βάση οποιουδήποτε πυκνού υποχώρου), δίνει μια (λειτουργική-αναλυτική) ορθοκανονική βάση. Σημειώστε ότι στη γενική περίπτωση συχνά ισχύει η αυστηρή ανισότητα , ακόμη και αν το αρχικό σύνολο ήταν γραμμικά ανεξάρτητο, και η έκταση του δεν χρειάζεται να είναι υποχώρος της έκτασης του (μάλλον, είναι ένας υποχώρος της ολοκλήρωσής του).

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

Ευκλείδειος χώρος[Επεξεργασία | επεξεργασία κώδικα]

Ας θεωρήσουμε το ακόλουθο σύνολο διανυσμάτων στο

R2 (με το συμβατικό εσωτερικό γινόμενο)

Εφαρμόστε τώρα τη μέθοδο Gram-Schmidt για να λάβετε ένα σύνολο ορθογώνιων διανυσμάτων:

Ελέγχουμε ότι τα διανύσματα u1 και u2 είναι πράγματι ορθογώνια:

σημειώνοντας ότι αν το τετραγωνικό γινόμενο δύο διανυσμάτων είναι 0, τότε είναι ορθογώνια.

Ιδιότητες[Επεξεργασία | επεξεργασία κώδικα]

Σημειώστε με το αποτέλεσμα της εφαρμογής της διαδικασίας Gram-Schmidt σε μια συλλογή διανυσμάτων . Έτσι προκύπτει ένας χάρτης GS : .

Έχει τις ακόλουθες ιδιότητες:

  • Είναι συνεχής
  • Διατηρεί τον προσανατολισμό με την έννοια ότι .
  • Συναλλάσσεται με ορθογώνιους χάρτες:

Έστω να είναι ορθογώνιο (ως προς το δεδομένο εσωτερικό γινόμενο). Τότε έχουμε

Περαιτέρω, μια παραμετρική εκδοχή της μεθόδου Gram-Schmidt δίνει μια (ισχυρή) παραμορφωτική ανάκληση της γενικής γραμμικής ομάδας στην ορθογώνια ομάδα .

Αριθμητική σταθερότητα[Επεξεργασία | επεξεργασία κώδικα]

Όταν αυτή η διαδικασία εκτελείται σε υπολογιστή, τα διανύσματα συχνά δεν είναι αρκετά ορθογώνια, λόγω σφαλμάτων στρογγυλοποίησης. Για τη μέθοδο Gram-Schmidt που περιγράφηκε παραπάνω (μερικές φορές αναφέρεται ως "κλασική μέθοδος Gram-Schmidt"), αυτή η απώλεια ορθογωνιότητας είναι ιδιαίτερα σοβαρή, γι' αυτό και η (κλασική) μέθοδος Gram-Schmidt χαρακτηρίζεται αριθμητικά ασταθής.

Η μέθοδος Gram-Schmidt μπορεί να σταθεροποιηθεί με μια μικρή τροποποίηση- αυτή η έκδοση ονομάζεται μερικές φορές τροποποιημένη Gram-Schmidt ή MGS. Αυτή η προσέγγιση δίνει το ίδιο αποτέλεσμα με τον αρχικό τύπο στην ακριβή αριθμητική και εισάγει μικρότερα σφάλματα στην αριθμητική ακριβείας. Αντί για τον υπολογισμό του διανύσματος uk ως

υπολογίζεται ως εξής

Αυτή η μέθοδος χρησιμοποιείται στην προηγούμενη κινούμενη εικόνα, όταν το ενδιάμεσο διάνυσμα v'3 χρησιμοποιείται κατά την ορθογωνοποίηση του μπλε διανύσματος v3.

Ακολουθεί μια άλλη περιγραφή του τροποποιημένου αλγορίθμου. Δεδομένων των διανυσμάτων , στο πρώτο βήμα μας παράγουμε τα διανύσματα αφαιρώντας συνιστώσες κατά μήκος της διεύθυνσης του . Σε τύπους,. Μετά από αυτό το βήμα έχουμε ήδη δύο από τα επιθυμητά ορθογώνια διανύσματα , δηλαδή , αλλά κάναμε και ήδη ορθογώνια προς . Στη συνέχεια, ορθογωνικοποιούμε αυτά τα υπόλοιπα διανύσματα κατά . Αυτό σημαίνει ότι υπολογίζουμε τα με αφαίρεση . Τώρα έχουμε αποθηκεύσει τα διανύσματα όπου τα τρία πρώτα διανύσματα είναι ήδη και τα υπόλοιπα διανύσματα είναι ήδη ορθογώνια προς τα . Όπως θα πρέπει να είναι σαφές τώρα, το επόμενο βήμα ορθογωνιοποιεί τα έναντι του .Προχωρώντας με αυτόν τον τρόπο βρίσκουμε το πλήρες σύνολο των ορθογώνιων διανυσμάτων . Αν επιθυμούμε ορθοκανονικά διανύσματα, τότε κανονικοποιούμε καθώς προχωράμε, έτσι ώστε οι παρονομαστές στους τύπους αφαίρεσης να μετατραπούν σε μονάδες.

Αλγόριθμος[Επεξεργασία | επεξεργασία κώδικα]

Ο ακόλουθος αλγόριθμος MATLAB υλοποιεί την κλασική ορθοκανονικοποίηση Gram-Schmidt. Τα διανύσματα v1, ..., vk (στήλες του πίνακα V, έτσι ώστε V(:,j) να είναι το jοστό διάνυσμα) αντικαθίστανται από ορθοκανονικά διανύσματα (στήλες του U) που καλύπτουν τον ίδιο υποχώρο.

function U = gramschmidt(V)
    [n, k] = size(V);
    U = zeros(n,k);
    U(:,1) = V(:,1) / norm(V(:,1));
    for i = 2:k
        U(:,i) = V(:,i);
        for j = 1:i-1
            U(:,i) = U(:,i) - (U(:,j)'*U(:,i)) * U(:,j);
        end
        U(:,i) = U(:,i) / norm(U(:,i));
    end
end

Το κόστος αυτού του αλγορίθμου είναι ασυμπτωτικά O(nk2) πράξεις κινητής υποδιαστολής, όπου n είναι η διαστατικότητα των διανυσμάτων.[1]

Μέσω απαλοιφής Γκάους[Επεξεργασία | επεξεργασία κώδικα]

Εάν οι γραμμές {v1, ..., vk} γράφονται ως πίνακας , τότε η εφαρμογή της απαλοιφής Γκάους στον επαυξημένο πίνακα θα παράγει τα ορθογωνιοποιημένα διανύσματα στη θέση του . Ωστόσο, ο πίνακας πρέπει να μετατραπεί σε μορφή echelon γραμμής, χρησιμοποιώντας μόνο την πράξη γραμμής της πρόσθεσης ενός κλιμακωτού πολλαπλάσιου μιας γραμμής σε μια άλλη.[2] Για παράδειγμα, λαμβάνοντας όπως παραπάνω, έχουμε

Και αν το αναγάγουμε αυτό σε μορφή σειρών επιπέδων παράγει

Τα κανονικοποιημένα διανύσματα είναι στη συνέχεια

όπως στο παραπάνω παράδειγμα.

Προσδιοριστικός τύπος[Επεξεργασία | επεξεργασία κώδικα]

Το αποτέλεσμα της μεθόδου Gram-Schmidt μπορεί να εκφραστεί με έναν μη αναδρομικό τύπο χρησιμοποιώντας προσδιοριστές.

όπου D0=1 και, για j ≥ 1, Djείναι ο προσδιοριστής Gram

Σημειώστε ότι η έκφραση για το u'k είναι ένας "τυπικός" προσδιοριστής, δηλαδή ο πίνακας περιέχει και τα δύο κλιμάκια όσο και διανύσματα- η έννοια αυτής της έκφρασης ορίζεται ως το αποτέλεσμα μιας συνδιαστολής κατά μήκος της γραμμής των διανυσμάτων.

Ο προσδιοριστικός τύπος για τον Gram-Schmidt είναι υπολογιστικά πιο αργός (εκθετικά πιο αργός) από τους αναδρομικούς αλγορίθμους που περιγράφονται παραπάνω- έχει κυρίως θεωρητικό ενδιαφέρον.

Εκφραση με χρήση γεωμετρικής άλγεβρας[Επεξεργασία | επεξεργασία κώδικα]

Εκφρασμένα με χρήση συμβολισμού που χρησιμοποιείται στη γεωμετρική άλγεβρα, τα μη ομαλοποιημένα αποτελέσματα της μεθόδου Gram-Schmidt εκφράζονται ως εξής η οποία είναι ισοδύναμη με την έκφραση που χρησιμοποιεί τον τελεστή που ορίζεται παραπάνω. Τα αποτελέσματα μπορούν ισοδύναμα να εκφραστούν ως [3] η οποία είναι στενά συνδεδεμένη με την έκφραση με χρήση προσδιοριστικών παραγόντων παραπάνω.

ναλλακτικές λύσεις[Επεξεργασία | επεξεργασία κώδικα]

Άλλοι αλγόριθμοι ορθογωνοποίησης χρησιμοποιούν μετασχηματισμούς Χάουσχολντερ ή περιστροφές Γκίβενς. Οι αλγόριθμοι που χρησιμοποιούν μετασχηματισμούς Χάουσχολντερ είναι πιο σταθεροί από τη σταθεροποιημένη μέθοδο Gram-Schmidt. Από την άλλη πλευρά, η μέθοδος Gram-Schmidt παράγει το j jοστό ορθογωνοποιημένο διάνυσμα μετά την th επανάληψη, ενώ η ορθογωνοποίηση που χρησιμοποιεί ανακλάσεις Χάουσχολντερ παράγει όλα τα διανύσματα μόνο στο τέλος. Αυτό καθιστά μόνο τη μέθοδο Gram-Schmidt εφαρμόσιμη για επαναληπτικές μεθόδους όπως η επανάληψη Αρνόλντι.

Μια άλλη λύση έχει ως κίνητρο τη χρήση της αποσύνθεσης Τσολέσκι για την αντιστροφή του πίνακα των κανονικών εξισώσεων σε γραμμικά ελάχιστα τετράγωνα. Έστω ένας πίνακας πλήρους τάξης του οποίου οι στήλες πρέπει να είναι ορθογωνοποιημένες. Ο πίνακας είναι ερμιτιανός και θετικά ορισμένος, οπότε μπορεί να γραφεί στη μορφή χρησιμοποιώντας την αποσύνθεση Τσολέσκι. Ο κάτω τριγωνικός πίνακας με αυστηρά θετικές διαγώνιες καταχωρήσεις είναι αντιστρέψιμος. Οι στήλες του πίνακα είναι τότε ορθοκανονικές και καλύπτουν τον ίδιο υποχώρο με τις στήλες του αρχικού πίνακα . Η ρητή χρήση του γινομένου καθιστά τον αλγόριθμο ασταθή, ιδιαίτερα αν ο αριθμός των όρων του γινομένου είναι μεγάλος. Παρ' όλα αυτά, ο αλγόριθμος αυτός χρησιμοποιείται στην πράξη και υλοποιείται σε ορισμένα λογισμικά λόγω της υψηλής αποδοτικότητας και απλότητας του.

Στην κβαντομηχανική υπάρχουν διάφορα σχήματα ορθογωνοποίησης με χαρακτηριστικά που είναι καλύτερα προσαρμοσμένα για ορισμένες εφαρμογές από τα αρχικά σχήματα Gram-Schmidt. Παρόλα αυτά, παραμένει ένας δημοφιλής και αποτελεσματικός αλγόριθμος ακόμα και για τους μεγαλύτερους υπολογισμούς ηλεκτρονικής δομής[4].

Εξωτερικοί Σύνδεσμοι[Επεξεργασία | επεξεργασία κώδικα]

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

Παραπομπές[Επεξεργασία | επεξεργασία κώδικα]

  1. Golub & Van Loan 1996, §5.2.8.
  2. Pursell, Lyle; Trimble, S. Y. (1 January 1991). «Gram-Schmidt Orthogonalization by Gauss Elimination». The American Mathematical Monthly 98 (6): 544–549. doi:10.2307/2324877. 
  3. Doran, Chris· Lasenby, Anthony (2007). Geometric Algebra for Physicists. Cambridge University Press. σελ. 124. ISBN 978-0-521-71595-9. 
  4. Pursell, Yukihiro· και άλλοι. (2011). «First-principles calculations of electron states of a silicon nanowire with 100,000 atoms on the K computer». Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis. σελίδες 1:1–1:11. doi:10.1145/2063384.2063386. ISBN 9781450307710.