WS 11/12 Orthogonalisierungsverfahren von Gram-Schmidt Inhalt: • Orthogonale Basen und Orthonormalbasen • Symmetrische und positiv definite Matrizen • Orthogonalisierungsverfahren von Gram-Schmidt §0 Vorwort Das Hauptaugenmerk dieses Artikels wird in der Herleitung des Orthogonalisierungsverfahrens von Gram-Schmidt stehen. Das Verfahren eignet sich dafür, wie der Name schon sagt, eine Orthonormalbasis (oder auch nur orthogonale Matrix) eines endlich-dimensionalen Vektorraums zu bestimmen. Wer sagt uns aber, dass jeder endlichdimensionale Vektorraum so eine Orthonormalbasis besitzt? Ein Satz, den wir auch anführen und beweisen werden. Aus dem Beweis dieses Satzes ergibt sich dann der Algorithmus zu Gram-Schmidt. §1 Ein paar Definitionen Nun ein paar Definitionen und Bemerkungen, um zu verstehen, um was es im Folgenden eigentlich geht. (Im Weiteren betrachten wir ausschließlich Vektorräume über dem Körper der reellen Zahlen.) Definition der positiven Definitheit bei Bilinearformen: Eine symmetrische Bilinearform f : V × V → ℝ auf einem reellen Vektorraum V heißt positiv definit, wenn für jeden nichtverschwindenden Vektor v ∈ V , v ≠ 0 , gilt, dass < v, v >= f (v, v) > 0 . Definition der positiven Definitheit bei Matrizen: Eine symmetrische Matrix A ∈ M n ,n (ℝ) heißt positiv definit, wenn die zugehörige Bilinearform auf ℝ n positiv definit ist, d.h. wenn für alle x ∈ ℝ n , x ≠ 0 , gilt, dass xT • A • x > 0 . Definition des euklidischen Vektorraums: Ein euklidischer Vektorraum (V , f ) ist ein endlich-dimensionaler reeller Vektorraum mit einer symmetrischen, positiv definiten Bilinearform f : V × V → ℝ . Definition der Norm eines Vektors: Die Norm eines Vektors v ∈ V in einem euklidischen Vektorraum (V , f ) ist definiert durch || v ||:= < v, v > . Die Wurzel existiert im Reellen, da die entsprechende Bilinearform in einem euklidischen Vektorraum (V , f ) positiv definit ist. Bemerkungen: (i) Der euklidische Vektorraum (V , < •, • >) wird mit einer induzierten Metrik zu einem normierten Vektorraum (V ,|| • ||) . (ii) Geometrisch kann man sich die Norm im euklidischen Standardvektorraum V = ℝ n als Länge des Vektors vorstellen, also || x ||= < x, x > = x12 + x22 + ... + xn2 . Nun haben wir die Grundlagen gelegt und können nun uns an das Orthogonalisierungsverfahren von Gram-Schmidt wagen. §2 Orthogonalisierungsverfahren von Gram-Schmidt Damit das Orthogonalisierungsverfahren von Gram-Schmidt überhaupt Sinn macht, beweisen wir nun einen Satz, der besagt, dass jeder endlich-dimensionale euklidische Vektorraum eine Orthonormalbasis besitzt. Dass jeder endlich-dimensionale Vektorraum überhaupt eine Basis besitzt, haben wir schon in der Linearen Algebra I gesehen. Der Beweis zum folgenden Satz wird uns das Orthogonalisierungsverfahren von GramSchmidt liefern. Satz: Sei (V , < •, • >) ein euklidischer Vektorraum. Dann gibt es eine Orthonormalbasis, d.h. eine 1, i = j Basis B = (v1 ,..., vn ) von V mit < vi , v j >= δ i , j = . 0, i ≠ j (Eine Orthonormalbasis besitzt also die Besonderheit, dass die Basisvektoren paarweise auf einander senkrecht stehen und dass jeder Vektor die Länge 1 besitzt.) Beweis: Sei A = (v1 ,..., vn ) eine beliebige Basis des Vektorraums V . Wir definieren nun induktiv Vektoren w1 , w2 ,... so, dass für k = 1, 2,..., n die Vektoren w1 , w2 ,..., wk eine Orthonormalbasis des durch die Vektoren v1 , v2 ,..., vk aufgespannten Untervektorraums Vk :=< v1 , v2 ,..., vk >⊂ V bilden. Für den Sonderfall k = n ergibt sich der Satz. 1 v1 . Offenbar ist || v1 || ( w1 ) natürlich eine Orthonormalbasis von V1 . Den Induktionsanfang haben wir damit erbracht. Induktionsanfang: Für k = 1 erhalten wir V1 =< v1 > . Wir setzen w1 := Induktionsschritt: Von k − 1 auf k : Wir nehmen nun an, dass k > 1 und dass wir bereits eine Orthonormalbasis ( w1 ,..., wk −1 ) von Vk −1 gefunden haben. Dies ist unsere Induktionsvoraussetzung (IV). Nun müssen wir einen passenden Vektor w finden, der ( w1 ,..., wk −1 ) zu einer Orthonormalbasis von Vk ergänzt. Das Problem ist nur, dass dieser Vektor w noch nicht orthogonal auf den anderen k-1 Vektoren steht. Die Länge ist erstmal „egal“. Normieren können wir immer noch. Wir setzen also so an. Sei w = vk − π (vk ) , wobei π : Vk → Vk −1 die orthogonale Projektion ist (siehe auch die geometrische Idee hinter dem Gram-Schmidt-Verfahren). k −1 Es gilt nun für unseren ersten Ansatz w = vk − π (vk ) = vk − ∑ a j w j = vk − a1w1 − ... − ak −1wk −1 . j =1 Dabei müssen wir die Koeffizienten a j natürlich noch bestimmen. Nach Definition einer Basis ist gewährleistet, dass ( w1 ,..., wk −1 , wk ) wirklich eine Basis von Vk ist. Durch passende Wahl der a j wollen wir nun erreichen, dass w zusätzlich zu wi orthogonal ist und zwar für i = 1, 2,..., k − 1 . Nach unserer Induktionsvoraussetzung gilt < wi , w j >= 0 für i ≠ j und < wi , wi >= 1 . An den Vektor w müssen wir die Bedingung < w, wi >= 0 ∀i = 1,..., k − 1 stellen. Nun setzen wir unsere obige Darstellung für w dort ein und nutzen die Bilinearität aus. k −1 k −1 j =1 j =1 0 =< w, wi >=< vk − ∑ a j w j , wi >=< vk , wi > − < ∑ a j w j , wi > =< vk , wi > − ai < wi , wi > =< vk , wi > −ai =1 Nun setzen wir einfach ai =< vk , wi > und erhalten < w, wi >= 0 ∀i = 1,..., k − 1 . Damit haben wir erstmal gezeigt, dass nun alle Basisvektoren orthogonal sind. Um eine Orthonormalbasis 1 zu erhalten, müssen wir w noch normieren. Wir setzen deshalb wk := w und haben || w || sicher gestellt, dass ( w1 ,..., wk ) wirklich eine Orthonormalbasis darstellt. Damit ist alles gezeigt. Geometrische Idee des Gram-Schmidt-Verfahrens: Wir wollen nun nochmal eine anschauliche, geometrische Deutung dessen geben, was hinter dem Gram-Schmidt-Verfahren eigentlich steckt. Gegeben seien zwei Basisvektoren der Ebene, sprich des ℝ ² , die schon orthogonal und normiert sind. Wir wollen nun einen dritten Basisvektor konstruieren, sodass die drei Vektoren eine Orthonormalbasis des ℝ ³ bilden. Also sei ein zusätzlicher Vektor z.B. so gegeben. Wir wenden das Gram-Schmidt-Verfahren nun so an, dass wir zunächst das Lot vom Vektorendpunkt fällen. Dabei bezeichnet π : Vk − Vk −1 die senkrechte Projektion. Nun verschieben wir das Lot auf den Anfangspunkt der beiden anderen Vektoren. Zum Schluss wird dieser neue Vektor normiert, also auf die Länge 1 gebracht. Diese Idee steckt hinter dem Orthogonalisierungsverfahren von Gram-Schmidt. Zusammenfassung: Wir fassen das Verfahren nochmal zusammen. Konkret sieht der Algorithmus nämlich so aus: Sei A = (v1 ,..., vn ) die Ausgangsbasis. Dann ist B = ( w1 ,..., wn ) eine orthogonale Basis, wenn man induktiv die Vektoren w1 , w2 ,... folgendermaßen bestimmt. Hat man die Vektoren k −1 w1 ,..., wk −1 bereits bestimmt, so setzt man zunächst w 'k := vk − ∑ < vk , wi > • wi und i =1 1 • w 'k . anschließend wk := || w 'k || §3 Beispiele In diesem Abschnitt werden wir nun lernen, das Gram-Schmidt-Verfahren konkret auf Vektorräume anzuwenden. Diese Sammlung an Beispielen werden wir des Öfteren aktualisieren und erweitern. Beispiel 1: Wir definieren zunächst einen größeren, unendlich-dimensionalen, Vektorraum. Sei I = [a, b] ⊂ ℝ ein abgeschlossenes, endliches Intervall und C ( I ) der Vektorraum der b stetigen Funktionen f : I → ℝ . Dieser Vektorraum besitzt durch < f , g > I := ∫ f ( x) g ( x)dx a eine symmetrische, positiv definite Bilinearform. Beweis: b Wir zeigen hier nochmal schnell, dass < f , g > I := ∫ f ( x) g ( x)dx wirklich eine symmetrische, positiv a definite Bilinearform erklärt. Alles folgt aber mit fundamentalen Sätzen der Analysis. Positive Definitheit: Es gilt par . Int . < f , f >> 0 , denn < f , f >= ∫ f ( x) f ( x)dx = ∫ f ²( x)dx > 0 . b b a a Symmetrie: Es gilt mit bekannten Sätzen aus der Analysis b b a a < f , g > I := ∫ f ( x) g ( x)dx = ∫ g ( x) f ( x)dx =< g , f > I . Bilinearform: Wir zeigen hier nur zwei Dinge, die wir für die Bilinearität zeigen müssen. Der Rest zeigt sich analog. Dabei benutzen wir wieder Tatsachen, die aus der Analysis bekannt sein sollten. b b < f + g , h > I := ∫ [ f ( x) + g ( x)]h( x)dx = ∫ [ f ( x)h( x) + g ( x)h( x)dx a b a b = ∫ f ( x)h( x)dx + ∫ g ( x)h( x)dx =< f , h > I + < g , h > I a a b b b a a a < λ f , g > I = ∫ λ f ( x) + g ( x)dx = λ ∫ f ( x)dx + ∫ g ( x)dx Nun wieder zurück: Wir haben also einen unendlich-dimensionalen Vektorraum (den Vektorraum der stetigen Funktionen) mit einer symmetrischen, positiv definiten Bilinearform gegeben. Jeder endlichdimensionale Untervektorraum ist nun ein euklidischer Vektorraum (also ein endlichdimensionaler reeller Vektorraum). Wir definieren den Untervektorraum von C ( I ) aller Polynomfunktionen vom Grad ≤ 2 . Wir nehmen also an, dass I = [0,1] , also a = 0, b = 1 und V =< 1, x, x ² > . Dieser Vektorraum besitzt die Standardbasis der Monome A = (1, x, x ²) . Ziel ist es nun, eine Orthonormalbasis ( f1 , f 2 , f 3 ) anzugeben. Hierfür verwenden wir das Gram-Schmidt-Verfahren. Zunächst werden wir nur eine orthogonale Basis angeben. Wenn wir die Basisvektoren dann aber anschließend noch normieren (auf Lösung 1 bringen), haben wir eine Orthonormalbasis konstruiert. Wir berechnen nun die darstellende Matrix, die als A := M A ( f ) := (ai , j ), ai , j =< vi , v j >= f (vi , v j ) definiert ist. In den Einträgen der Matrix stehen also die jeweiligen Skalarprodukte. Wir müssten jetzt also der Reihe nach alle 9 b Skalarprodukte mittels der Definition < f , g > I := ∫ f ( x) g ( x)dx berechnen. Dies ist aber a umständlich. Wir berechnen lieber für zwei „allgemeine Funktionen“ einmal das Skalarprodukt einmal allgemein. Dies können wir dann verwenden. Es gilt: I I 1 xi + j −1 < x i −1 , x j −1 > I = ∫ xi −1 • x j −1dx = ∫ x i + j − 2 dx = i + j −1 0 0 Nun setzen wir nacheinander für i und j die entsprechenden Werte ein und erhalten die 1 1 2 1 3 darstellende Matrix A = M A (< •, • >) = 1 2 1 3 1 4 . 1 3 1 4 1 5 Nun verwenden wir den Ansatz: f1 = 1 f2 = x + a f 3 = x ² + bx + c Die reellen Zahlen a, b, c müssen wir nun noch bestimmen. Dies kann man aber sehr leicht machen, denn wir wissen ja, dass die Vektoren f1 , f 2 , f 3 jeweils senkrecht (orthogonal) auf einander stehen müssen. 1 1 0 0 Zunächst ergibt sich < f1 , f 2 > I = ∫ 1 • ( x + a)dx = ∫ ( x + a)dx = 1 1 1 x ² + ax = + a = 0 , woraus 2 2 0 1 1 a = − folgt. Also ist f 2 = x − . 2 2 Dies zweite Orthogonalitätseigenschaft lautet: 1 1 1 1 1 1 1 < f1 , f 3 > I = ∫ 1 • ( x ² + bx + c)dx = ∫ ( x ² + bx + c)dx = x ² + bx ² + cx = + b + c = 0 3 2 3 2 0 0 0 Die dritte ergibt sich durch: 1 1 1 1 1 1 < f 2 , f3 > I = ∫ ( x − ) • ( x ² + bx + c)dx = ∫ ( x ³ + (b − ) x ² + (c − b) x − c)dx 2 2 2 2 0 0 = 1 1 1 1 1 1 1 1 + (b − ) + (c − b) − c = + b = 0 4 2 3 2 2 2 12 12 Hieraus folgern wir nun b = −1 und c = − 1 . 6 1 1 Damit lautet die Orthogonalbasis f1 ( x) = 1, f 2 ( x) = x − , f3 ( x) = x ² − x + . 2 6 Die Transformationsmatrix (Basiswechselmatrix) zwischen Matrix A und B liest man sofort 1 −1 2 1 6 B 1 −1 . Wir wissen nun, dass sich die darstellende Matrix ab. Sie lautet Q := TA = 0 0 0 1 bzgl. der Basis B mit M B (< •, • > I ) = QT • A • Q berechnet, also 0 1 1 M B (< •, • > I ) = Q • A • Q = 0 1 12 0 . 0 0 1 180 T Dabei sind die Diagonaleinträge gerade die Normen der Funktionen. Wir müssen die Basisvektoren f1 , f 2 , f 3 noch auf die Länge 1 bringen. Das macht man so: 1 1 1 1 1 1 ( x − ) = 2 3( x − ), f 3 = ( x ² − x + ) = 6 5( x ² − x + ) f1 = 1, f 2 = 2 2 6 6 1 1 12 180 Damit haben wir unsere Orthonormalbasis gefunden. §4 Ein schönes Korollar Wir geben noch ein Korollar an, das sich direkt mit dem obigen Satz und einigen weiteren Überlegungen aus der Linearen Algebra II ergibt. Für eine symmetrische Matrix A ∈ M n ,n (ℝ ) sind die folgenden Bedingungen äquivalent. (a) Der Standardvektorraum V = ℝ n besitzt bezüglich des durch A definierten Skalarprodukts < •, • > A eine Orthonormalbasis. (b) Es gibt eine invertierbare Matrix P ∈ GLn (ℝ) mit A = PT • P . (c) Die Matrix A ist positiv definit. Beweis: Wir wollen wir nicht allzu viel beweisen. Die Äquivalenz (b) ⇔ (a ) zeigen wir im Artikel „Bilinearformen“. Denn dort kann für A einfach die Einheitsmatrix gewählt werden und man erhält sofort das Gewünschte. (c) ⇒ (b) folgt sofort aus dem obigen Satz. (b) ⇒ (c) wollen wir etwas ausführlicher zeigen. Sei A = PT • P, x ≠ 0 . Wir schließen so: xT • A • x = xT • P T • P • x = ( x T • P T ) • ( P • x ) = ( P • x )T • ( P • x) =: y = yT • y = y12 + ... + yn2 > 0 (Hier haben wir ausgenutzt, dass P invertierbar ist.) §5 Positive Definitheit bei Matrizen Leider gibt es dieses Korollar keinen konkreten Algorithmus zur Hand, mit dem wir entscheiden können, ob eine reelle symmetrische Matrix A positiv definit ist. Betrachten wir ein paar Beispiele: Beispiel 1: 1 2 Die Matrix A = ist positiv nicht positiv definit. An der Determinante fällt auf, dass sie 2 1 negativ ist, denn det A = 1 − 4 = −3 < 0 . Daraus folgt sofort, dass A gar nicht positiv definit sein kann. Dies begründen wir mit dem Korollar. Denn falls A positiv definit ist, folgt mit (b) und (c) des Korollars, dass A = PT • P . Es gilt aber det A = det( PT P) = det P ² > 0 . Das ist ein Widerspruch. Erkennen wir die positive Definitheit einer Matrix also an ihrer Determinante? Noch nicht ganz, wie folgendes Beispiel zeigt: Beispiel 2: −2 1 Sei B = . Hier gilt doch aber det B = 3 > 0 . Trotzdem ist sie nicht positiv definit, 1 −2 denn e1T • A • e1 = −2 < 0 . Ein nützliches Kriterium, um zu entscheiden, ob eine Matrix positiv definit ist, oder nicht, liefert der folgende Satz, den wir an dieser Stelle nicht beweisen werden. Hauptminorenkriterium: Eine reelle Matrix A = (ai , j ) ∈ M n ,n (ℝ ) ist genau dann positiv definit, wenn alle Hauptminoren von A positiv sind, d.h. det Ai > 0 für i = 1,..., n , wobei a A1 = (a11 ), A2 = 11 a21 a11 a12 , A3 = a21 a22 a 31 a12 a22 a32 a13 a23 . a33