Kurs:Numerik I/Lösung mit QS-Zerlegung

Aus testwiki
Zur Navigation springen Zur Suche springen

Einleitung

Diese Lernressoure zum Thema QS-Zerlegung kann als Wiki2Reveal Folien angezeigt werden. Einzelne Abschnitte werden als Folien betrachtet und Folien können in der Wiki2Reveal-Darstellung handschriftlich im Browser beschriftet werden.

Lösung mittels QS-Zerlegung

Für eine QS-Zerlegung stellen wir zunächst fest, dass sich eine Matrix mit maximalen Spaltenrang in ein Produkt von

  • einer orthogonalen quadratischen Matrix Qn×n und
  • erweiterten oberen Dreiecksmatrix Sn×k

Lemma - QS-Zerlegung

Sei An×k mit nk und Rang(A)=k gegeben und A=QS eine Zerlegung von A, wobei Qn×n eine orthogonale und Sn×k eine Matrix der folgenden Gestalt ist mit 𝟎:=(0)(nk)×k:

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

Dann gilt für die obere Dreiecksmatrix R:

(i) det(R)0,
(ii) cond2(ATA)=(cond2(R))2.

Beweis - QS-Zerlegungslemma

Der Beweis gliedert sich in folgende Schritte:

Beweisschritt 1 - Einsetzung

Da Q eine orthogonale Matrix und A=QS ist, gilt mit (QS)T=STQT:

ATA=STQT=ATQS=A=STS=(RT𝟎)(R𝟎)=RTR.

Dabei wurde u.a. verwendet, dass für orthogonale Matrizen Q und sn gilt:

(Qs)TQs=Qs,Qs=s,s=sTs

Beweisschritt 2 - Betrachtung des Ranges

Wegen Rang(A)=k ist nach Lemma 4.1 insbesondere

0det(ATA)=det(RTR)=(det(R))2.

Damit gilt det(ATA)>0 und det(R)=0 und (i) ist korrekt.

Beweisschritt 3 - Kondition der Matrix

Ferner erhält man durch die Gleichheit von ATA=RTR aus Beweisschritt 1 die Gleichheit der Kondition

cond2(ATA)=cond2(RTR).

Damit kann man die Konditionszahl von ATA über die Konditionszahl der invertierbaren oberen Dreiecksmatrix R berechnen.

Beweisschritt 4 - Kondition der Matrix

Wendet man nun Lemma für die Konditionszahl auf die reguläre obere Dreiecksmatrix R an, erhält man:

cond2(RTR)=(cond2(R))2.

Beweisschritt 5 - Kondition der Matrix

Nach dem Lemma über Eigenwerte positiv definiter Matrizen und mit der Invertierbarkeit von R sind die Eigenwerte der Matrix RTR positiv. Insgesamt erhält man mit Schritt 4 die Eigenschaft (ii) aus dem Lemma.

cond2(ATA)=cond2(RTR)=(cond2(R))2


q.e.d.

Bemerkung - Fehlerquadratprobleme

In dem obige Satz für die QS-Zerlegung wurde der maximale Spaltenrang k der Matrix An×k mit kn vorausgesetzt. Der folgende Satz gibt an, wie Fehlerquadratprobleme mittels einer QS-Zerlegung von A gelöst werden können.

Satz - QS-Zerlegung

Voraussetzungen Es seien An×k mit nk, Rang(A)=k, Rk×k eine obere Dreiecksmatrix und Qn×neine orthogonale Matrix und Sn×k gegeben wie in Lemma - QS-Zerlegung. Weiter sei der Vektor QTbn dargestellt in der Form

QTb=(y(1)y(2))n,y(1)k,y(2)nk.

Folgerung QS-Zerlegung

Dann ist der Vektor x*k genau dann die eindeutige Lösung des linearen Ausgleichsproblems minxkAxb2,, wenn x* eindeutige die Lösung des Systems Rx=y(1) ist. Außerdem gilt für den Fehler Ax*b2=y(2)2.

Bemerkung QS-Zerlegung

Ziel des Lösungsverfahrens für ein gesuchtest x ist es, sich möglichst gut bzgl. der euklidschen Norm mit Ax an den Vektor b anzunähern. Die eindeutige Lösung des linearen Ausgleichsproblems liefert mit y(1) und y(2):

  • Rx=y(1) ein Gleichungssystem mit einer einfach zu lösenden oberen Dreiecksmatrix R und
  • mit y(2) bzw. y(2)2 ein Maß für die minimale Abweichung von Ax und b über Ax*b2=y(2)2 bzgl. der Lösung x*.

Beweis

Für einen beliebigen Vektor vk erhalten wir für eine orthogonale Matrix Q eine längetreue Abbildung über:

Qv22=Qv,Qv=v,v=v22()

Ferner gilt für orthogonale Matrizen QTQ=I, wobei I die Einheitsmatrix als neutrales Element der Matrixmultiplikation ist.

Beweisschritt 1 - Anwendung QS-Zerlegung

unter Verwendung des QS-Zerlegungssatzes und der Ersetzung von A=QS erhält man:

bAx*22=(QQT)bQSx22=Q(QTbSx=v)22=QTbSx=v22 mit QS-Zerlegungssatz=(y1y2)(R𝟎)x22=y(1)Rx22+y(2)22

Beweisschritt 2 - Anwendung QS-Zerlegung

Daraus folgt für einen beliebigen Vektor x^k

Ax^b2minxkAxb2=y(2)2

Beweisschritt 3 - Eindeutige Lösung QS-Zerlegung

Ferner gilt

bAx2=y(2)2y(1)Rx2=0Rx=y(1).

Damit ist alles gezeigt.

q.e.d.

Bemerkung

Nach dem Satz und dem Lemma zur QS-Zerlegung besitzen das l2-Approximationsproblem, wobei man versucht Ax in der l2-Norm möglichst gut anzunähern, eine eindeutige Lösung. Dies ist äquivalent zu der eindeutigen Lösbarkeit des Systems Rx=y1. Abschließend geben wir zu dem letzten Satz noch ein Beispiel.

Beispiel - QS-Zerlegung

Wir betrachten das Fehlerquadratproblem mit den Daten

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

Beispielschritt 1 - gesuchter Vektor

Wir suchen nun eine Vektor x*2, der den Abstand Axb2 zwischen Ax und b minimiert.

Beispielschritt 2 - QS-Zerlegung

Der Spaltenrang von A ist 2, da die beiden Spalten von A nicht linear abhängig sind. Nun liefert die QS-Zerlegung von A mit gleichzeitiger Berechnung von QTb die folgende obere Dreiecksmatrix R und die folgenden Vektoren y(1) und y(2):

R:=(2705),y(1):=(13252),y(2):=(9934534).

Beispielschritt 3 - Lösung für das Ausgleichsproblem

Die Lösung von Rx=y(1) bzw.

(2705)(x1x2)=(13252)

lautet

x*=(x1*,x2*)T:=(32,12)T.

Beispielschritt 4 - Approximationsfehler des Ausgleichsproblems

Der zugehörige Approximationsfehler in der Euklidischen Norm ist gegeben durch

bAx*2=y22=(9934534)2=982634=173434=12342.915.

Vergleich der Lösungswege bzgl. Zerlegung

Wir wollen nun die beiden beschriebenen Lösungswege für das l2-Problem, die Lösung der Normalgleichungen mittels Cholesky-Zerlegung und die Lösung über den in QS-Zerlegungssatz dargestellten Weg, vergleichen.

Gemeinsamkeiten

In beiden Fällen muss die rechte Seite b des Systems Ax=b von links mit einer Matrix multipliziert werden. Weiter sind bei der Cholesky-Zerlegung zwei und bei dem Weg über die QS-Zerlegung ein gestaffeltes lineares Gleichungssystem zu lösen. Da die Lösung eines solchen Systems nur etwa k22 Multiplikationen und Divisionen erfordert, vernachlässigen wir hier diesen zusätzlichen Aufwand bei der Cholesky-Zerlegung.

Daten für das Gleichungssystem

Der Lösungsvektor xk hat in der Regel eine feste Dimension kn während n die Anzahl der Gleichungen für Daten angibt, die bzgl. Axb2 in der euklidischen Norm minimiert werden soll.

Berechnungsaufwand - Cholesky-Zerlegung

Im Fall der Lösung der Normalgleichungen benötigt man ferner zur Berechnung der symmetrischen Matrix ATA etwa 12nk2 und für die Cholesky-Zerlegung etwa 16k3 wesentliche Rechenoperationen. Daneben erfordert die Berechnung des Residuenvektors Axb weitere nk Multiplikationen, so dass die zuletzt genannten Teilaufgaben zusammen ungefähr

12nk2+16k3+nk

wesentliche Rechenoperationen erfordern, das sind

12nk2 für nk und 23n3 für nk.

Berechnungsaufwand - QS-Zerlegung

Für das sich aus dem QS-Zerlegungssatz ergebende Vorgehen benötigt man über die Matrix-Vektor-Multiplikation und die Lösung eines Dreieckssystems hinaus nur die Berechnung der QS-Zerlegung von A.

Vergleich n nahe bei k

Wenn n nahe bei k liegt (nk) benötigen im Vergleich der beiden Verfahren demnach für beide Wege etwa gleich viele wesentliche Rechenoperationen.

Vergleich n groß im Vergleich zu k

Ist n sehr groß im Vergleich zu k müssen über den Weg der QS-Zerlegung etwa doppelt so viele wesentliche Rechenoperationen durchgeführt werden, wie der Lösung über die Normalgleichungen (Cholesky).

Berechnungsaufwand und Konditionszahl

Letzterem Nachteil der QS-Zerlegung steht jedoch entgegen, dass bei ihr nach Lemma 4.6 die Konditionszahl κ:=[cond2(ATA)]1/2 bzw. für quadratisches A (vgl. Satz 4.5) die Zahl κ:=cond2(A) den Rundungsfehlereinfluss bei der Lösung des Dreieckssystems bestimmt, während dies bei dem Weg über die Normalgleichungen die Zahl κ2 ist. Wir geben dazu ein (allerdings etwas extremes) Beispiel:

Beispiel - Vergleich Konditionszahl

Es sei n:=6,k:=5 und A6×5 mit einem ε>0 gegeben durch

A:=(11111εεεεε).

Berechnung von ATA

Damit ergibt sich für die Berechnung von ATA:

ATA=(1+ε2111111+ε2111111+ε2111111+ε2111111+ε2).

Maschinengenauigkeit 1

Es seien nun b:=10 und r:=10 die Basis und Mantissenlänge des verwendeten Computers, so dass eps=51010 die zugehörige Maschinengenauigkeit ist. Weiter sei ε:=0.5105 und damit ε2=.251010. Damit liegt ε2 unterhalb der zugehörigen Maschinengenauigkeit und wird als 0 gespeichert.

Maschinengenauigkeit 2

Dann erhält man Gleitkomma-Darstellung für 1+ε2

gl(1+ε2)=1,gl(ATA)=(aij) mit aij:=1 (i,j=1,,5).

Maschinengenauigkeit 3 - Invertierbarkeit

Die Matrix gl(ATA) hat offenbar den Rang 1 und ist singulär.

Konditionszahl 4

Man errechnet hier für die Konditionszahl:

cond2(ATA)=5+ε2ε2210+11,
[cond2(ATA)]1/2=[5+ε2ε2]1/24.510+5.

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.