Η τροποποιημένη μέθοδος Gram-Schmidt εκτελείται σε τρία γραμμικά ανεξάρτητα, μη ορθογώνια διανύσματα μιας βάσης για το **R**3. Πατήστε στην εικόνα για λεπτομέρειες. Η τροποποίηση εξηγείται στην ενότητα Αριθμητική σταθερότητα αυτού του άρθρου.
Η διανυσματική προβολή ενός διανύσματος {\displaystyle \mathbf {v} } σε ένα μη μηδενικό διάνυσμα {\displaystyle \mathbf {u} } ορίζεται ως εξής

{\displaystyle \operatorname {proj} \_{\mathbf {u} }(\mathbf {v} )={\frac {\langle \mathbf {v} ,\mathbf {u} \rangle }{\langle \mathbf {u} ,\mathbf {u} \rangle }}\,\mathbf {u} ,}

όπου {\displaystyle \langle \mathbf {v} ,\mathbf {u} \rangle } δηλώνει το εσωτερικό γινόμενο των διανυσμάτων {\displaystyle \mathbf {u} } και {\displaystyle \mathbf {v} }. Αυτό σημαίνει ότι {\displaystyle \operatorname {proj} \_{\mathbf {u} }(\mathbf {v} )} είναι η ορθογώνια προβολή του {\displaystyle \mathbf {v} } στην ευθεία που διατρέχει το {\displaystyle \mathbf {u} }. Αν {\displaystyle \mathbf {u} } είναι το μηδενικό διάνυσμα, τότε {\displaystyle \operatorname {proj} \_{\mathbf {u} }(\mathbf {v} )} ορίζεται ως το μηδενικό διάνυσμα.

Η μέθοδος Gram-Schmidt
----------------------

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

  

Η διανυσματική προβολή ενός διανύσματος {\displaystyle \mathbf {v} } σε ένα μη μηδενικό διάνυσμα {\displaystyle \mathbf {u} } ορίζεται ως εξής 


proj

u

⁡
(

v

)
=

⟨

v

,

u

⟩

⟨

u

,

u

⟩


u

,

{\displaystyle \operatorname {proj} \_{\mathbf {u} }(\mathbf {v} )={\frac {\langle \mathbf {v} ,\mathbf {u} \rangle }{\langle \mathbf {u} ,\mathbf {u} \rangle }}\,\mathbf {u} ,}

{\displaystyle \operatorname {proj} _{\mathbf {u} }(\mathbf {v} )={\frac {\langle \mathbf {v} ,\mathbf {u} \rangle }{\langle \mathbf {u} ,\mathbf {u} \rangle }}\,\mathbf {u} ,}
όταν {\displaystyle \langle \mathbf {v} ,\mathbf {u} \rangle } συμβολίζει το εσωτερικό γινόμενο των διανυσμάτων {\displaystyle \mathbf {u} } και {\displaystyle \mathbf {v} }. Αυτό σημαίνει ότι {\displaystyle \operatorname {proj} \_{\mathbf {u} }(\mathbf {v} )} είναι η ορθογώνια προβολή του {\displaystyle \mathbf {v} } στην ευθεία που διατρέχει το {\displaystyle \mathbf {u} }. Αν {\displaystyle \mathbf {u} } είναι το μηδενικό διάνυσμα, τότε {\displaystyle \operatorname {proj} \_{\mathbf {u} }(\mathbf {v} )} ορίζεται ως το μηδενικό διάνυσμα.

Με βάση τα διανύσματα k {\displaystyle \mathbf {v} \_{1},\ldots ,\mathbf {v} \_{k}} η μέθοδος Gram-Schmidt ορίζει τα διανύσματα 
{\displaystyle \mathbf {u} \_{1},\ldots ,\mathbf {u} \_{k}} as follows:




u

1


=

v

1

,


e

1


=

u

1

‖

u

1

‖



u

2


=

v

2

−

proj

u

1

⁡
(

v

2

)
,


e

2


=

u

2

‖

u

2

‖



u

3


=

v

3

−

proj

u

1

⁡
(

v

3

)
−

proj

u

2

⁡
(

v

3

)
,


e

3


=

u

3

‖

u

3

‖



u

4


=

v

4

−

proj

u

1

⁡
(

v

4

)
−

proj

u

2

⁡
(

v

4

)
−

proj

u

3

⁡
(

v

4

)
,


e

4


=

u

4

‖

u

4

‖




 
 
⋮


 
 
⋮



u

k


=

v

k

−

∑

j
=
1

k
−
1

proj

u

j

⁡
(

v

k

)
,


e

k


=

u

k

‖

u

k

‖

.



{\displaystyle {\begin{aligned}\mathbf {u} \_{1}&=\mathbf {v} \_{1},&\!\mathbf {e} \_{1}&={\frac {\mathbf {u} \_{1}}{\|\mathbf {u} \_{1}\|}}\\\mathbf {u} \_{2}&=\mathbf {v} \_{2}-\operatorname {proj} \_{\mathbf {u} \_{1}}(\mathbf {v} \_{2}),&\!\mathbf {e} \_{2}&={\frac {\mathbf {u} \_{2}}{\|\mathbf {u} \_{2}\|}}\\\mathbf {u} \_{3}&=\mathbf {v} \_{3}-\operatorname {proj} \_{\mathbf {u} \_{1}}(\mathbf {v} \_{3})-\operatorname {proj} \_{\mathbf {u} \_{2}}(\mathbf {v} \_{3}),&\!\mathbf {e} \_{3}&={\frac {\mathbf {u} \_{3}}{\|\mathbf {u} \_{3}\|}}\\\mathbf {u} \_{4}&=\mathbf {v} \_{4}-\operatorname {proj} \_{\mathbf {u} \_{1}}(\mathbf {v} \_{4})-\operatorname {proj} \_{\mathbf {u} \_{2}}(\mathbf {v} \_{4})-\operatorname {proj} \_{\mathbf {u} \_{3}}(\mathbf {v} \_{4}),&\!\mathbf {e} \_{4}&={\mathbf {u} \_{4} \over \|\mathbf {u} \_{4}\|}\\&{}\ \ \vdots &&{}\ \ \vdots \\\mathbf {u} \_{k}&=\mathbf {v} \_{k}-\sum \_{j=1}^{k-1}\operatorname {proj} \_{\mathbf {u} \_{j}}(\mathbf {v} \_{k}),&\!\mathbf {e} \_{k}&={\frac {\mathbf {u} \_{k}}{\|\mathbf {u} \_{k}\|}}.\end{aligned}}}

{\displaystyle {\begin{aligned}\mathbf {u} _{1}&=\mathbf {v} _{1},&\!\mathbf {e} _{1}&={\frac {\mathbf {u} _{1}}{\|\mathbf {u} _{1}\|}}\\\mathbf {u} _{2}&=\mathbf {v} _{2}-\operatorname {proj} _{\mathbf {u} _{1}}(\mathbf {v} _{2}),&\!\mathbf {e} _{2}&={\frac {\mathbf {u} _{2}}{\|\mathbf {u} _{2}\|}}\\\mathbf {u} _{3}&=\mathbf {v} _{3}-\operatorname {proj} _{\mathbf {u} _{1}}(\mathbf {v} _{3})-\operatorname {proj} _{\mathbf {u} _{2}}(\mathbf {v} _{3}),&\!\mathbf {e} _{3}&={\frac {\mathbf {u} _{3}}{\|\mathbf {u} _{3}\|}}\\\mathbf {u} _{4}&=\mathbf {v} _{4}-\operatorname {proj} _{\mathbf {u} _{1}}(\mathbf {v} _{4})-\operatorname {proj} _{\mathbf {u} _{2}}(\mathbf {v} _{4})-\operatorname {proj} _{\mathbf {u} _{3}}(\mathbf {v} _{4}),&\!\mathbf {e} _{4}&={\mathbf {u} _{4} \over \|\mathbf {u} _{4}\|}\\&{}\ \ \vdots &&{}\ \ \vdots \\\mathbf {u} _{k}&=\mathbf {v} _{k}-\sum _{j=1}^{k-1}\operatorname {proj} _{\mathbf {u} _{j}}(\mathbf {v} _{k}),&\!\mathbf {e} _{k}&={\frac {\mathbf {u} _{k}}{\|\mathbf {u} _{k}\|}}.\end{aligned}}}
Η ακολουθία **u**1, ... **u***k* είναι το απαιτούμενο σύστημα ορθογώνιων διανυσμάτων και τα κανονικοποιημένα διανύσματα **e**1, ... **e***k* σχηματίζουν ένα ορθοκανονικό σύνολο. Ο υπολογισμός της ακολουθίας **u**1, ... **u***k* είναι γνωστός ως ορθογωνιοποίηση Gram-Schmidt, και ο υπολογισμός της ακολουθίας **e**1, ... **e***k* είναι γνωστός ως ορθοκανονικοποίηση Gram-Schmidt.

Για να ελεγχθεί ότι αυτοί οι τύποι δίνουν μια ορθογώνια ακολουθία, υπολογίζουμε πρώτα {\displaystyle \langle \mathbf {u} \_{1},\mathbf {u} \_{2}\rangle } αντικαθιστώντας τον παραπάνω τύπο για το **u**2:: παίρνουμε μηδέν. Στη συνέχεια χρησιμοποιούμε αυτό για να υπολογίσουμε {\displaystyle \langle \mathbf {u} \_{1},\mathbf {u} \_{3}\rangle } πάλι αντικαθιστώντας τον τύπο για το **u**3: παίρνουμε μηδέν. Η γενική απόδειξη γίνεται με μαθηματική επαγωγή.

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

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

Μια παραλλαγή της μεθόδου Gram-Schmidt που χρησιμοποιεί τη διαπεραστική αναδρομή και εφαρμόζεται σε μια (ενδεχομένως μη αναρίθμητη) άπειρη ακολουθία διανυσμάτων {\displaystyle (v\_{\alpha })\_{\alpha <\lambda }} δίνει ένα σύνολο ορθοκανονικών διανυσμάτων {\displaystyle (u\_{\alpha })\_{\alpha <\kappa }} με {\displaystyle \kappa \leq \lambda } έτσι ώστε για κάθε {\displaystyle \alpha \leq \lambda }, η ολοκλήρωση της έκτασης της {\displaystyle \{u\_{\beta }:\beta <\min(\alpha ,\kappa )\}} είναι η ίδια με εκείνη του {\displaystyle \{v\_{\beta }:\beta <\alpha \}}.. Ειδικότερα, όταν εφαρμόζεται σε μια (αλγεβρική) βάση ενός χώρου Hilbert (ή, γενικότερα, σε μια βάση οποιουδήποτε πυκνού υποχώρου), δίνει μια (λειτουργική-αναλυτική) ορθοκανονική βάση. Σημειώστε ότι στη γενική περίπτωση συχνά ισχύει η αυστηρή ανισότητα {\displaystyle \kappa <\lambda }, ακόμη και αν το αρχικό σύνολο ήταν γραμμικά ανεξάρτητο, και η έκταση του {\displaystyle (u\_{\alpha })\_{\alpha <\kappa }} δεν χρειάζεται να είναι υποχώρος της έκτασης του {\displaystyle (v\_{\alpha })\_{\alpha <\lambda }} (μάλλον, είναι ένας υποχώρος της ολοκλήρωσής του).

Παράδειγμα
----------

### Ευκλείδειος χώρος

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

**R**2 (με το συμβατικό εσωτερικό γινόμενο)
{\displaystyle S=\left\{\mathbf {v} \_{1}={\begin{bmatrix}3\\1\end{bmatrix}},\mathbf {v} \_{2}={\begin{bmatrix}2\\2\end{bmatrix}}\right\}.}

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

{\displaystyle \mathbf {u} \_{1}=\mathbf {v} \_{1}={\begin{bmatrix}3\\1\end{bmatrix}}}

{\displaystyle \mathbf {u} \_{2}=\mathbf {v} \_{2}-\operatorname {proj} \_{\mathbf {u} \_{1}}(\mathbf {v} \_{2})={\begin{bmatrix}2\\2\end{bmatrix}}-\operatorname {proj} \_{\left[{\begin{smallmatrix}3\\1\end{smallmatrix}}\right]}{\begin{bmatrix}2\\2\end{bmatrix}}={\begin{bmatrix}2\\2\end{bmatrix}}-{\frac {8}{10}}{\begin{bmatrix}3\\1\end{bmatrix}}={\begin{bmatrix}-2/5\\6/5\end{bmatrix}}.}

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

{\displaystyle \langle \mathbf {u} \_{1},\mathbf {u} \_{2}\rangle =\left\langle {\begin{bmatrix}3\\1\end{bmatrix}},{\begin{bmatrix}-2/5\\6/5\end{bmatrix}}\right\rangle =-{\frac {6}{5}}+{\frac {6}{5}}=0,}

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

{\displaystyle \mathbf {e} \_{1}={\frac {1}{\sqrt {10}}}{\begin{bmatrix}3\\1\end{bmatrix}}}

{\displaystyle \mathbf {e} \_{2}={\frac {1}{\sqrt {40 \over 25}}}{\begin{bmatrix}-2/5\\6/5\end{bmatrix}}={\frac {1}{\sqrt {10}}}{\begin{bmatrix}-1\\3\end{bmatrix}}.}

Ιδιότητες
---------

Σημειώστε με {\displaystyle \operatorname {GS} (\mathbf {v} \_{1},\dots ,\mathbf {v} \_{k})} το αποτέλεσμα της εφαρμογής της διαδικασίας Gram-Schmidt σε μια συλλογή διανυσμάτων {\displaystyle \mathbf {v} \_{1},\dots ,\mathbf {v} \_{k}}. Έτσι προκύπτει ένας χάρτης GS : {\displaystyle \operatorname {GS} \colon (\mathbb {R} ^{n})^{k}\to (\mathbb {R} ^{n})^{k}}.

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

* Είναι συνεχής
* Διατηρεί τον προσανατολισμό με την έννοια ότι {\displaystyle \operatorname {or} (\mathbf {v} \_{1},\dots ,\mathbf {v} \_{k})=\operatorname {or} (\operatorname {GS} (\mathbf {v} \_{1},\dots ,\mathbf {v} \_{k}))}.
* Συναλλάσσεται με ορθογώνιους χάρτες:

Έστω {\displaystyle g\colon \mathbb {R} ^{n}\to \mathbb {R} ^{n}} να είναι ορθογώνιο (ως προς το δεδομένο εσωτερικό γινόμενο). Τότε έχουμε

{\displaystyle \operatorname {GS} (g(\mathbf {v} \_{1}),\dots ,g(\mathbf {v} \_{k}))=\left(g(\operatorname {GS} (\mathbf {v} \_{1},\dots ,\mathbf {v} \_{k})\_{1}),\dots ,g(\operatorname {GS} (\mathbf {v} \_{1},\dots ,\mathbf {v} \_{k})\_{k})\right)}

Περαιτέρω, μια παραμετρική εκδοχή της μεθόδου Gram-Schmidt δίνει μια (ισχυρή) παραμορφωτική ανάκληση της γενικής γραμμικής ομάδας {\displaystyle \mathrm {GL} (\mathbb {R} ^{n})} στην ορθογώνια ομάδα {\displaystyle O(\mathbb {R} ^{n})}.

Αριθμητική σταθερότητα
----------------------

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

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

{\displaystyle \mathbf {u} \_{k}=\mathbf {v} \_{k}-\operatorname {proj} \_{\mathbf {u} \_{1}}(\mathbf {v} \_{k})-\operatorname {proj} \_{\mathbf {u} \_{2}}(\mathbf {v} \_{k})-\cdots -\operatorname {proj} \_{\mathbf {u} \_{k-1}}(\mathbf {v} \_{k}),}

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

{\displaystyle {\begin{aligned}\mathbf {u} \_{k}^{(1)}&=\mathbf {v} \_{k}-\operatorname {proj} \_{\mathbf {u} \_{1}}(\mathbf {v} \_{k}),\\\mathbf {u} \_{k}^{(2)}&=\mathbf {u} \_{k}^{(1)}-\operatorname {proj} \_{\mathbf {u} \_{2}}\left(\mathbf {u} \_{k}^{(1)}\right),\\&\;\;\vdots \\\mathbf {u} \_{k}^{(k-2)}&=\mathbf {u} \_{k}^{(k-3)}-\operatorname {proj} \_{\mathbf {u} \_{k-2}}\left(\mathbf {u} \_{k}^{(k-3)}\right),\\\mathbf {u} \_{k}^{(k-1)}&=\mathbf {u} \_{k}^{(k-2)}-\operatorname {proj} \_{\mathbf {u} \_{k-1}}\left(\mathbf {u} \_{k}^{(k-2)}\right),\\\mathbf {e} \_{k}&={\frac {\mathbf {u} \_{k}^{(k-1)}}{\left\|\mathbf {u} \_{k}^{(k-1)}\right\|}}\end{aligned}}}

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

Ακολουθεί μια άλλη περιγραφή του τροποποιημένου αλγορίθμου. Δεδομένων των διανυσμάτων {\displaystyle v\_{1},v\_{2},\dots ,v\_{n}}, στο πρώτο βήμα μας παράγουμε τα διανύσματα {\displaystyle v\_{1},v\_{2}^{(1)},\dots ,v\_{n}^{(1)}} αφαιρώντας συνιστώσες κατά μήκος της διεύθυνσης του {\displaystyle v\_{1}}. Σε τύπους,{\displaystyle v\_{k}^{(1)}:=v\_{k}-{\frac {\langle v\_{k},v\_{1}\rangle }{\langle v\_{1},v\_{1}\rangle }}v\_{1}}. Μετά από αυτό το βήμα έχουμε ήδη δύο από τα επιθυμητά ορθογώνια διανύσματα {\displaystyle u\_{1},\dots ,u\_{n}}, δηλαδή {\displaystyle u\_{1}=v\_{1},u\_{2}=v\_{2}^{(1)}}, αλλά κάναμε και {\displaystyle v\_{3}^{(1)},\dots ,v\_{n}^{(1)}} ήδη ορθογώνια προς {\displaystyle u\_{1}}. Στη συνέχεια, ορθογωνικοποιούμε αυτά τα υπόλοιπα διανύσματα κατά {\displaystyle u\_{2}=v\_{2}^{(1)}}. Αυτό σημαίνει ότι υπολογίζουμε τα {\displaystyle v\_{3}^{(2)},v\_{4}^{(2)},\dots ,v\_{n}^{(2)}} με αφαίρεση {\displaystyle v\_{k}^{(2)}:=v\_{k}^{(1)}-{\frac {\langle v\_{k}^{(1)},u\_{2}\rangle }{\langle u\_{2},u\_{2}\rangle }}u\_{2}}. Τώρα έχουμε αποθηκεύσει τα διανύσματα {\displaystyle v\_{1},v\_{2}^{(1)},v\_{3}^{(2)},v\_{4}^{(2)},\dots ,v\_{n}^{(2)}} όπου τα τρία πρώτα διανύσματα είναι ήδη {\displaystyle u\_{1},u\_{2},u\_{3}} και τα υπόλοιπα διανύσματα είναι ήδη ορθογώνια προς τα {\displaystyle u\_{1},u\_{2}}. Όπως θα πρέπει να είναι σαφές τώρα, το επόμενο βήμα ορθογωνιοποιεί τα {\displaystyle v\_{4}^{(2)},\dots ,v\_{n}^{(2)}} έναντι του {\displaystyle u\_{3}=v\_{3}^{(2)}}.Προχωρώντας με αυτόν τον τρόπο βρίσκουμε το πλήρες σύνολο των ορθογώνιων διανυσμάτων {\displaystyle u\_{1},\dots ,u\_{n}}. Αν επιθυμούμε ορθοκανονικά διανύσματα, τότε κανονικοποιούμε καθώς προχωράμε, έτσι ώστε οι παρονομαστές στους τύπους αφαίρεσης να μετατραπούν σε μονάδες.

Αλγόριθμος
----------

Ο ακόλουθος αλγόριθμος MATLAB υλοποιεί την κλασική ορθοκανονικοποίηση Gram-Schmidt. Τα διανύσματα **v**1, ... **v***k* (στήλες του πίνακα `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(*nk*2) πράξεις κινητής υποδιαστολής, όπου n είναι η διαστατικότητα των διανυσμάτων.

Μέσω απαλοιφής Γκάους
---------------------

Εάν οι γραμμές {**v**1, ... **v***k*} γράφονται ως πίνακας {\displaystyle A}, τότε η εφαρμογή της απαλοιφής Γκάους στον επαυξημένο πίνακα {\displaystyle \left[AA^{\mathsf {T}}|A\right]} θα παράγει τα ορθογωνιοποιημένα διανύσματα στη θέση του {\displaystyle A}. Ωστόσο, ο πίνακας {\displaystyle AA^{\mathsf {T}}} πρέπει να μετατραπεί σε μορφή echelon γραμμής, χρησιμοποιώντας μόνο την πράξη γραμμής της πρόσθεσης ενός κλιμακωτού πολλαπλάσιου μιας γραμμής σε μια άλλη. Για παράδειγμα, λαμβάνοντας{\displaystyle \mathbf {v} \_{1}={\begin{bmatrix}3&1\end{bmatrix}},\mathbf {v} \_{2}={\begin{bmatrix}2&2\end{bmatrix}}} όπως παραπάνω, έχουμε

{\displaystyle \left[AA^{\mathsf {T}}|A\right]=\left[{\begin{array}{rr|rr}10&8&3&1\\8&8&2&2\end{array}}\right]}

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

{\displaystyle \left[{\begin{array}{rr|rr}1&.8&.3&.1\\0&1&-.25&.75\end{array}}\right]}

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

{\displaystyle \mathbf {e} \_{1}={\frac {1}{\sqrt {.3^{2}+.1^{2}}}}{\begin{bmatrix}.3&.1\end{bmatrix}}={\frac {1}{\sqrt {10}}}{\begin{bmatrix}3&1\end{bmatrix}}}

{\displaystyle \mathbf {e} \_{2}={\frac {1}{\sqrt {.25^{2}+.75^{2}}}}{\begin{bmatrix}-.25&.75\end{bmatrix}}={\frac {1}{\sqrt {10}}}{\begin{bmatrix}-1&3\end{bmatrix}},}

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

Προσδιοριστικός τύπος
---------------------

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

{\displaystyle \mathbf {e} \_{j}={\frac {1}{\sqrt {D\_{j-1}D\_{j}}}}{\begin{vmatrix}\langle \mathbf {v} \_{1},\mathbf {v} \_{1}\rangle &\langle \mathbf {v} \_{2},\mathbf {v} \_{1}\rangle &\cdots &\langle \mathbf {v} \_{j},\mathbf {v} \_{1}\rangle \\\langle \mathbf {v} \_{1},\mathbf {v} \_{2}\rangle &\langle \mathbf {v} \_{2},\mathbf {v} \_{2}\rangle &\cdots &\langle \mathbf {v} \_{j},\mathbf {v} \_{2}\rangle \\\vdots &\vdots &\ddots &\vdots \\\langle \mathbf {v} \_{1},\mathbf {v} \_{j-1}\rangle &\langle \mathbf {v} \_{2},\mathbf {v} \_{j-1}\rangle &\cdots &\langle \mathbf {v} \_{j},\mathbf {v} \_{j-1}\rangle \\\mathbf {v} \_{1}&\mathbf {v} \_{2}&\cdots &\mathbf {v} \_{j}\end{vmatrix}}}

{\displaystyle \mathbf {u} \_{j}={\frac {1}{D\_{j-1}}}{\begin{vmatrix}\langle \mathbf {v} \_{1},\mathbf {v} \_{1}\rangle &\langle \mathbf {v} \_{2},\mathbf {v} \_{1}\rangle &\cdots &\langle \mathbf {v} \_{j},\mathbf {v} \_{1}\rangle \\\langle \mathbf {v} \_{1},\mathbf {v} \_{2}\rangle &\langle \mathbf {v} \_{2},\mathbf {v} \_{2}\rangle &\cdots &\langle \mathbf {v} \_{j},\mathbf {v} \_{2}\rangle \\\vdots &\vdots &\ddots &\vdots \\\langle \mathbf {v} \_{1},\mathbf {v} \_{j-1}\rangle &\langle \mathbf {v} \_{2},\mathbf {v} \_{j-1}\rangle &\cdots &\langle \mathbf {v} \_{j},\mathbf {v} \_{j-1}\rangle \\\mathbf {v} \_{1}&\mathbf {v} \_{2}&\cdots &\mathbf {v} \_{j}\end{vmatrix}}}

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

{\displaystyle D\_{j}={\begin{vmatrix}\langle \mathbf {v} \_{1},\mathbf {v} \_{1}\rangle &\langle \mathbf {v} \_{2},\mathbf {v} \_{1}\rangle &\cdots &\langle \mathbf {v} \_{j},\mathbf {v} \_{1}\rangle \\\langle \mathbf {v} \_{1},\mathbf {v} \_{2}\rangle &\langle \mathbf {v} \_{2},\mathbf {v} \_{2}\rangle &\cdots &\langle \mathbf {v} \_{j},\mathbf {v} \_{2}\rangle \\\vdots &\vdots &\ddots &\vdots \\\langle \mathbf {v} \_{1},\mathbf {v} \_{j}\rangle &\langle \mathbf {v} \_{2},\mathbf {v} \_{j}\rangle &\cdots &\langle \mathbf {v} \_{j},\mathbf {v} \_{j}\rangle \end{vmatrix}}.}

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

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

Εκφραση με χρήση γεωμετρικής άλγεβρας
-------------------------------------

Εκφρασμένα με χρήση συμβολισμού που χρησιμοποιείται στη γεωμετρική άλγεβρα, τα μη ομαλοποιημένα αποτελέσματα της μεθόδου Gram-Schmidt εκφράζονται ως εξής
{\displaystyle \mathbf {u} \_{k}=\mathbf {v} \_{k}-\sum \_{j=1}^{k-1}(\mathbf {v} \_{k}\cdot \mathbf {u} \_{j})\mathbf {u} \_{j}^{-1}\ ,}
η οποία είναι ισοδύναμη με την έκφραση που χρησιμοποιεί τον τελεστή {\displaystyle \operatorname {proj} } που ορίζεται παραπάνω. Τα αποτελέσματα μπορούν ισοδύναμα να εκφραστούν ως 
{\displaystyle \mathbf {u} \_{k}=\mathbf {v} \_{k}\wedge \mathbf {v} \_{k-1}\wedge \cdot \cdot \cdot \wedge \mathbf {v} \_{1}(\mathbf {v} \_{k-1}\wedge \cdot \cdot \cdot \wedge \mathbf {v} \_{1})^{-1},}
η οποία είναι στενά συνδεδεμένη με την έκφραση με χρήση προσδιοριστικών παραγόντων παραπάνω.

ναλλακτικές λύσεις
------------------

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

Μια άλλη λύση έχει ως κίνητρο τη χρήση της αποσύνθεσης Τσολέσκι για την αντιστροφή του πίνακα των κανονικών εξισώσεων σε γραμμικά ελάχιστα τετράγωνα. Έστω {\displaystyle V} ένας πίνακας πλήρους τάξης του οποίου οι στήλες πρέπει να είναι ορθογωνοποιημένες. Ο πίνακας {\displaystyle V^{\*}V} είναι ερμιτιανός και θετικά ορισμένος, οπότε μπορεί να γραφεί στη μορφή {\displaystyle V^{\*}V=LL^{\*},} χρησιμοποιώντας την αποσύνθεση Τσολέσκι. Ο κάτω τριγωνικός πίνακας {\displaystyle L} με αυστηρά θετικές διαγώνιες καταχωρήσεις είναι αντιστρέψιμος. Οι στήλες του πίνακα {\displaystyle U=V\left(L^{-1}\right)^{\*}} είναι τότε ορθοκανονικές και καλύπτουν τον ίδιο υποχώρο με τις στήλες του αρχικού πίνακα {\displaystyle V}. Η ρητή χρήση του γινομένου {\displaystyle V^{\*}V} καθιστά τον αλγόριθμο ασταθή, ιδιαίτερα αν ο αριθμός των όρων του γινομένου είναι μεγάλος. Παρ' όλα αυτά, ο αλγόριθμος αυτός χρησιμοποιείται στην πράξη και υλοποιείται σε ορισμένα λογισμικά λόγω της υψηλής αποδοτικότητας και απλότητας του.

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

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

* Harvey Mudd College Math Tutorial on the Gram-Schmidt algorithm
* Earliest known uses of some of the words of mathematics: G The entry "Gram-Schmidt orthogonalization" has some information and references on the origins of the method.
* Demos: Gram Schmidt process in plane and Gram Schmidt process in space
* Gram-Schmidt orthogonalization applet
* NAG Gram–Schmidt orthogonalization of n vectors of order m routine
* Proof: Raymond Puzio, Keenan Kidwell. "proof of Gram-Schmidt orthogonalization algorithm" (version 8). PlanetMath.org.

Πηγές
-----

* Bau III, David; Trefethen, Lloyd N. (1997), *Numerical linear algebra*, Philadelphia: Society for Industrial and Applied Mathematics, ISBN 978-0-89871-361-9 .
* Golub, Gene H.; Van Loan, Charles F. (1996), *Matrix Computations* (3rd έκδοση), Johns Hopkins, ISBN 978-0-8018-5414-9 .
* Greub, Werner (1975), *Linear Algebra* (4th έκδοση), Springer .
* Soliverez, C. E.; Gagliano, E. (1985), «Orthonormalization on the plane: a geometric approach», *Mex. J. Phys.* **31** (4): 743–758,  .

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

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.

|  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 

| π • σ • ε
Θέματα σχετικά με τη Γραμμική άλγεβρα |
| --- |
|  |
| Βασικές έννοιες | 
* Μονόμετρο μέγεθος
* Διάνυσμα
* Διανυσματικός χώρος
* Διανυσματική προβολή
* Γραμμική παραγωγή χώρου
* Γραμμικός μετασχηματισμός
* Γραμμική προβολή
* Γραμμική ανεξαρτησία
* Γραμμικός συνδυασμός
* Γραμμικές συναρτήσεις βάσεις
* Χώρος γραμμών και χώρος στηλών
* Δυϊκός χώρος
* Ορθογωνιότητα
* Πυρήνας
* Ιδιοτιμές και Ιδιοδιανύσματα
* Μέθοδος των ελάχιστων τετραγώνων
* Εξωτερικό γινόμενο
* Εσωτερικό γινόμενο
* Ανάστροφος πίνακας
* Μέθοδος ορθοκανονικοποίησης των Gram–Schmidt
* Σύστημα γραμμικών εξισώσεων
 |
|  |
| Πίνακες | 
* Πίνακας
* Πολλαπλασιασμός πινάκων
* Παραγοντοποίηση πινάνων
* Ελλάσων
* Βαθμός
* Κανόνας του Κράμερ
* Αντιστρέψιμος πίνακας
* Γκαουσιανή απαλοιφή
* Πίνακας μετασχηματισμού
* Σύνθετοι πίνακες
 |
|  |
| Αριθμητική γραμμική άλγεβρα | 
* Κινητή Υποδιαστολή
* Αριθμητική ευστάθεια αλγορίθμων
* BLAS
* Αραιοί πίνακες
* Σύγκριση των βιβλιοθηκών γραμμικής άλγεβρας
* Σύγκριση των λογισμικών αριθμητικής ανάλυσης
* Ανάλυση πίνακα σε ιδιάζουσες τιμές
 |

 |

|  |  |
| --- | --- |
| 

|  |
| --- |
| * Πύλη:Μαθηματικά
 |

 |