Kurs:Numerik I/Orthonormalisierungsverfahren

Aus testwiki
Zur Navigation springen Zur Suche springen

Einleitung

Diese Seite kann als Wiki2Reveal Folien angezeigt werden. Einzelne Abschnitte werden als Folien betrachtet und Änderungen an den Folien wirken sich sofort auf den Inhalt der Folien aus.

Einführung - Orthogonalisierungsverfahren

In diesem Abschnitt soll für eine gegebene Matrix An×k mit 1kn eine Zerlegung der Form

A=QS

bestimmt werden, wobei Qn×n eine orthogonale Matrix ist und Sn×n eine um Nullzeilen ergänzte obere Dreiecksmatrix ist,

Orthogonale Matrix

Eine orthogonole eine reguläre (invertierbare) Matrix mit der Eigenschaft

Q1=QT

Wenn man nun das Matrixprodukt Q1Q=QTQ=En berechnet, dann bilden die Spaltenvektoren (q1,,qn) Orthonormalbasis vom n mit:

QTQ=(q1,q1q1,q2q1,qnq2,q1q2,q2q2,qnqn,q1qn,q2qn,qn).

Orthonormal Vektoren und Einheitsmatrix

  • Die Orthogonalität der Spaltenvektoren (q1,,qn) führt zu der Eigenschaft qj,qk=0 für j=k.
  • Die Normalisierung der Basisvektoren qkn führt zu der Eigenschaft qk=1 und damit auch qk2=qk,qk=1, was den Diagonalelementen der Matrix QTQ=En entspricht.

Um Nullzeilen ergänzte obere Dreieckmatrix

In der Zerlegung A=QS ist S mit einer oberen Dreiecksmatrix R, die wie folgt mit Nullzeilen ergänzt wird:

S=(R𝟎)n×k,R:=(...*0*)k×k,𝟎:=(0)(nk)×k.

Im Fall n=k ist demnach insbesondere S=R.

Ziel der QR/QS Zerlegung

Wie wir zeigen wollen, ermöglicht eine solche QR- bzw. QS-Zerlegung von A sowohl die stabile Lösung linearer Gleichungssysteme Ax=b als auch die stabile Lösung von Ausgleichsproblemen

minxkbAx2.

Dafür benötigen wir einige Eigenschaften orthogonaler Matrizen.

Elementare Eigenschaften orthogonaler Matrizen

In der Geometrie der Ebene kennt man die Kongruenzabbildungen, bei denen die Bilder von Strecken wieder Strecken der gleichen Länge abgebildet. Kongruenzabbildungen, wie Geradenspiegelungen sind dabei längentreu und winkeltreu, d.h. unter der Abbildung bleiben Winkel zwischen Strecken und die Länge von Strecken unverändert (invariant). Orthogonale Matrizen besitzen als Abbildung die Eigenschaft der Längeninvarianz.

Lemma - Längeninvarianz/Isometrie für orthogonale Matrizen

Sei Qn×n eine orthogonale Matrix. Dann ist auch QT eine orthogonale Matrix und es gilt

Qx2=x2=QTx2,xn.

Bemerkung

Eine orthogonal Matrix kann man als Abbildung von n nach n auffassen. Eine orthogonal Matrix verändert dabei die Länge des Vektors nicht in der Euklidischen Norm 2. Der Begriff der Isometrie ist dabei allgemein für metrische Räumen definiert. Ein zentrische Streckung Zλ mit einem Streckungsfaktor λ{+1,1} ist z.B. keine Isometrie, da unter der Abbildung der Bildvektor Zλ(x) die |λ|-fache Länge von x besitzt.

Beweis

Der Beweis erfolgt in zwei Schritten:

  • Man zeigt, dass auch die transponierte Matrix eine orthogonale Matrix ist.
  • Man zeigt die Längeninvarianz unter Darstellung des Skalarproduktes als Matrixmultiplikation (d.h. x,y=xTy, wobei x,yn×1 als Spaltenvektoren aufgefasst werden und xTy als Matrizenprodukt einer 1×n-Matrix xT und einer n×1-Matrix y ist.

Beweis 1 - inverse Matrix - orthogonale Matrix

Wegen

(QT)1=(Q1)1=Q=(QT)T

ist auch QT eine orthogonale Matrix.

Beweis 2 - Umformungen in einer Matrixmultiplikation

Des Weiteren hat man für Q

Qx22=(Qx)TQx=xTQTQx=xTQ1Qx=xTx=x22

und somit auch QTx2=x2 für die orthogonale Matrix QT.

q.e.d.

Bermerkung

Die Eigenschaft der Längentreue der durch Q und QT definierten linearen Abbildungen bezeichnet man auch als isometrisch bezüglich der Euklidischen Norm, bzw. als Isometrie.

Lemma - Euklidische Norm und Determinante orthogonaler Matrizen

Für die Operatornorm 2:n×n0+ einer linearen Abbildung und für die Determinante orthogonaler Matrizen gilt:

  • (i) Q2=QT2=1,
  • (ii) |det(Q)|=|det(QT)|=1.

Beweis - Euklidische Norm und Determinante orthogonaler Matrizen

Der Beweis gliedert sich in zwei Teilaussagen

  • (i) zur Operatornorm für lineare Abbildung und
  • (ii) zur Determinate von orthogonalen Matrizen.

Beweis (i) Längeninvarianz/Isometrie

Wenn man das Lemma Längeninvarianz bzw. Isometrie für orthogonale Matrizen auf Q und QT anwendet, erhält man die Aussage (i) über die Definition der Operatornorm mit:

Q2:=maxx2=1Qx2=IsometrieQmaxx2=1x2=1=IsometrieQTmaxx2=1QTx2=1

Beweis (ii) Längeninvarianz/Isometrie

Mit der Einheitsmatrix Enn×n und der Multiplikativität der Determinanten det(AB)=det(A)det(B) folgt die Aussage (ii) über die Eigenschaft, dass die transponierte Matrix QT multiplikativ invers zu der Matrix Q ist.

1=det(En)=det(QQT)=det(Q)det(QT)=[det(Q)]2=[det(QT)]2.

Dabei geht in die Gleichungskette ein, dass die Determinante der transponierten Matrix und der Matrix selbst gleich sind. q.e.d.

Korollar - Konditionszahl orthogonaler Matrizen

Seien An×n eine reguläre und Qn×n eine orthogonale Matrix. Dann gilt für die Konditionszahl

cond2(QA)=cond2(A).

Beweis

Der Beweis gliedert sich in die folgenden Teile:

  • Verwendung der Längeninvarianz/Isometrie für orthogonale Abbildungen

Beweis 1 - Längeninvarianz orthogonaler Abbildungen

Nach Lemma zur Längeninvarianz/Isometrie für orthogonale Abbildungen gilt Qy2=Ay2 für alle yn. Mit y:=Axn erhält man

(QA)x2=Q(Ax)2=Ax2

für xn und somit

Beweis 2 - Längeninvarianz orthogonaler Abbildungen

A2=maxx2=1Ax2=maxx2=1QAx2=QA2.

Weiter gilt mit Lemma 3.24 (i)

A12=A1QTQ2A1QT2Q2=A1QT2A12QT2=A12

und folglich A12=A1QT2. Damit ergibt sich

cond2(QA)=QA2A1Q12=QA2A1QT2=A2A12=cond2(A).

q.e.d.

Multiplikation einer quadratischen Matrix A von links mit einer orthogonalen Matrix führt also auf eine Matrix mit derselben Kondition wie A. Weiter gilt:

Lemma - Produkt orthogonaler Matrizen

Seien Q1,Q2n×n orthogonale Matrizen. Dann ist auch Q1Q2 eine orthogonale Matrix.

Beweis.

Die Aussage des Lemma folgt aus

(Q1Q2)1=Q21Q11=Q2TQ1T=(Q1Q2)T.

q.e.d.

3.4.2 Lösung linearer Gleichungssysteme mittels QR-Zerlegung

Wir betrachten nun wieder die Lösung eines linearen Gleichungssystems Ax=b für eine reguläre Matrix An×n und beliebige rechte Seite bn und gehen davon aus, dass eine Zerlegung der Form A=QR von A mit einer orthogonalen Matrix Qn×n und einer oberen Dreiecksmatrix Rn×n gegeben ist (vgl. (3.37) - (3.39)). Wegen Lemma 3.24 gilt offenbar

det(A)0det(R)0.

Weiter hat man die Äquivalenzen

Ax=bQRx=bRx=QTb

und mit Korollar 3.25 die Beziehungen

cond2(R)=cond2(QTA)=cond2(A).

D. h., das Gleichungssystem Ax=b ist äquivalent zu dem gestaffelten Gleichungssystem Rx=QTb, wobei die Matrix R bezüglich der Spektralnorm keine schlechtere Kondition als A aufweist und gemäß 3.40 QTb2=b2 gilt.

3.4.3 QR-Zerlegung mittels Gram-Schmidt-Orthogonalisierung

Es sei nun An×n eine quadratische Matrix mit det(A)0 und es seien eine orthogonale Matrix Qn×n und eine obere Dreiecksmatrix Rn×n gesucht, so dass

(3.41) A=QR

gilt. Schreiben wir A,Q und R mit Vektoren aj,qjn in der Form

A=(a1...an),Q=(q1...qn),R=(r11...r1nrnn),

so ist die Gleichung (3.41) offenbar äquivalent mit den Gleichungen

(3.42) aj=i=1jrijqi,j=1,...,n,

wobei rij=0 für i>j berücksichtigt wurde. Dabei sind die aj (j=1,...,n) linear unabhängig und die qj (j=1,...,n) wegen der Orthogonalität von Q paarweise orthonormal und damit auch linear unabhängig. Die Gleichungen (3.42) implizieren somit für 1sn

(3.43) span{a1,...,as}=span{q1,...,qs}.

Folglich suchen wir eine orthogonale Basis {q1,...,qn} des n, für welche die Gleichungen (3.42) erfüllt sind. Wir wollen im Folgenden zeigen, dass man eine solche durch Orthogonalisierung der aj (j=1,...,n) mittels des aus der Linearen Algebra bekannten Gram-Schmidt-Orthonormierungsverfahrens erhält.

Sind aj (j=1,...,n) die gegebenen Spalten von A, welche nach Voraussetzung eines Basis des n bilden, so lautet für diese das Gram-Schmidt-Orthonormierungsverfahren, wobei wir die durch das Verfahren erzeugten Vektoren gleich mit qj bezeichnen:

(3.44) q^j:=aji=1j1[(aj)Tqi]qi,qj:=q^jq^j2,j=1,2,...,n.

Bekanntlich gilt für die so erzeugten Vektoren qj (j=1,...,n) die Identität (3.43) und sind diese paarweise orthonormal.

Aus den Gleichungen (3.44) leitet man unmittelbar die folgenden Gleichungen her:

aj=q^j2qj+i=1j1[(aj)Tqi]qi,j=1,2,...,n.

Wie ein Vergleich mit den Gleichungen (3.42) zeigt, erhält man demnach die gewünschte QR-Faktorisierung von A für die Matrix Q mit den durch das Gram-Schmidt-Verfahren erzeugten Vektoren qj (j=1,...,n) und die obere Dreiecksmatrix R, welche folgende Elemente hat:

rij:=(aj)Tqi,i=1,...,j1,rjj:=q^j2(j=1,...,n).

Der hier beschriebene Orthogonalisierungsprozess ist aber unter Umständen nicht gutartig, etwa für q^j21 und damit rjj1 (s. Beispiel 3.4 in Band 1 von Quarteroni/Sacco/Saleri und S. 177 bei Stoer). Mit wachsendem j kann die Orthogonalität immer stärker verloren gehen. Deshalb werden zumeist andere Methoden, wie die im folgenden Abschnitt dargestellte, zur QR-Faktorisierung von A herangezogen.

3.4.4 QS-Zerlegung mittels Householder-Transformationen

Sei nun allgemeiner An×k mit 1kn gegeben. Gegenstand dieses Abschnitts ist die Bestimmung einer Zerlegung der Form A=QS mit einer orthogonalen Matrix Qn×n und einer im Fall n>k nichtquadratischen Matrix Sn×k wie in (3.39) mittels sog. Householder-Transformationen. In diesem Zusammenhang zeigen wir zunächst:

Lemma 3.27

Es sei ωn ein Vektor mit ω2=1 und n×n die Matrix
(3.45) :=I2ωωT.
Dann gilt
(3.46) T= ( ist symmetrisch),
(3.47) 2=I ( ist involutorisch),
(3.48) T=I ( ist orthogonal).

Beweis.

Die Beziehungen (3.46) und (3.47) ergeben sich aus

T=I2(ωωT)T=I2ωωT=,
2=(I2ωωT)(I2ωωT)=I2ωωT2ωωT+4ω(ωTω)=1ωT=I.

Die Identität (3.48) folgt aus (3.46) und (3.47).

q.e.d.

Eine Matrix vom Typ (3.45) für ein ωn mit ω2=1 nennen wir Householder-Matrix und eine lineare Abbildung

h:nn,h(x):=x

mit einer Householder-Matrix n×n bezeichnen wir als Householder-Transformation.

Householder-Matrizen kann man dazu verwenden, einen Block von Komponenten eines gegebenen Vektors x (durch Multiplikation mit einer solchen Matrix von links) zu Null zu setzen. Will man insbesondere alle Komponenten von x außer der m-ten Komponente Null setzen, so muss man den Vektor ω zur Konstruktion von so wählen, wie er im folgenden Lemma angegeben wird. Dabei ist wieder mit emn die m-te Spalte von In×n gemeint.

Lemma 3.28

Gegeben sei xn{0} mit xspan{em}. Weiter sei
(3.49) ω:=x+σemx+σem2
mit
(3.50) σ:=±x2.
Dann hat man ω2=1 und für :=I2ωωT
(3.51) x=σem.

Beweis.

Wegen xspan{em} ist der Nenner in (3.49) ungleich Null und damit ω in (3.49) wohldefiniert. Offenbar ist ω2=1. Ferner gilt

x+σem22=x22+2σ(em)Tx+σ2=2x22+2σ(em)Tx=2(x+σem)Tx

und damit

2ωTx=2(x+σem)Txx+σem2=x+σem2.

Zusammen mit (3.49) gelangt man zu der Darstellung

x=(I2ωωT)x=xx+σem2ω=x(x+σem)=σem.

Bemerkung 3.29

Zur Vermeidung von Stellenauslöschungen bei der Berechnung von (3.50) ist es offenbar sinnvoll, σ:=sgn(xm)x2 zu wählen, wobei xm die m-te Komponente von x bezeichnet.

Wir geben ein Beispiel.

Beispiel 3.30

Sei x:=(1,1,1,1)T und m:=3. Dann errechnen wir x2=2 und setzen wir somit σ:=sgn(x3)x2=2 sowie

ω:=x+σemx+σem2=123(1,1,3,1)T.

Es ergibt sich

2ωωT=16(1131)(1,1,3,1)=16(1131113133931131)

und demnach

:=I2ωωT=16(5131153133331135),x=(0020).

Will man für ein k1 die Komponenten xi (i=1,...,k1) von xn unverändert lassen und gleichzeitig xi=0 (i=k+1,...,n) erreichen, bekommt man dies, indem man x von links mit der Transformationsmatrix

Pk:=(Ik100k)

multipliziert. Dabei ist I die (×)-Einheitsmatrix und k die (nk+1)×(nk+1)-Householder-Matrix der Form

k:=In(k1)2ωk(ωk)T,ωk:=xnk+1+σkenk+1,1xnk+1+σkenk+1,12,σk:=±xnk+12,

welche mit dem aus den letzten nk+1 Komponenten von x bestehenden Vektor xnk+1nk+1 und der ersten Spalte enk+1,1nk+1 der Einheitsmatrix Ink+1 gebildet wird. Denn ist xk1k1 der aus den ersten k1 Komponenten von x bestehende Vektor, so hat man nach Lemma 3.28

Pkx=(Ik00k)(xk1xnk+1)=(xk1kxnk+1)=(xk1σkenk+1,1).

Nun ist klar, wie man eine Matrix An×k in die Form QS mit einer orthogonalen Matrix QRn×n und eine Matrix Sn×k der Gestalt (3.39) zerlegen kann. Ausgehend von A(1):=A werden sukzessive Matrizen der Form

(3.52) A(j):=(a11(j)............a1k(j)aj1,j1(j)......aj1,k(j)ajj(j)...ajk(j)anj(j)...ank(j))n×k,j=2,...,k+1

bestimmt, so dass dann schließlich S:=A(k+1) die gewünschte Gestalt hat. Die Matrizen in (3.52) werden dabei sukzessive durch Transformationen der Form

(3.53) A(j+1):=𝒫(j)A(j),𝒫(j):=(Ij100(j))

mit Householder-Matrizen

(j):=In(j1)2ω(j)(ω(j))T

erzeugt, wobei ω(j)n(j1) mit

a^(j):=(ajj(j),...,anj(j))T

so zu wählen ist, dass mit einem σj

(j)a^(j)=σjen(j1),1

gilt. Im Fall a^(j)span{en(j1),1} erreicht man dies gemäß Lemma 3.28 mit

ω(j):=a^(j)+σjen(j1),1a^(j)+σjen(j1),12,σj:=sgn(a^1(j))a^(j)2.

Im selteneren Fall a^(j)span{en(j1),1} kann man offenbar (j):=In(j1) bzw. 𝒫(j):=I in (3.53) wählen. Nach Lemma 3.27 sind dann die Matrizen (1),...,(k) und damit die Matrizen 𝒫(1),...,𝒫(k) orthogonal und symmetrisch, so dass man wegen

A(1)=A,
A(2)=𝒫(1)A(1)=𝒫(1)A,
A(3)=𝒫(2)A(2)=𝒫(2)𝒫(1)A,
A(k+1)=𝒫(k)A(k)=𝒫(k)𝒫(k1)𝒫(1)A

mit

S:=𝒫(k)𝒫(k1)𝒫(1)A,Q:=𝒫(1)𝒫(2)𝒫(k)

wegen (3.47) die gewünschte Zerlegung A=QS erhält. Gemäß Lemma 3.26 ist Q tatsächlich eine orthogonale Matrix.

Man beachte, dass man Q für die Lösung des Gleichungssystems Ax=b mit n=k (sowie für die des Ausgleichsproblems in Abschnitt 4.3) gar nicht benötigt, sondern nur den Vektor QTb. Wegen (𝒫(j))T=𝒫(j) ist dabei

QT=(𝒫(k))T(𝒫(k1))T(𝒫(1))T=𝒫(k)𝒫(k1)𝒫(1),

so dass man mit b wie mit A verfahren kann:

b(1):=b,
b(2):=𝒫(1)b(1)=𝒫(1)b,
b(3):=𝒫(2)b(2)=𝒫(2)𝒫(1)b,
b(k+1):=𝒫(k)b(k)𝒫(k)𝒫(k1)𝒫(1)b=QTb.

Man beachte, dass mit

B(j):=(ajj(j)...ajk(j)anj(j)...ank(j))

gemäß (3.52) und (3.53)

A(j+1)=(Ij100(j))(#*0B(j))=(#*0(j)B(j))

gilt, also wie beim Gauß-Algorithmus nur die verbleibende Restmatrix B(j) in A(j) und analog der verbleibende Anteil der rechten Seite zu transformieren ist. Weiter sei gesagt, dass Householder-Transformationsmatrizen niemals explizit durch Matrixmultiplikation gebildet werden sollten. Denn eine Matrixmultiplikation B mit m×m und Bm× kostet 𝒪(m2) Multiplikationen. Die benötigten Matrixmultiplikationen für :=I2ωωT berechne man daher wie folgt:

(3.54) B=(I2ωωT)B=BωvT,vT:=2ωTB.

Zunächst ermittele man also den Vektor v und dann "aufdatiere" man die Matrix B. Für ein solches Vorgehen benötigt man nur 2m Multiplikationen.

Bemerkung 3.31

Will man die Vektoren ω(j) aufbewahren, weil man z. B. ein Gleichungssystem Ax=b mit derselben Matrix und verschiedenen rechten Seiten zu lösen hat, so kann man für jedes j{1,...,k} das Diagonalelement ajj(j+1) zunächst gesondert speichern und anschließend den Vektor ω(j) in der j-ten Spalte der Matrix A(j+1) eintragen (s. Beispiel 3.32). Auf diese Weise spart man Speicherplatz, was bei sehr großen Matrizen relevant ist.

Beispiel 3.32

Man berechne eine QS-Zerlegung von A und QTb für

A:=(10131417),b:=(1264).

Wir setzen A(1):=A und b(1):=b und bekommen zunächst

a^(1):=(1,1,1,1)T,a^(1)2=2,σ1=sgn(1)2=2.

Damit folgt

ω~(1):=a^(1)+σ1e4,1=(1,1,1,1)T+2(1,0,0,0)T=(3,1,1,1)T,
ω~(1)2=23,
ω(1):=ω~(1)ω~(1)2=123(3,1,1,1)T.

Für (1):=I2ω(1)(ω(1))T benötigt man nun die Produkte (1)A(1) und (1)b(1), die man analog zu (3.54) berechnet. Es ist

(v(1))T:=2(ω(1))TA(1)=13(3111)(10131417)=13(614),
(u(1))T:=2(ω(1))Tb(1)=13(3111)(1264)=153

und demnach

ω(1)(v(1))T=16(3111)(614)=(3717/317/317/3),
ω(1)(u(1))T=156(3111)=(15/25/25/25/2).

Demzufolge ergibt sich

A(2):=(1)A(1)=A(1)ω(1)(v(1))T=(2702/305/3014/3),
b(2):=(1)b(1)=b(1)ω(1)(u(1))T=(13/21/27/23/2).

Wollte man den Vektor ω(1) aufbewahren, um damit zu einem späteren Zeitpunkt die Zerlegung von A wieder erzeugen zu können, so legt man einen Arbeitsvektor d2 an, setzt man d1:=a11(2)=2 und trägt man ω(1) in die erste Spalte von A(2) ein, so dass sich ergibt:

A^(2):=(12371632/31635/316314/3)

In der Praxis kann man A(2) und auch A^(2) wieder A nennen, da man A selbst nicht mehr benötigt.

Nun verfährt man analog mit der Restmatrix bzw. dem Restvektor

A~(2):=(2/35/314/3),b~(2):=(1/27/23/2).

Man bekommt

a^(2):=(23,53,143)T,a^(2)2=5,σ2=sgn(23)5=5,
ω~(2):=a^(2)+σ2e3,1=(23,53,143)T+5(1,0,0)T=(173,53,143)T,
ω~(2)2=5103,
ω(2):=ω~(2)ω~(2)2=1510(17,5,14)T,
(v(2))T:=2(ω(2))TA~(2)=2510(17514)(2/35/314/3)=5103510,
(u(2))T:=2(ω(2))Tb~(1)=1510(17514)(173)=60510,
(2)A~(2)=A~(2)ω(2)(v(2))T=(2/35/314/3)13(17514)=(500),
(2)b~(2)=b~(2)ω(2)(u(2))T=(1/27/23/2)60510(17514)=(5/299/345/34).

Damit ergibt sich nun

S:=A(3)=(27050000),R:=(2705),QTb=b(3):=(13/25/299/345/34).

Will man die ω(j) wiederverwenden, so bilde man mit A^(2) und dem oben definierten d1

A^(3)=(123716315101716315105163151014),d:=(25).

Aus A^(3) und d könnte man R in offensichtlicher Weise gewinnen.


Man kann sich überlegen, dass eine QS-Zerlegung von An×k mittels Householder-Transformationen etwa

2[k33+(nk)k22]

Multiplikationen benötigt, also

(3.55) nk2 für nk und 23n3 für nk

und damit bei quadratischen Matrizen etwa doppelt so viele wesentliche Rechenoperationen wie der Gauß-Algorithmus. Neben dem Einsatz für die bereits besprochene stabile Lösung von linearen Gleichungssystemen werden wir im nächsten Abschnitt eine weitere wichtige Anwendung einer solchen QS-Zerlegung geben.


Siehe auch

Seiteninformation

Diese Lernresource können Sie als Wiki2Reveal-Foliensatz darstellen.

Wiki2Reveal

Dieser Wiki2Reveal Foliensatz wurde für den Lerneinheit Kurs:Numerik I' erstellt der Link für die Wiki2Reveal-Folien wurde mit dem Wiki2Reveal-Linkgenerator erstellt.