Kurs:Numerik I/4 Lineare Ausgleichsrechnung

Aus Wikiversity

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

[Bearbeiten] 4.1 Problemstellung

In der Praxis hat man häufig auch ein überbestimmtes lineares Gleichungssystem Ax = b für eine Matrix A \in \R^{n\times k} mit n > k und eine rechte Seite b \in \R^n zu „lösen“. Da ein solches System mehr Gleichungen als Unbekannte hat, ist im Allgemeinen Ax - b \neq 0 für alle x \in \R^k und besitzt es somit keine exakte Lösung. Es macht also Sinn, ein x * als „Lösung“ zu akzeptieren, für welches der Defekt Axb hinsichtlich einer gewählten lp-Norm \|\cdot\|_p auf dem \R^k minimal wird, also eine Lösung x * des Problems

\inf_{x\in \R^k} \|b - Ax\|_p.

Im Fall der Verwendung der l2- bzw. Euklidischen Norm lautet dieses Problem

(4.1) \inf_{x\in \R^k} \|b - Ax\|_2,

welches im Hinblick auf eine Lösung mit dem Problem

(4.2) \inf_{x\in \R^k} \|b - Ax\|_2^2

äquivalent ist, wobei die zu minimierende Funktion in (4.2) für alle x \in \R^k differenzierbar ist. (Die Funktionen in (4.1) und (4.2) haben offenbar dieselben Minimalpunkte x, sofern solche existieren.) Bei Wahl der l2-Norm minimiert man also die Summe der Fehlerquadrate, und man spricht daher auch von Fehlerquadratmethode oder von diskreter l2-Approximation. Die Lösung des entsprechenden Problems für die l1- und die l_\infty- bzw. Tschebyscheff-Norm ist ebenfalls von großem praktischen Interesse, führt aber auf nichtdifferenzierbare Funktionen, so dass diese Probleme schwieriger zu lösen sind. (Man kann letztere Probleme als lineare Optimierungsprobleme formulieren und beispielsweise mit dem sog. Simplexalgorithmus lösen.) Bevor wir nun das Problem in (4.2) weiter untersuchen, wollen wir zunächst zwei Aufgabenstellungen beschreiben und analysieren, die auf ein derartiges über-bestimmtes Gleichungssystem führen.

In Naturwissenschaft und Technik hat man oft das Problem, mit einer großen Zahl von Messwerten umgehen zu müssen. Ein anderes, sich häufig stellendes Problem ist es, eine in endlich vielen Punkten gegebene Funktion, welche durch eine rechenaufwändige Vorschrift bestimmt ist, durch eine einfacher zu berechnende zu ersetzen. Beide Probleme kann man gemeinsam angehen und als l2-Approximationsprobleme beschreiben.

Wir gehen dazu von n Zahlenpaaren

(4.3) (t_j, y_j), \quad j = 1, \ldots, n

mit t_r \neq t_s für r \neq s aus, wobei üblicherweise n groß ist. Beispielsweise können die y_j \in \R irgendwelche zu unterschiedlichen Zeitpunkten t_j \in \R gemessene Werte oder, im Hinblick auf die Approximation einer gegebenen Funktion f, die Funktionswerte yj: = f(tj) zu gewissen Punkten tj des Definitionsbereichs von f sein. Das Ziel der Ausgleichsrechnung ist es nun, durch geeignete Wahl eines Parametervektors x := (x_1, \ldots, x_k)^T eine Funktion der Gestalt

(4.4) z(x, t) := x_1v_1(t) + x_2v_2(t) + \ldots + x_kv_k(t), \quad t \in \R

mit k gegebenen stetigen Ansatzfunktionen vi zu finden, so dass die Fehler

(4.5) y_j - z(x, t_j), \quad j = 1, \ldots, n

möglichst klein ausfallen. Dabei sollte sinnvollerweise k \le n sein und ist zumeist k \ll n. Hat man einen solchen Parametervektor x bzw. eine solche Funktion z(x, \cdot) gefunden und sind die Approximationsfehler in (4.5) nicht zu groß, so kann man statt mit den Daten (4.3) nur mit dieser Funktion arbeiten, für die im Fall k \ll n erheblich weniger Information, nämlich nur der Vektor x, abgespeichert werden muss. Weil z(x, \cdot) eine stetige Funktion ist, erlaubt ein solches Vorgehen außerdem, Werte y zu Werten bzw. „Zeiten“ t zu berechnen, für die keine Messung vorliegt.

Die Ansatzfunktionen hat man so zu wählen, dass sie den gemessenen Prozess möglichst gut beschreiben. Häufig, insbesondere dann, wenn man wenig über den gegebenen Prozess weiß, verwendet man die Monome

(4.6) v_i(t) := t^{i-1} \quad (i = 1, \ldots, k)

so dass

z(x, t) := x_1 + x_2t + \ldots + x_kt^{k-1}, \quad t \in \R

ein Polynom vom Grad \le k - 1 ist (Polynomapproximation). Wenn es sich um einen periodischen Prozess handelt, ist es aber beispielsweise günstiger, die k: = 2p + 1 Funktionen

(4.7) 1, \quad \sin(t), \quad \cos(t), \quad \sin(2t), \quad \cos(2t), \quad \ldots, \quad \sin(pt), \quad cos(pt)

als Ansatzfunktionen zu wählen (trigonometrische Approximation), weil man dann im Allgemeinen bei gleicher Anzahl von Funktionen kleinere Fehler erhält. Andere Systeme von Ansatzfunktionen können ebenfalls vernünftig sein.

Nun ist es nicht sinnvoll, x so zu wählen, dass die Summe aller Fehler

y_j - z(x, t_j), \quad j = 1, \ldots, n

möglichst klein wird, da diese Summe auch bei großen Einzelfehlern sehr klein werden kann, nämlich dann, wenn sich die positiven und negativen Fehler (nahezu) aufheben. Die Größe des Fehlervektors (y_j - z(x, t_j))_{j = 1, \ldots, n} misst man daher mit einer lp-Norm im \R^n. Insbesondere führt dann die Verwendung der quadrierten l2- bzw. Euklidischen Norm (siehe den Kommentar zu (4.1) und (4.2)) auf die für alle x \in \R^k differenzierbare Funktion

\tilde F(x) := \sum^n_{j=1} (y_j - z(x, t_j))^2.

Mit den Setzungen

(4.8) b := \begin{pmatrix} y_1 \\ \vdots \\ y_j \\ \vdots \\ y_n \end{pmatrix}, \quad A := \begin{pmatrix} v_1(t_1) & \ldots & v_k(t_1) \\ \vdots & & \vdots \\ v_1(t_j) & \ldots & v_k(t_j) \\ \vdots & & \vdots \\ v_1(t_n) & \ldots & v_k(t_n) \end{pmatrix}

kann diese geschrieben werden als

\tilde F(x) := \sum^n_{j=1} (y_j - z(x, t_j))^2 = \sum^n_{j=1} (b_j - (Ax)_j)^2 = \|b - Ax\|^2_2.

Das beschriebene Problem der Ausgleichsrechnung ist also von der Form (4.2), wobei A und b durch (4.8) gegeben sind.

Wir betrachten nun allgemein das Problem (4.2). Die zu minimierende Funktion

F(x) := \|b - Ax\|^2_2

können wir wegen

F(x) = (bAx)T(bAx) = bTb − (Ax)TbbTAx + (Ax)TAx

als quadratische Funktion in k Veränderlichen

(4.9) F(x) = \frac 12 x^T (2A^TA)x - (2A^T b)^T x + b^T b

schreiben. Für die darin vorkommende Matrix ATA kann man aussagen:

[Bearbeiten] Lemma 4.1

Sei A \in \R^{n\times k} mit n \ge k und \operatorname{Rang}(A) = k. Dann ist die Matrix A^TA \in \R^{k\times k} positiv definit.

[Bearbeiten] Beweis.

Die Matrix ATA ist wegen (ATA)T = ATA symmetrisch. Weiter ist sie positiv semidefinit, d. h. es gilt

h^T (A^TA)h = (Ah)^T (Ah) = \|Ah\|^2_2 \ge 0, \quad h \in \R^k.

Wegen \operatorname{Rang}(A) = k sind die k Spalten a^1, \ldots, a^k von A linear unabhängig (Zeilenrang = Spaltenrang) und daher hat man

h^T (A^TA)h = 0 \Leftrightarrow \|Ah\|_2 = 0 \Leftrightarrow Ah = 0 \Leftrightarrow h = 0.

q.e.d.

Im Fall der Ausgleichsrechnung mit den Ansatzfunktionen (4.6) und (4.7) ist die Rangbedingung in Lemma 4.1 unter unserer Voraussetzung n \ge k immer erfüllt, wie das folgende Lemma besagt.

[Bearbeiten] Lemma 4.2

Für die mit den Ansatzfunktionen (4.6) oder (4.7) gebildete Matrix A \in \R^{n\times k} in (4.8) mit n \ge k gilt \operatorname{Rang}(A) = k.

[Bearbeiten] Beweis.

Für A in (4.8) und h := (h_1, \ldots, h_k)^T \in \R^k gilt:

Ah = 0 \Leftrightarrow \sum^k_{i=1} h_iv_i(t_j) = 0 \quad (j = 1, \ldots, n).

Wird A insbesondere durch (4.6) spezifiziert, so implizieren wegen n \ge k letztere Gleichungen die Identität h = 0, da ein von Null verschiedenes Polynom vom Grad \le k - 1 höchstens k − 1 Nullstellen besitzt. Für (4.7) schließt man analog mittels komplexer Darstellungen des Sinus und Kosinus (siehe z. B. Collatz/Krabs: Approximationstheorie, Teubner, Stuttgart, 1973).

q.e.d.

[Bearbeiten] 4.2 Lösung der Normalgleichungen

Wir betrachten nun die quadratische Funktion F: \R^k \to \R in (4.9), wobei wir \operatorname{Rang}(A) = k voraussetzen. Sie hat bei x den Gradienten und die Hessematrix

\nabla F(x) = 2A^TAx - 2A^T b, \quad \nabla^2 F(x) = 2A^T A.

Notwendige Bedingung dafür, dass x * Minimalpunkt von F ist, ist die Bedingung \nabla F(x^*) = 0 bzw. äquivalent dazu, dass x * die sog. Normalgleichungen

ATAx = ATb

erfüllt. Nach Lemma 4.1 ist dabei die (von x unabhängige) Matrix \nabla^2 F(x) positiv definit, so dass die eindeutige Lösung x * der Normalgleichungen auch der einzige (globale) Minimalpunkt von F ist. Wir können somit festhalten:

[Bearbeiten] Satz 4.3

Sei A \in \R^{n\times k} mit n \ge k und \operatorname{Rang}(A) = k. Dann besitzt das lineare Ausgleichsproblem
\min_{x\in \R^k} \|b - Ax\|_2
eine eindeutige Lösung x^* \in \R^k und diese ist eindeutige Lösung des linearen Gleichungssystems
(4.10) ATAx = ATb.

Wir betrachten dazu ein Beispiel der Ausgleichsrechnung.

[Bearbeiten] Beispiel 4.4

Wir betrachten den Fall der sog. Ausgleichsgeraden. Wenn die yj (j = 1, \ldots, n) mit n \ge 2 in (4.3) ungefähr auf einer Geraden liegen, macht es Sinn,

v_1(t) := 1, \quad v_2(t) := t

d. h. die Ansatzfunktionen (4.6) mit k = 2 zu wählen und somit

z(x, t) := x_1 + x_2t, \quad t \in \R

zu setzen. Mit

e := (1, 1, \ldots, 1)^T \in \R^n, \quad d := (t_1, t_2, \ldots, t_n)^T \in \R^n

hat A \in \R^{n\times 2} in diesem Fall die Gestalt A = \begin{pmatrix} e & d \end{pmatrix}. Weiter ist dann

A^TA = \begin{pmatrix} e^T \\ d^T \end{pmatrix} \begin{pmatrix} e & d \end{pmatrix} = \begin{pmatrix} e^Te & e^Td \\ e^Td & d^Td \end{pmatrix}, \quad A^T b = \begin{pmatrix} e^Tb \\ d^Tb \end{pmatrix}.

Für eine symmetrische invertierbare Matrix B \in \R^{2\times 2} kann man die Inverse explizit angeben:

B^{-1} = \begin{pmatrix} b_{11} & b_{12} \\ b_{12} & b_{22} \end{pmatrix}^{-1} = \frac 1{b_{11}b_{22} - b^2_{12}} \begin{pmatrix} b_{22} & -b_{12} \\ -b_{12} & b_{11} \end{pmatrix}.

Somit lautet die Lösung der Normalgleichungen (4.10) in diesem Fall

x^* := \left( A^TA \right)^{-1} A^T b = \frac 1{(e^T e) (d^T d) - (e^T d)^2} \begin{pmatrix} d^T d & -e^T d \\ -e^T d & e^T e \end{pmatrix} \begin{pmatrix} e^Tb \\ d^Tb \end{pmatrix}

und demzufolge

(4.11) x^* = \frac 1{(e^T e) (d^T d) - (e^T d)^2} \begin{pmatrix} \left( d^T d \right) \left( e^T b \right) - \left( e^T d \right) \left( e^T b \right) \\ (e^T e) (d^T b) - (e^T d) (e^T b) \end{pmatrix}.

Dabei hat man

(4.12) e^T e = n, \quad e^T d = \sum^n_{j=1} t_j, \quad e^T b = \sum^n_{j=1} y_j, \quad d^T d = \sum^n_{j=1} t^2_j, \quad d^T b = \sum^n_{j=1} t_jy_j.

Beispielsweise für die n = 8 Wertepaare

\begin{array}{|l||c|c|c|c|c|c|c|c|} \hline t_j & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 \\ \hline y_j & 1.75 & 2.18 & 2.63 & 3.24 & 3.69 & 4.16 & 4.55 & 5.29 \\ \hline \end{array}

errechnet man

\sum^8_{j=1} t_j = 36, \quad \sum^8_{j=1} y_j = 27.49, \quad \sum^8_{j=1} t^2_j = 204, \quad \sum^8_{j=1} t_jy_j = 144.54.

Mit (4.11) und (4.12) ergibt sich somit

x^* = \frac 1{8 \cdot 204 - 36^2} \begin{pmatrix} 204 \cdot 27.49 - 36 \cdot 144.54 \\ 8 \cdot 144.54 - 36 \cdot 27.49 \end{pmatrix} = \begin{pmatrix} 1.203\ 929 \\ 0.496\ 071 \end{pmatrix}.

Die Ausgleichsgerade zu den gegebenen Daten lautet folglich

z(x^*, t) := 1.203\ 929 + 0.496\ 071 t, \quad t \in \R.

Der maximale relative Fehler der z(x * ,tj) bezüglich der yj beträgt

\max_{1\le j\le 8} \frac{|y_j - z(x^*, t_j)|}{|z(x^*, t_j)|} = 0.016\ 243

bzw. ungefähr 1.6%.


Für k > 2 könnte man die Normalgleichungen (4.10) mittels einer Cholesky-Zerlegung lösen. Diese selbst ist, wie man zeigen kann, numerisch stabil. Leider ist das Ausgleichproblem selbst aber häufig schlecht konditioniert. Man betrachte z. B. die Matrix A, die sog. Vandermonde-Matrix, die man für n = k im Fall der Wahl der Monome (4.6) als Ansatzfunktionen erhält:

A := \begin{pmatrix} 1 & t_1 & \ldots & t^{k-1}_1 \\ 1 & t_2 & \ldots & t^{k-1}_2 \\ \vdots & \vdots & \ddots & \vdots \\ 1 & t_k & \ldots & t^{k-1}_k \end{pmatrix}.

Für t \in [0, 1] unterscheiden sich die Funktionen tr − 1 und tr bereits für nicht allzu großes r kaum, so dass die r-te und (r + 1)-te Spalten in A für solche r nahezu linear abhängig sind. Die oft große Kondition von A geht außerdem noch im Fall n = k bei der Lösung der Normalgleichungen quadratisch ein, denn es gilt:

[Bearbeiten] Lemma 4.5

Für eine reguläre Matrix A \in \R^{k\times k} gilt
\operatorname{cond}_2(A^TA) = [\operatorname{cond}_2(A)]^2.

[Bearbeiten] Beweis.

Nach Satz 3.19 hat eine positiv definite Matrix B \in \R^{k\times k} Eigenwerte λi: = λi(B) > 0 (i = 1, \ldots, k). Weiter hat wegen

Bx^i = \lambda_ix^i \Leftrightarrow B^{-1}x^i = [\lambda_i]^{-1} x^i

für Eigenvektoren xi zu λi die Inverse B − 1, die somit auch positiv definit ist, die Eigenwerte i] − 1 (i = 1, \ldots, k). Es gilt folglich nach Satz 2.15

\operatorname{cond}_2(B) = \|B\|_2 \left\| B^{-1} \right\|_2 = \lambda_\max/\lambda_\min,

wobei λmax: = λmax(B) und λmin: = λmin(B) einen größten und kleinsten Eigenwert von B bezeichnen. Indem man x mittels einer Orthonormalbasis von Eigenvektoren darstellt, kann man ferner die Abschätzungen

\lambda_\min \|x\|^2_2 \le x^TBx \le \lambda_\max \|x\|^2_2, \quad x \in \R^k

beweisen, wobei offenbar Gleichheit in der ersten bzw. zweiten Ungleichung für einen zu λmin bzw. λmax gehörenden Eigenvektor angenommen wird. Folglich schließt man

\lambda_\min = \min_{\|x\|_2=1} x^TBx, \quad \lambda_\max = \max_{\|x\|_2=1} x^TBx.

Wendet man diese Ergebnisse auf die nach Lemma 4.1 positiv definite Matrix A^TA \in \R^{k\times k} an, so erhält man mit Satz 2.19

\operatorname{cond}_2(A^TA) = \frac{\lambda_\max(A^TA)}{\lambda_\min(A^TA)} = \frac{\max\limits_{\|x\|_2=1} x^T (A^TA)x}{\min\limits_{\|x\|_2=1} x^T (A^TA)x} = \frac{\max\limits_{\|x\|_2=1} \|Ax\|^2_2}{\min\limits_{\|x\|_2=1} \|Ax\|^2_2} = [\operatorname{cond}_2(A)]^2.

q.e.d.

Es ist daher große Vorsicht bei Anwendung der Cholesky-Zerlegung für die Lösung der Normalgleichungen geboten. Prinzipiell ist sie nur zu empfehlen, wenn große Residuen bi − (Ax)i (i = 1, \ldots, n) in der Lösung des Ausgleichsproblems zu erwarten sind (s. Deuflhard/Hohmann). Sicherer ist es aber, so vorzugehen, wie es im folgenden Abschnitt beschrieben ist.

[Bearbeiten] 4.3 Lösung mittels QS-Zerlegung

Für eine QS-Zerlegung stellen wir zunächst fest:

[Bearbeiten] Lemma 4.6

Sei A \in \R^{n\times k} mit n \ge k und \operatorname{Rang}(A) = k gegeben und A = QS eine Zerlegung von A, wobei Q \in \R^{n\times n} eine orthogonale und S \in \R^{n\times k} eine Matrix der folgenden Gestalt ist (vgl. (3.39)):
(4.13) S = \begin{pmatrix} R \\ \mathbf 0 \end{pmatrix}, \quad R := \begin{pmatrix} * & \ldots & * \\ & \ddots & \vdots \\ & & * \end{pmatrix} \in \R^{n\times k}, \quad \mathbf 0 := (0) \in \R^{(n-k)\times k}
Dann gilt:
(i) \det(R) \neq 0,
(ii) \operatorname{cond}_2(A^TA) = [\operatorname{cond}_2(R)]^2.

[Bearbeiten] Beweis.

Da Q eine orthogonale Matrix ist, gilt

A^TA = S^TQ^TQS = S^TS = \begin{pmatrix} R^T & \mathbf 0 \end{pmatrix} \begin{pmatrix} R \\ \mathbf 0 \end{pmatrix} = R^TR.

Wegen \operatorname{Rang}(A) = k ist nach Lemma 4.1 insbesondere

0 \neq \det(A^TA) = \det(R^TR) = [\det(R)]^2

also (i) richtig. Weiter hat man

\operatorname{cond}_2(A^TA) = \operatorname{cond}_2(R^TR).

Wendet man nun Lemma 4.5 auf die nach Lemma 4.1 positiv definite Matrix RTR an, so gelangt man zu (ii).

q.e.d.

Der folgende Satz gibt an, wie Fehlerquadratprobleme mittels einer QS-Zerlegung von A gelöst werden können.

[Bearbeiten] Satz 4.7

Es seien A \in \R^{n\times k} mit n \ge k und \operatorname{Rang}(A) = k, eine orthogonale Matrix Q \in \R^{n\times n} und S \in \R^{n\times k} gegeben wie in Lemma 4.6. Weiter sei der Vektor Q^T b \in \R^n dargestellt in der Form
Q^T b = \begin{pmatrix} y^1 \\ y^2 \end{pmatrix} \in \R^n, \quad y^1 \in \R^k, \quad y^2 \in \R^{n-k}.
Dann ist der Vektor x^* \in \R^k genau dann die eindeutige Lösung des linearen Ausgleichsproblems
\min_{x\in \R^k} \|b - Ax\|_2,
wenn x * eindeutige die Lösung des Systems
Rx = y1
ist. Außerdem hat man
\|b - Ax^*\|_2 = \left\|y^2\right\|_2.

[Bearbeiten] Beweis.

Für einen beliebigen Vektor x \in \R^k erhalten wir unter Verwendung von (3.38) und Lemma 3.23

\|b - Ax^*\|_2^2 = \left\| (QQ^T)b - QSx \right\|_2^2 = \left\| Q^T b - Sx \right\|_2^2 = \left\| \begin{pmatrix} y^1 \\ y^2 \end{pmatrix} - \begin{pmatrix} R \\ \mathbf 0 \end{pmatrix} x \right\|_2^2 = \left\| y^1 - Rx \right\|_2^2 + \left\| y^2 \right\|_2^2.

Daraus folgt

\|b - Ax\|_2 \ge \left\| y^2 \right\|_2

sowie

\|b - Ax\|_2 = \left\| y^2 \right\|_2 \Leftrightarrow \left\| y^1 - Rx \right\|_2 = 0 \Leftrightarrow Rx = y^1.

Damit ist alles gezeigt.

q.e.d.

Nach Satz 4.3 und Lemma 4.6 besitzen das l2-Approximationsproblem sowie das System Rx = y1 eine eindeutige Lösung. Wir geben zum letzten Satz ein Beispiel.

[Bearbeiten] Beispiel 4.8

Wir betrachten das Fehlerquadratproblem mit den Daten

A := \begin{pmatrix} 1 & 0 \\ 1 & 3 \\ 1 & 4 \\ 1 & 7 \end{pmatrix}, \quad b := \begin{pmatrix} 1 \\ 2 \\ 6 \\ 4 \end{pmatrix}.

Nach Beispiel 3.32 liefert eine QS-Zerlegung von A mit gleichzeitiger Berechnung von QTb

R := \begin{pmatrix} -2 & -7 \\ 0 & -5 \end{pmatrix}, \quad y^1 := \begin{pmatrix} -13/2 \\ -5/2 \end{pmatrix}, \quad y^2 := \begin{pmatrix} 99/34 \\ -5/34 \end{pmatrix}.

Die Lösung von Rx = y1 bzw.

\begin{pmatrix} -2 & -7 \\ 0 & -5 \end{pmatrix} \begin{pmatrix} x_1 \\ x_2 \end{pmatrix} = \begin{pmatrix} -13/2 \\ -5/2 \end{pmatrix}

lautet

x^* = (x^*_1, x^*_2)^T := (3/2, 1/2)^T.

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

\|b - Ax^*\|_2 = \left\| y^2 \right\|_2 = \left\| \begin{pmatrix} 99/34 \\ -5/34 \end{pmatrix} \right\|_2 = \frac{\sqrt{9826}}{34} = \frac{17\sqrt{34}}{34} = \frac 12 \sqrt{34} \approx 2.915.

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 Satz 4.7 dargestellten Weg, vergleichen. 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 k2 / 2 Multiplikationen und Divisionen erfordert, vernachlässigen wir hier diesen zusätzlichen Aufwand bei der Cholesky-Zerlegung.) Im Fall der Lösung der Normalgleichungen benötigt man ferner zur Berechnung der symmetrischen Matrix ATA etwa \frac 12 nk^2 und für die Cholesky-Zerlegung etwa \frac 16 k^3 wesentliche Rechenoperationen. Daneben erfordert die Berechnung des Residuenvektors bAx weitere nk Multiplikationen, so dass die zuletzt genannten Teilaufgaben zusammen ungefähr

\frac 12 nk^2 + \frac 16 k^3 + nk

wesentliche Rechenoperationen erfordern, das sind

(4.14) \sim \frac 12 nk^2 für n \gg k und \sim \frac 23 n^3 für n \approx k.

Für das sich aus Satz 4.7 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. Wie ein Vergleich von (3.55) und (4.14) liefert, müssen demnach für beide Wege im Fall n \approx k etwa gleich viele wesentliche Rechenoperationen durchgeführt werden, während der Weg über die QS-Zerlegung für n \gg k etwa doppelt so viele wesentliche Rechenoperationen erfordert wie der über die Normalgleichungen. Letzterem Nachteil der QS-Zerlegung steht jedoch entgegen, dass bei ihr nach Lemma 4.6 die Konditionszahl \kappa := \left[ \operatorname{cond}_2 \left( A^TA \right) \right]^{1/2} bzw. für quadratisches A (vgl. Satz 4.5) die Zahl \kappa := \operatorname{cond}_2(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:

[Bearbeiten] Beispiel 4.9

Es sei n: = 6,k: = 5 und A \in \R^{6\times 5} mit einem \varepsilon > 0 gegeben durch

A := \begin{pmatrix} 1 & 1 & 1 & 1 & 1 \\ \varepsilon  &  &  &  &  \\ & \varepsilon  &  &  &  \\ &  & \varepsilon  &  &  \\ &  &  & \varepsilon  &  \\ &  &  &  & \varepsilon \end{pmatrix}.

Damit ergibt sich

A^TA = \begin{pmatrix} 1 + \varepsilon^2 & 1 & 1 & 1 & 1 \\ 1 & 1 + \varepsilon^2 & 1 & 1 & 1 \\ 1 & 1 & 1 + \varepsilon^2 & 1 & 1 \\ 1 & 1 & 1 & 1 + \varepsilon^2 & 1 \\ 1 & 1 & 1 & 1 & 1 + \varepsilon^2 \end{pmatrix}.

Es seien nun b: = 10 und r: = 10 die Basis und Mantissenlänge des verwendeten Computers, so dass eps = 5 \cdot 10^{-10} die zugehörige Maschinengenauigkeit ist. Weiter sei \varepsilon := .5_{10} - 5 und damit \varepsilon^2 = .25_{10} - 10. Dann erhält man

gl(1 + \varepsilon^2) = 1, \quad gl(A^TA) = (a_{ij}) mit aij: = 1 (i, j = 1, \ldots, 5).

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

\operatorname{cond}_2(ATA) = \frac{5 + \varepsilon^2}{\varepsilon^2} \approx 2_{10} + 11,
\left[ \operatorname{cond}_2(A^TA) \right]^{1/2} = \left[ \frac{5 + \varepsilon^2}{\varepsilon^2} \right]^{1/2} \approx 4.5_{10} + 5.
Persönliche Werkzeuge