Gram-Schmidtsches Orthogonalisierungsverfahren
aus Wikipedia, der freien Enzyklopädie
Das Gram-Schmidtsche Orthogonalisierungsverfahren ist ein Algorithmus aus dem mathematischen Teilgebiet der linearen Algebra, mit dem man in einem endlichdimensionalen Prähilbertraum zu einem System linear unabhängiger Vektoren ein Orthogonalsystem berechnen kann, das denselben Untervektorraum erzeugt. Eine Erweiterung stellt das Gram-Schmidtsche Orthonormalisierungsverfahren dar: statt eines Orthogonalsystems berechnet es ein Orthonormalsystem. Verwendet man die Basisvektoren des Prähilbertraums als Eingabe für die Algorithmen, so berechnen sie eine Orthogonal- bzw. Orthonormalbasis.
Die beiden Verfahren sind nach Jørgen Pedersen Gram und Erhard Schmidt benannt. Sie wurden allerdings bereits früher in den Werken von Pierre-Simon Laplace und Augustin Louis Cauchy verwendet.
Für die numerische Berechnung durch einen Computer sind die Gram-Schmidt-Verfahren nicht geeignet. Durch akkumulierte Rundungsfehler sind die berechneten Vektoren nicht mehr orthogonal. Daher sind für numerische Zwecke Verfahren, wie die QR-Zerlegung, die auf der Householdertransformation oder Givens-Rotation basieren, besser geeignet.
Inhaltsverzeichnis |
[Bearbeiten] Algorithmus des Orthogonalisierungsverfahrens
Der folgende Algorithmus berechnet zu den linear unabhängigen Vektoren ein Orthogonalsystem von n paarweise orthogonalen Vektoren, das denselben Untervektorraum erzeugt.
Die einzelnen Vektoren des Orthogonalsystem berechnen sich wie folgt:
[Bearbeiten] Beispiel
Im versehen mit dem Standardskalarprodukt seien zwei linear unabhängige Vektoren vorgegeben, die einen Untervektorraum erzeugen:
Es werden nun zwei orthogonale Vektoren u1 und u2 berechnet, die denselben Untervektorraum erzeugen:
[Bearbeiten] Algorithmus des Orthonormalisierungsverfahrens
Der folgende Algorithmus berechnet zu den linear unabhängigen Vektoren ein Orthonormalsystem von n normierten, paarweise orthogonalen Vektoren, das denselben Untervektorraum erzeugt.
Die einzelnen Vektoren des Orthonormalsystems erhält man, indem zuerst jeweils ein orthogonaler Vektor berechnet und anschließend normalisiert wird:
- (Normalisieren des ersten Vektors v1)
- (Orthogonalisieren des zweiten Vektors v2)
- (Normalisieren des Vektors )
- (Orthogonalisieren des dritten Vektors v3)
- (Normalisieren des Vektors )
- (Orthogonalisieren des n-ten Vektors vn)
- (Normalisieren des Vektors )
Im Allgemeinen erhält man durch dieses Verfahren kein besonders ausgezeichnetes System. Im muss z.B. erst ein Umordnungsschritt nachgeschaltet werden, um ein Rechts- oder Linkssystem zu erhalten.
[Bearbeiten] Beispiel
Im versehen mit dem Standardskalarprodukt seien zwei Basisvektoren gegeben:
Es werden nun zwei Vektoren u1 und u2 berechnet, die eine Orthonormalbasis des bilden.
[Bearbeiten] Anmerkungen
Eine besondere Eigenschaft der beiden Verfahren ist, dass nach jedem Zwischenschritt die bisher berechneten Vektoren den gleichen Vektorraum erzeugen wie die Vektoren . Die Vektoren bilden also eine Orthogonal- bzw. Orthonormalbasis der entsprechenden Untervektorräume.
Berechnet man ein Orthonormalsystem von Hand, ist es oftmals einfacher, zunächst ein Orthogonalsystem auszurechnen und dann die einzelnen Vektoren zu normieren. Dadurch erspart man sich das zweifache Normieren und kann oftmals mit einfacheren Werten rechnen. Gegebenenfalls lohnt es sich, vor dem Erstellen des Orthogonalsystems/Orthonormalsystems das Gaußsche Eliminationsverfahren durchzuführen.
[Bearbeiten] Funktionsprinzip der Verfahren
Sind die orthogonalen Vektoren u1,...,uk − 1 bereits bestimmt, versuchen wir, von vk eine passende Linearkombination der Vektoren u1,...,uk − 1 abzuziehen, so dass der Differenzvektor
zu allen Vektoren u1,...,uk − 1 orthogonal wird, d.h. jedes der Skalarprodukte
mit muss den Wert 0 ergeben. Hierfür ist die Wahl
- passend.
Setzte man dieses λi ein, so erhält man
-
- = 0