Die ersten beiden Schritte des Gram-Schmidt-Prozesses

In der Mathematik , insbesondere in der linearen Algebra und der numerischen Analysis , ist das Gram-Schmidt-Verfahren oder der Gram-Schmidt-Algorithmus eine Methode, um ein Paar oder mehrere Vektoren zu finden, die senkrecht zueinander stehen.

Technisch gesehen ist es ein Verfahren zur Konstruktion einer Orthonormalbasis aus einer Menge von Vektoren in einem Skalarproduktraum , üblicherweise dem euklidischen Raum mit dem Standard-Skalarprodukt . Das Gram-Schmidt-Verfahren nimmt eine endliche , linear unabhängige Menge von Vektoren für k ≤ n und erzeugt eine orthogonale Menge , die denselben -dimensionalen Unterraum von aufspannt wie .

Die Methode ist nach Jørgen Pedersen Gram und Erhard Schmidt benannt , aber Pierre-Simon Laplace kannte sie bereits vor Gram und Schmidt. [ 1 ] In der Theorie der Lie-Gruppenzerlegungen wird sie durch die Iwasawa-Zerlegung verallgemeinert .

Die Anwendung des Gram-Schmidt-Verfahrens auf die Spaltenvektoren einer Matrix mit vollem Spaltenrang liefert die QR-Zerlegung (sie wird in eine orthogonale und eine Dreiecksmatrix zerlegt ).

Beschreibung

Das modifizierte Gram-Schmidt-Verfahren wird auf drei linear unabhängigen, nicht orthogonalen Basisvektoren angewendet . Klicken Sie auf das Bild, um Details anzuzeigen. Die Modifikation wird im Abschnitt „Numerische Stabilität“ dieses Artikels erläutert.

Die Vektorprojektion eines Vektors auf einen von Null verschiedenen Vektor ist definiert als [ Anmerkung 1 ] , wobei das Skalarprodukt der Vektoren und bezeichnet . Dies bedeutet, dass die orthogonale Projektion von auf die von aufgespannte Gerade ist . Ist der Nullvektor, so ist auch der Nullvektor.

Bei gegebenen linear unabhängigen Vektoren ungleich Null definiert das Gram-Schmidt-Verfahren die Vektoren wie folgt:

Die Folge ist das gesuchte System orthogonaler Vektoren, und die normierten Vektoren bilden ein Orthonormalsystem . Die Berechnung der Folge wird als Gram-Schmidt -Orthogonalisierung bezeichnet , und die Berechnung der Folge wird als Gram-Schmidt -Orthonormalisierung bezeichnet .

Um zu überprüfen, ob diese Formeln eine orthogonale Folge ergeben, berechnet man zunächst , indem man die obige Formel für einsetzt : Man erhält null. Anschließend berechnet man erneut , indem man die Formel für einsetzt : Man erhält wieder null. Für beliebiges erfolgt der Beweis durch vollständige Induktion .

Geometrisch verläuft diese Methode wie folgt: Zur Berechnung von wird orthogonal auf den von erzeugten Unterraum projiziert , der mit dem von erzeugten Unterraum identisch ist . Der Vektor wird dann als Differenz zwischen und dieser Projektion definiert und ist garantiert orthogonal zu allen Vektoren im Unterraum .

Das Gram-Schmidt-Verfahren ist auch auf eine linear unabhängige, abzählbar unendliche Folge { v i } i anwendbar . Das Ergebnis ist eine orthogonale (oder orthonormale) Folge { u i } i, sodass für natürliche Zahlen n gilt : Der algebraische Spann von ist derselbe wie der von .

Wird das Gram-Schmidt-Verfahren auf eine linear abhängige Folge angewendet, gibt es im i-ten Schritt den Nullvektor aus, vorausgesetzt, dieser ist eine Linearkombination der i-ten Folge. Soll eine orthonormale Basis erzeugt werden, muss der Algorithmus die Ausgabe auf Nullvektoren prüfen und diese verwerfen, da kein Vielfaches eines Nullvektors die Länge 1 haben kann. Die Anzahl der vom Algorithmus ausgegebenen Vektoren entspricht dann der Dimension des von den ursprünglichen Eingaben aufgespannten Raums.

Eine Variante des Gram-Schmidt-Verfahrens mittels transfiniter Rekursion, angewendet auf eine (möglicherweise überabzählbar) unendliche Folge von Vektoren, liefert eine Menge orthonormaler Vektoren, sodass für jedes die Vervollständigung des linearen Spanns von mit der Vervollständigung von übereinstimmt . Insbesondere liefert die Anwendung auf eine (algebraische) Basis eines Hilbertraums (oder allgemeiner auf eine Basis eines beliebigen dichten Unterraums) eine (funktionalanalytische) Orthonormalbasis. Im allgemeinen Fall gilt oft die strikte Ungleichung , selbst wenn die Ausgangsmenge linear unabhängig war, und der lineare Spann von muss kein Unterraum des linearen Spanns von sein (sondern ein Unterraum seiner Vervollständigung).

Beispiel

euklidischer Raum

Betrachten Sie die folgende Menge von Vektoren in (mit dem üblichen Skalarprodukt )

Führe nun das Gram-Schmidt-Verfahren durch, um einen orthogonalen Vektorsatz zu erhalten:

Wir überprüfen, ob die Vektoren und tatsächlich orthogonal sind: Wir beachten, dass zwei Vektoren orthogonal sind, wenn ihr Skalarprodukt gleich 0 ist.

Bei Vektoren ungleich Null können wir die Vektoren dann normalisieren, indem wir ihre Längen durcheinander teilen, wie oben gezeigt:

Eigenschaften

Bezeichne mit das Ergebnis der Anwendung des Gram-Schmidt-Verfahrens auf eine Menge von Vektoren . Dies ergibt eine Abbildung .

Es besitzt folgende Eigenschaften:

  • Es ist kontinuierlich
  • Es ist orientierungserhaltend in dem Sinne, dass .
  • Es pendelt mit orthogonalen Karten:

Seien die Vektoren orthogonal (bezüglich des gegebenen Skalarprodukts). Dann gilt:

Darüber hinaus liefert eine parametrisierte Version des Gram-Schmidt-Verfahrens eine (starke) Deformationsretraktion der allgemeinen linearen Gruppe auf die orthogonale Gruppe .

Numerische Stabilität

Bei der Implementierung dieses Verfahrens auf einem Computer sind die Vektoren aufgrund von Rundungsfehlern oft nicht exakt orthogonal . Beim oben beschriebenen Gram-Schmidt-Verfahren (manchmal auch als „klassisches Gram-Schmidt-Verfahren“ bezeichnet) ist dieser Verlust der Orthogonalität besonders gravierend; daher gilt das (klassische) Gram-Schmidt-Verfahren als numerisch instabil .

Das Gram-Schmidt-Verfahren lässt sich durch eine kleine Modifikation stabilisieren; diese Version wird mitunter als modifiziertes Gram-Schmidt -Verfahren (MGS) bezeichnet . Dieser Ansatz liefert in exakter Arithmetik dasselbe Ergebnis wie die ursprüngliche Formel und führt in Arithmetik mit endlicher Genauigkeit zu geringeren Fehlern.

Anstatt den Vektor u k so zu berechnen, wie er berechnet wird als

Diese Methode wird in der vorherigen Animation verwendet, wenn der Zwischenvektor bei der Orthogonalisierung des blauen Vektors verwendet wird .

Hier ist eine weitere Beschreibung des modifizierten Algorithmus. Gegeben die Vektoren , erzeugen wir im ersten Schritt Vektoren, indem wir Komponenten entlang der Richtung von entfernen . In Formeln gilt . Nach diesem Schritt haben wir bereits zwei der gewünschten orthogonalen Vektoren , nämlich , und haben außerdem bereits orthogonal zu gemacht . Als Nächstes orthogonalisieren wir die verbleibenden Vektoren gegen . Das bedeutet, wir berechnen durch Subtraktion . Nun haben wir die Vektoren gespeichert, wobei die ersten drei Vektoren bereits orthogonal sind und die restlichen Vektoren bereits orthogonal zu sind . Wie nun klar sein sollte, orthogonalisiert der nächste Schritt gegen . Auf diese Weise erhalten wir die vollständige Menge der orthogonalen Vektoren . Wenn orthonormale Vektoren gewünscht sind, normalisieren wir die Vektoren im Verlauf der Berechnung, sodass die Nenner in den Subtraktionsformeln zu Einsen werden.

Algorithmus

Der folgende MATLAB- Algorithmus implementiert die klassische Gram-Schmidt-Orthonormalisierung. Die Vektoren v₁ , ..., vₖ (Spalten der Matrix A ,V sodass vₖ V(:,j)der -te Vektor ist ) werden durch orthonormale Vektoren (Spalten von A) ersetzt, die denselben Unterraum aufspannen. U

Funktion U = Grammschmidt ( V )[ n , k ] = size ( V );U = zeros ( n , k );U (:, 1 ) = V (:, 1 ) / Norm ( V (:, 1 ));für i = 2 : kU (:, i ) = V (:, i );für j = 1 : i - 1U (:, i ) = U (:, i ) - ( U (:, j ) '* U (:, i )) * U (:, j );EndeU (:, i ) = U (:, i ) / norm ( U (:, i ));EndeEnde

Die Kosten dieses Algorithmus betragen asymptotisch O( nk² ) Gleitkommaoperationen, wobei n die Dimensionalität der Vektoren ist . [ 2 ]

Mittels Gaußscher Elimination

Wenn die Zeilen { v₁ , ..., vₖ } als Matrix geschrieben werden , liefert die Anwendung des Gaußschen Eliminationsverfahrens auf die erweiterte Matrix die orthogonalisierten Vektoren anstelle von . Die Matrix muss jedoch in Zeilenstufenform gebracht werden, indem man ausschließlich die Zeilenoperation der Addition eines skalaren Vielfachen einer Zeile zu einer anderen verwendet . [ 3 ] Zum Beispiel erhalten wir, wie oben gezeigt:

Und die Reduzierung auf die Zeilenstufenform ergibt

Die normalisierten Vektoren sind dann wie im obigen Beispiel.

Determinantenformel

Das Ergebnis des Gram-Schmidt-Verfahrens kann mithilfe von Determinanten in einer nicht-rekursiven Formel ausgedrückt werden .

wobei und für die Gram -Determinante ist

Beachten Sie, dass der Ausdruck für eine "formale" Determinante ist, d. h. die Matrix enthält sowohl Skalare als auch Vektoren; die Bedeutung dieses Ausdrucks ist als Ergebnis einer Kofaktorentwicklung entlang der Vektorzeile definiert.

Die Determinantenformel für das Gram-Schmidt-Verfahren ist rechentechnisch (exponentiell) langsamer als die oben beschriebenen rekursiven Algorithmen; sie ist hauptsächlich von theoretischem Interesse.

Ausgedrückt mithilfe geometrischer Algebra

Die unnormierten Ergebnisse des Gram-Schmidt-Verfahrens lassen sich, ausgedrückt in der Notation der geometrischen Algebra , wie folgt darstellen : Dies entspricht dem Ausdruck mit dem oben definierten Operator. Die Ergebnisse können äquivalent auch wie folgt ausgedrückt werden [ 4 ] , was eng mit dem obigen Ausdruck mit Determinanten verwandt ist.

Alternativen

Andere Orthogonalisierungsalgorithmen verwenden Householder-Transformationen oder Givens-Rotationen . Die Algorithmen mit Householder-Transformationen sind stabiler als das stabilisierte Gram-Schmidt-Verfahren. Andererseits liefert das Gram-Schmidt-Verfahren den i-ten orthogonalisierten Vektor nach der i-ten Iteration, während die Orthogonalisierung mittels Householder-Spiegelungen alle Vektoren erst am Ende erzeugt. Daher ist nur das Gram-Schmidt-Verfahren für iterative Methoden wie die Arnoldi-Iteration anwendbar .

Eine weitere Alternative basiert auf der Verwendung der Cholesky-Zerlegung zur Invertierung der Matrix der Normalgleichungen in der linearen Ausgleichsrechnung . Sei eine Matrix mit vollem Spaltenrang , deren Spalten orthogonalisiert werden müssen. Die Matrix ist hermitesch und positiv definit und lässt sich daher mithilfe der Cholesky-Zerlegung als darstellen . Die untere Dreiecksmatrix mit strikt positiven Diagonalelementen ist invertierbar . Die Spalten der Matrix sind dann orthonormal und spannen denselben Unterraum auf wie die Spalten der ursprünglichen Matrix . Die explizite Verwendung des Produkts macht den Algorithmus instabil, insbesondere bei großen Konditionszahlen . Dennoch findet dieser Algorithmus aufgrund seiner hohen Effizienz und Einfachheit Anwendung in der Praxis und ist in einigen Softwarepaketen implementiert.

In der Quantenmechanik existieren mehrere Orthogonalisierungsverfahren mit Eigenschaften, die für bestimmte Anwendungen besser geeignet sind als das ursprüngliche Gram-Schmidt-Verfahren. Dennoch bleibt es ein beliebter und effektiver Algorithmus, selbst für die umfangreichsten elektronischen Strukturrechnungen. [ 5 ]

Laufzeitkomplexität

Die Gram-Schmidt-Orthogonalisierung kann in stark polynomieller Zeit durchgeführt werden . Die Laufzeitanalyse ähnelt derjenigen der Gaußschen Elimination . [ 6 ] : 40

Siehe auch

Referenzen

  1. ^ Cheney Jr., Elliot Ward ; Kincaid, David (2009). Lineare Algebra: Theorie und Anwendungen . Sudbury, MA: Jones and Bartlett. S. 544, 558. ISBN 978-0-7637-5020-6Die
  2. ^ Golub & Van Loan 1996 , §5.2.8.
  3. Pursell , Lyle; Trimble, S. Y. (1. Januar 1991). „Gram-Schmidt-Orthogonalisierung durch Gaußsche Elimination“. The American Mathematical Monthly . 98 (6): 544–549 . doi : 10.2307/2324877 . JSTOR 2324877 . 
  4. ^ Doran, Chris JL ; Lasenby, Anthony (2007). Geometrische Algebra für Physiker . Cambridge University Press. S. 124. ISBN 978-0-521-71595-9Die
  5. Pursell , Yukihiro; et al. (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 . S. 1:1–1:11. doi : 10.1145/2063384.2063386 . ISBN 9781450307710. S2CID  14316074 .
  6. ^ Grötschel, Martin ; Lovász, László ; Schrijver, Alexander (1993), Geometrische Algorithmen und kombinatorische Optimierung , Algorithms and Combinatorics, vol. 2 (2. Aufl.), Springer-Verlag, Berlin, doi : 10.1007/978-3-642-78240-4 , ISBN 978-3-642-78242-8, MR  1261419

Anmerkungen

  1. Im komplexen Fall wird dabei angenommen , dass das Skalarprodukt linear im ersten Argument und konjugiert linear im zweiten Argument ist. In der Physik ist die Konvention der Linearität im zweiten Argument üblicher; in diesem Fall definieren wir

Quellen