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
Bearbeiten
In diesem Abschnitt soll für eine gegebene Matrix
A
∈
R
n
×
k
{\displaystyle A\in \mathbb {R} ^{n\times k}}
mit
1
≤
k
≤
n
{\displaystyle 1\leq k\leq n}
eine Zerlegung der Form
A
=
Q
S
{\displaystyle A=QS}
bestimmt werden, wobei
Q
∈
R
n
×
n
{\displaystyle Q\in \mathbb {R} ^{n\times n}}
eine orthogonale Matrix ist und
S
∈
R
n
×
n
{\displaystyle S\in \mathbb {R} ^{n\times n}}
eine um Nullzeilen ergänzte obere Dreiecksmatrix ist,
Eine orthogonole eine reguläre (invertierbare) Matrix mit der Eigenschaft
Q
−
1
=
Q
T
{\displaystyle Q^{-1}=Q^{T}}
Wenn man nun das Matrixprodukt
Q
−
1
⋅
Q
=
Q
T
⋅
Q
=
E
n
{\displaystyle Q^{-1}\cdot Q=Q^{T}\cdot Q=E_{n}}
berechnet, dann bilden die Spaltenvektoren
(
q
1
,
…
,
q
n
)
{\displaystyle (q_{1},\ldots ,q_{n})}
Orthonormalbasis vom
R
n
{\displaystyle \mathbb {R} ^{n}}
mit:
Q
T
⋅
Q
=
(
⟨
q
1
,
q
1
⟩
⟨
q
1
,
q
2
⟩
⋯
⟨
q
1
,
q
n
⟩
⟨
q
2
,
q
1
⟩
⟨
q
2
,
q
2
⟩
⋯
⟨
q
2
,
q
n
⟩
⋮
⋱
⋯
⋮
⟨
q
n
,
q
1
⟩
⟨
q
n
,
q
2
⟩
⋯
⟨
q
n
,
q
n
⟩
)
{\displaystyle Q^{T}\cdot Q={\begin{pmatrix}\langle q_{1},q_{1}\rangle &\langle q_{1},q_{2}\rangle &\cdots &\langle q_{1},q_{n}\rangle \\\langle q_{2},q_{1}\rangle &\langle q_{2},q_{2}\rangle &\cdots &\langle q_{2},q_{n}\rangle \\\vdots &\ddots &\cdots &\vdots \\\langle q_{n},q_{1}\rangle &\langle q_{n},q_{2}\rangle &\cdots &\langle q_{n},q_{n}\rangle \\\end{pmatrix}}}
.
Orthonormal Vektoren und Einheitsmatrix
Bearbeiten
Die Orthogonalität der Spaltenvektoren
(
q
1
,
…
,
q
n
)
{\displaystyle (q_{1},\ldots ,q_{n})}
führt zu der Eigenschaft
⟨
q
j
,
q
k
⟩
=
0
{\displaystyle \langle q_{j},q_{k}\rangle =0}
für
j
≠
k
{\displaystyle j\not =k}
.
Die Normalisierung der Basisvektoren
q
k
∈
R
n
{\displaystyle q_{k}\in \mathbb {R} ^{n}}
führt zu der Eigenschaft
‖
q
k
‖
=
1
{\displaystyle \|q_{k}\|=1}
und damit auch
‖
q
k
‖
2
=
⟨
q
k
,
q
k
⟩
=
1
{\displaystyle \|q_{k}\|^{2}=\langle q_{k},q_{k}\rangle =1}
, was den Diagonalelementen der Matrix
Q
T
⋅
Q
=
E
n
{\displaystyle Q^{T}\cdot Q=E_{n}}
entspricht.
Um Nullzeilen ergänzte obere Dreieckmatrix
Bearbeiten
In der Zerlegung
A
=
Q
S
{\displaystyle A=QS}
ist
S
{\displaystyle S}
mit einer oberen Dreiecksmatrix
R
{\displaystyle R}
, die wie folgt mit Nullzeilen ergänzt wird:
S
=
(
R
0
)
∈
R
n
×
k
,
R
:=
(
∗
.
.
.
∗
⋱
⋮
0
∗
)
∈
R
k
×
k
,
0
:=
(
0
)
∈
R
(
n
−
k
)
×
k
.
{\displaystyle S={\begin{pmatrix}R\\\mathbf {0} \end{pmatrix}}\in \mathbb {R} ^{n\times k},\quad R:={\begin{pmatrix}\ast &...&*\\&\ddots &\vdots \\0&&*\end{pmatrix}}\in \mathbb {R} ^{k\times k},\quad \mathbf {0} :=(0)\in \mathbb {R} ^{(n-k)\times k}.}
Im Fall
n
=
k
{\displaystyle n=k}
ist demnach insbesondere
S
=
R
{\displaystyle S=R}
.
Wie wir zeigen wollen, ermöglicht eine solche QR - bzw. QS -Zerlegung von
A
{\displaystyle A}
sowohl die stabile Lösung linearer Gleichungssysteme
A
x
=
b
{\displaystyle Ax=b}
als auch die stabile Lösung von Ausgleichsproblemen
min
x
∈
R
k
‖
b
−
A
x
‖
2
.
{\displaystyle \min _{x\in \mathbb {R} ^{k}}\|b-Ax\|_{2}.}
Dafür benötigen wir einige Eigenschaften orthogonaler Matrizen.
Elementare Eigenschaften orthogonaler Matrizen
Bearbeiten
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
Bearbeiten
Sei
Q
∈
R
n
×
n
{\displaystyle Q\in \mathbb {R} ^{n\times n}}
eine orthogonale Matrix. Dann ist auch
Q
T
{\displaystyle Q^{T}}
eine orthogonale Matrix und es gilt
‖
Q
x
‖
2
=
‖
x
‖
2
=
‖
Q
T
x
‖
2
,
x
∈
R
n
.
{\displaystyle \|Qx\|_{2}=\|x\|_{2}=\left\|Q^{T}x\right\|_{2},\quad x\in \mathbb {R} ^{n}.}
Eine orthogonal Matrix kann man als Abbildung von
R
n
{\displaystyle \mathbb {R} ^{n}}
nach
R
n
{\displaystyle \mathbb {R} ^{n}}
auffassen.
Eine orthogonal Matrix verändert dabei die Länge des Vektors nicht in der Euklidischen Norm
‖
⋅
‖
2
{\displaystyle \|\cdot \|_{2}}
. Der Begriff der Isometrie ist dabei allgemein für metrische Räumen definiert. Ein zentrische Streckung
Z
λ
{\displaystyle Z_{\lambda }}
mit einem Streckungsfaktor
λ
∉
{
+
1
,
−
1
}
{\displaystyle \lambda \notin \{+1,-1\}}
ist z.B. keine Isometrie, da unter der Abbildung der Bildvektor
Z
λ
(
x
)
{\displaystyle Z_{\lambda }(x)}
die
|
λ
|
{\displaystyle |\lambda |}
-fache Länge von
x
{\displaystyle x}
besitzt.
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
⟩
=
x
T
⋅
y
{\displaystyle \langle x,y\rangle =x^{T}\cdot y}
, wobei
x
,
y
∈
R
n
×
1
{\displaystyle x,y\in \mathbb {R} ^{n\times 1}}
als Spaltenvektoren aufgefasst werden und
x
T
⋅
y
{\displaystyle x^{T}\cdot y}
als Matrizenprodukt einer
1
×
n
{\displaystyle 1\times n}
-Matrix
x
T
{\displaystyle x^{T}}
und einer
n
×
1
{\displaystyle n\times 1}
-Matrix
y
{\displaystyle y}
ist.
Beweis 1 - inverse Matrix - orthogonale Matrix
Bearbeiten
Wegen
(
Q
T
)
−
1
=
(
Q
−
1
)
−
1
=
Q
=
(
Q
T
)
T
{\displaystyle (Q^{T})^{-1}=(Q^{-1})^{-1}=Q=(Q^{T})^{T}}
ist auch
Q
T
{\displaystyle Q^{T}}
eine orthogonale Matrix.
Des Weiteren hat man für
Q
{\displaystyle Q}
‖
Q
x
‖
2
2
=
(
Q
x
)
T
Q
x
=
x
T
Q
T
Q
x
=
x
T
Q
−
1
Q
x
=
x
T
x
=
‖
x
‖
2
2
{\displaystyle \|Qx\|_{2}^{2}=(Qx)^{T}Qx=x^{T}Q^{T}Qx=x^{T}Q^{-1}Qx=x^{T}x=\|x\|_{2}^{2}}
und somit auch
‖
Q
T
x
‖
2
=
‖
x
‖
2
{\displaystyle \left\|Q^{T}x\right\|_{2}=\|x\|_{2}}
für die orthogonale Matrix
Q
T
{\displaystyle Q^{T}}
.
q.e.d.
Die Eigenschaft der Längentreue der durch
Q
{\displaystyle Q}
und
Q
T
{\displaystyle Q^{T}}
definierten linearen Abbildungen bezeichnet man auch als isometrisch bezüglich der Euklidischen Norm, bzw. als Isometrie.
Lemma - Euklidische Norm und Determinante orthogonaler Matrizen
Bearbeiten
Für die Operatornorm
‖
⋅
‖
2
:
R
n
×
n
→
R
0
+
{\displaystyle \|\cdot \|_{2}:\mathbb {R} ^{n\times n}\to \mathbb {R} _{0}^{+}}
einer linearen Abbildung und für die Determinante orthogonaler Matrizen gilt:
(i)
‖
Q
‖
2
=
‖
Q
T
‖
2
=
1
{\displaystyle \|Q\|_{2}=\left\|Q^{T}\right\|_{2}=1}
,
(ii)
|
det
(
Q
)
|
=
|
det
(
Q
T
)
|
=
1
{\displaystyle |\det(Q)|=\left|\det(Q^{T})\right|=1}
.
Beweis - Euklidische Norm und Determinante orthogonaler Matrizen
Bearbeiten
Der Beweis gliedert sich in zwei Teilaussagen
(i) zur Operatornorm für lineare Abbildung und
(ii) zur Determinate von orthogonalen Matrizen.
Wenn man das Lemma Längeninvarianz bzw. Isometrie für orthogonale Matrizen auf
Q
{\displaystyle Q}
und
Q
T
{\displaystyle Q^{T}}
anwendet, erhält man die Aussage (i) über die Definition der Operatornorm mit:
‖
Q
‖
2
:=
max
‖
x
‖
2
=
1
‖
Q
x
‖
2
=
I
s
o
m
e
t
r
i
e
Q
max
‖
x
‖
2
=
1
‖
x
‖
2
⏟
=
1
=
I
s
o
m
e
t
r
i
e
Q
T
max
‖
x
‖
2
=
1
‖
Q
T
x
‖
2
=
1
{\displaystyle {\begin{array}{rcl}\|Q\|_{2}&:=&\max _{\|x\|_{2}=1}\|Qx\|_{2}\\&{\stackrel {Isometrie\,Q}{=}}&\max _{\|x\|_{2}=1}\underbrace {\|x\|_{2}} _{=1}\\&{\stackrel {Isometrie\,Q^{T}}{=}}&\max _{\|x\|_{2}=1}\left\|Q^{T}x\right\|_{2}=1\\\end{array}}}
Mit der Einheitsmatrix
E
n
∈
R
n
×
n
{\displaystyle E_{n}\in \mathbb {R} ^{n\times n}}
und der Multiplikativität der Determinanten
det
(
A
⋅
B
)
=
det
(
A
)
⋅
det
(
B
)
{\displaystyle \det(A\cdot B)=\det(A)\cdot \det(B)}
folgt die Aussage (ii) über die Eigenschaft, dass die transponierte Matrix
Q
T
{\displaystyle Q^{T}}
multiplikativ invers zu der Matrix
Q
{\displaystyle Q}
ist.
1
=
det
(
E
n
)
=
det
(
Q
⋅
Q
T
)
=
det
(
Q
)
⋅
det
(
Q
T
)
=
[
det
(
Q
)
]
2
=
[
det
(
Q
T
)
]
2
.
{\displaystyle {\begin{array}{rcl}1&=&\det(E_{n})=\det(Q\cdot Q^{T})=\det(Q)\cdot \det(Q^{T})\\&=&[\det(Q)]^{2}=\left[\det(Q^{T})\right]^{2}.\\\end{array}}}
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
Bearbeiten
Seien
A
∈
R
n
×
n
{\displaystyle A\in \mathbb {R} ^{n\times n}}
eine reguläre und
Q
∈
R
n
×
n
{\displaystyle Q\in \mathbb {R} ^{n\times n}}
eine orthogonale Matrix. Dann gilt für die Konditionszahl
cond
2
(
Q
A
)
=
cond
2
(
A
)
.
{\displaystyle \operatorname {cond} _{2}(QA)=\operatorname {cond} _{2}(A).}
Der Beweis gliedert sich in die folgenden Teile:
Verwendung der Längeninvarianz/Isometrie für orthogonale Abbildungen
Beweis 1 - Längeninvarianz orthogonaler Abbildungen
Bearbeiten
Nach Lemma zur Längeninvarianz/Isometrie für orthogonale Abbildungen gilt
‖
Q
y
‖
2
=
‖
A
y
‖
2
{\displaystyle \|Qy\|_{2}=\|Ay\|_{2}}
für alle
y
∈
R
n
{\displaystyle y\in \mathbb {R} ^{n}}
. Mit
y
:=
A
x
∈
R
n
{\displaystyle y:=Ax\in \mathbb {R} ^{n}}
erhält man
‖
(
Q
⋅
A
)
⋅
x
‖
2
=
‖
Q
⋅
(
A
⋅
x
)
‖
2
=
‖
A
x
‖
2
{\displaystyle \|(Q\cdot A)\cdot x\|_{2}=\|Q\cdot (A\cdot x)\|_{2}=\|Ax\|_{2}}
für
x
∈
R
n
{\displaystyle x\in \mathbb {R} ^{n}}
und somit
Beweis 2 - Längeninvarianz orthogonaler Abbildungen
Bearbeiten
‖
A
‖
2
=
max
‖
x
‖
2
=
1
‖
A
x
‖
2
=
max
‖
x
‖
2
=
1
‖
Q
A
x
‖
2
=
‖
Q
A
‖
2
.
{\displaystyle \|A\|_{2}=\max _{\|x\|_{2}=1}\|Ax\|_{2}=\max _{\|x\|_{2}=1}\|QAx\|2=\|QA\|_{2}.}
Weiter gilt mit Lemma 3.24 (i)
‖
A
−
1
‖
2
=
‖
A
−
1
Q
T
Q
‖
2
≤
‖
A
−
1
Q
T
‖
2
‖
Q
‖
2
=
‖
A
−
1
Q
T
‖
2
≤
‖
A
−
1
‖
2
‖
Q
T
‖
2
=
‖
A
−
1
‖
2
{\displaystyle \left\|A^{-1}\right\|_{2}=\left\|A^{-1}Q^{T}Q\right\|_{2}\leq \left\|A^{-1}Q^{T}\right\|_{2}\|Q\|_{2}=\left\|A^{-1}Q^{T}\right\|_{2}\leq \left\|A^{-1}\right\|_{2}\left\|Q^{T}\right\|_{2}=\left\|A^{-1}\right\|_{2}}
und folglich
‖
A
−
1
‖
2
=
‖
A
−
1
Q
T
‖
2
{\displaystyle \|A^{-1}\|_{2}=\left\|A^{-1}Q^{T}\right\|_{2}}
. Damit ergibt sich
cond
2
(
Q
A
)
=
‖
Q
A
‖
2
‖
A
−
1
Q
−
1
‖
2
=
‖
Q
A
‖
2
‖
A
−
1
Q
T
‖
2
=
‖
A
‖
2
‖
A
−
1
‖
2
=
cond
2
(
A
)
.
{\displaystyle \operatorname {cond} _{2}(QA)=\|QA\|_{2}\left\|A^{-1}Q^{-1}\right\|_{2}=\|QA\|_{2}\left\|A^{-1}Q^{T}\right\|_{2}=\|A\|_{2}\left\|A^{-1}\right\|_{2}=\operatorname {cond} _{2}(A).}
q.e.d.
Multiplikation einer quadratischen Matrix
A
{\displaystyle A}
von links mit einer orthogonalen Matrix führt also auf eine Matrix mit derselben Kondition wie
A
{\displaystyle A}
. Weiter gilt:
Seien
Q
1
,
Q
2
∈
R
n
×
n
{\displaystyle Q_{1},Q_{2}\in \mathbb {R} ^{n\times n}}
orthogonale Matrizen. Dann ist auch
Q
1
Q
2
{\displaystyle Q_{1}Q_{2}}
eine orthogonale Matrix.
Die Aussage des Lemma folgt aus
(
Q
1
Q
2
)
−
1
=
Q
2
−
1
Q
1
−
1
=
Q
2
T
Q
1
T
=
(
Q
1
Q
2
)
T
.
{\displaystyle (Q_{1}Q_{2})^{-1}=Q_{2}^{-1}Q_{1}^{-1}=Q_{2}^{T}Q_{1}^{T}=(Q_{1}Q_{2})^{T}.}
q.e.d.
3.4.2 Lösung linearer Gleichungssysteme mittels QR -Zerlegung
Bearbeiten
3.4.3 QR-Zerlegung mittels Gram-Schmidt-Orthogonalisierung
Bearbeiten
Es sei nun
A
∈
R
n
×
n
{\displaystyle A\in \mathbb {R} ^{n\times n}}
eine quadratische Matrix mit
det
(
A
)
≠
0
{\displaystyle \det(A)\neq 0}
und es seien eine orthogonale Matrix
Q
∈
R
n
×
n
{\displaystyle Q\in \mathbb {R} ^{n\times n}}
und eine obere Dreiecksmatrix
R
∈
R
n
×
n
{\displaystyle R\in \mathbb {R} ^{n\times n}}
gesucht, so dass
(3.41)
A
=
Q
R
{\displaystyle A=QR}
gilt. Schreiben wir
A
,
Q
{\displaystyle A,Q}
und
R
{\displaystyle R}
mit Vektoren
a
j
,
q
j
∈
R
n
{\displaystyle a^{j},q^{j}\in \mathbb {R} ^{n}}
in der Form
A
=
(
a
1
.
.
.
a
n
)
,
Q
=
(
q
1
.
.
.
q
n
)
,
R
=
(
r
11
.
.
.
r
1
n
⋱
⋮
r
n
n
)
,
{\displaystyle A={\begin{pmatrix}a^{1}&...&a^{n}\end{pmatrix}},\quad Q={\begin{pmatrix}q^{1}&...&q^{n}\end{pmatrix}},\quad R={\begin{pmatrix}r_{11}&...&r_{1n}\\&\ddots &\vdots \\&&r_{nn}\end{pmatrix}},}
so ist die Gleichung (3.41) offenbar äquivalent mit den Gleichungen
(3.42)
a
j
=
∑
i
=
1
j
r
i
j
q
i
,
j
=
1
,
.
.
.
,
n
,
{\displaystyle a^{j}=\sum _{i=1}^{j}r_{ij}q^{i},\quad j=1,...,n,}
wobei
r
i
j
=
0
{\displaystyle r_{ij}=0}
für
i
>
j
{\displaystyle i>j}
berücksichtigt wurde. Dabei sind die
a
j
{\displaystyle a^{j}}
(
j
=
1
,
.
.
.
,
n
)
{\displaystyle (j=1,...,n)}
linear unabhängig und die
q
j
{\displaystyle q^{j}}
(
j
=
1
,
.
.
.
,
n
)
{\displaystyle (j=1,...,n)}
wegen der Orthogonalität von
Q
{\displaystyle Q}
paarweise orthonormal und damit auch linear unabhängig. Die Gleichungen (3.42) implizieren somit für
1
≤
s
≤
n
{\displaystyle 1\leq s\leq n}
(3.43)
span
{
a
1
,
.
.
.
,
a
s
}
=
span
{
q
1
,
.
.
.
,
q
s
}
.
{\displaystyle \operatorname {span} \{a^{1},...,a^{s}\}=\operatorname {span} \{q^{1},...,q^{s}\}.}
Folglich suchen wir eine orthogonale Basis
{
q
1
,
.
.
.
,
q
n
}
{\displaystyle \{q^{1},...,q^{n}\}}
des
R
n
{\displaystyle \mathbb {R} ^{n}}
, für welche die Gleichungen (3.42) erfüllt sind. Wir wollen im Folgenden zeigen, dass man eine solche durch Orthogonalisierung der
a
j
{\displaystyle a^{j}}
(
j
=
1
,
.
.
.
,
n
)
{\displaystyle (j=1,...,n)}
mittels des aus der Linearen Algebra bekannten Gram-Schmidt-Orthonormierungsverfahrens erhält.
Sind
a
j
{\displaystyle a^{j}}
(
j
=
1
,
.
.
.
,
n
)
{\displaystyle (j=1,...,n)}
die gegebenen Spalten von
A
{\displaystyle A}
, welche nach Voraussetzung eines Basis des
R
n
{\displaystyle \mathbb {R} ^{n}}
bilden, so lautet für diese das Gram-Schmidt-Orthonormierungsverfahren, wobei wir die durch das Verfahren erzeugten Vektoren gleich mit
q
j
{\displaystyle q^{j}}
bezeichnen:
(3.44)
q
^
j
:=
a
j
−
∑
i
=
1
j
−
1
[
(
a
j
)
T
q
i
]
q
i
,
q
j
:=
q
^
j
‖
q
^
j
‖
2
,
j
=
1
,
2
,
.
.
.
,
n
.
{\displaystyle {\hat {q}}^{j}:=aj-\sum _{i=1}^{j-1}\left[(a^{j})^{T}q^{i}\right]q^{i},\quad q^{j}:={\frac {{\hat {q}}^{j}}{\|{\hat {q}}^{j}\|_{2}}},\quad j=1,2,...,n.}
Bekanntlich gilt für die so erzeugten Vektoren
q
j
{\displaystyle q^{j}}
(
j
=
1
,
.
.
.
,
n
)
{\displaystyle (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:
a
j
=
‖
q
^
j
‖
2
q
j
+
∑
i
=
1
j
−
1
[
(
a
j
)
T
q
i
]
q
i
,
j
=
1
,
2
,
.
.
.
,
n
.
{\displaystyle a^{j}=\left\|{\hat {q}}^{j}\right\|_{2}q^{j}+\sum _{i=1}^{j-1}\left[(a^{j})^{T}q^{i}\right]q^{i},\quad j=1,2,...,n.}
Wie ein Vergleich mit den Gleichungen (3.42) zeigt, erhält man demnach die gewünschte QR -Faktorisierung von
A
{\displaystyle A}
für die Matrix
Q
{\displaystyle Q}
mit den durch das Gram-Schmidt-Verfahren erzeugten Vektoren
q
j
{\displaystyle q^{j}}
(
j
=
1
,
.
.
.
,
n
)
{\displaystyle (j=1,...,n)}
und die obere Dreiecksmatrix
R
{\displaystyle R}
, welche folgende Elemente hat:
r
i
j
:=
(
a
j
)
T
q
i
,
i
=
1
,
.
.
.
,
j
−
1
,
r
j
j
:=
‖
q
^
j
‖
2
(
j
=
1
,
.
.
.
,
n
)
.
{\displaystyle r_{ij}:=(a^{j})^{T}q^{i},\quad i=1,...,j-1,\quad r_{jj}:=\left\|{\hat {q}}^{j}\right\|_{2}\quad (j=1,...,n).}
Der hier beschriebene Orthogonalisierungsprozess ist aber unter Umständen nicht gutartig, etwa für
‖
q
^
j
‖
2
≪
1
{\displaystyle \|{\hat {q}}^{j}\|_{2}\ll 1}
und damit
r
j
j
≪
1
{\displaystyle r_{jj}\ll 1}
(s. Beispiel 3.4 in Band 1 von Quarteroni/Sacco/Saleri und S. 177 bei Stoer). Mit wachsendem
j
{\displaystyle 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
{\displaystyle A}
herangezogen.
Sei nun allgemeiner
A
∈
R
n
×
k
{\displaystyle A\in \mathbb {R} ^{n\times k}}
mit
1
≤
k
≤
n
{\displaystyle 1\leq k\leq n}
gegeben. Gegenstand dieses Abschnitts ist die Bestimmung einer Zerlegung der Form
A
=
Q
S
{\displaystyle A=QS}
mit einer orthogonalen Matrix
Q
∈
R
n
×
n
{\displaystyle Q\in \mathbb {R} ^{n\times n}}
und einer im Fall
n
>
k
{\displaystyle n>k}
nichtquadratischen Matrix
S
∈
R
n
×
k
{\displaystyle S\in \mathbb {R} ^{n\times k}}
wie in (3.39) mittels sog. Householder-Transformationen. In diesem Zusammenhang zeigen wir zunächst:
Es sei
ω
∈
R
n
{\displaystyle \omega \in \mathbb {R} ^{n}}
ein Vektor mit
‖
ω
‖
2
=
1
{\displaystyle \|\omega \|_{2}=1}
und
H
∈
R
n
×
n
{\displaystyle {\mathcal {H}}\in \mathbb {R} ^{n\times n}}
die Matrix
(3.45)
H
:=
I
−
2
ω
ω
T
.
{\displaystyle {\mathcal {H}}:=I-2\omega \omega ^{T}.}
Dann gilt
(3.46)
H
T
=
H
{\displaystyle {\mathcal {H}}^{T}={\mathcal {H}}}
(
H
{\displaystyle {\mathcal {H}}}
ist symmetrisch),
(3.47)
H
2
=
I
{\displaystyle {\mathcal {H}}^{2}=I}
(
H
{\displaystyle {\mathcal {H}}}
ist involutorisch),
(3.48)
H
T
H
=
I
{\displaystyle {\mathcal {H}}^{T}{\mathcal {H}}=I}
(
H
{\displaystyle {\mathcal {H}}}
ist orthogonal).
Die Beziehungen (3.46) und (3.47) ergeben sich aus
H
T
=
I
−
2
(
ω
ω
T
)
T
=
I
−
2
ω
ω
T
=
H
,
{\displaystyle {\mathcal {H}}^{T}=I-2(\omega \omega ^{T})^{T}=I-2\omega \omega ^{T}={\mathcal {H}},}
H
2
=
(
I
−
2
ω
ω
T
)
(
I
−
2
ω
ω
T
)
=
I
−
2
ω
ω
T
−
2
ω
ω
T
+
4
ω
(
ω
T
ω
)
⏟
=
1
ω
T
=
I
.
{\displaystyle {\mathcal {H}}^{2}=(I-2\omega \omega ^{T})(I-2\omega \omega ^{T})=I-2\omega \omega ^{T}-2\omega \omega ^{T}+4\omega \underbrace {(\omega ^{T}\omega )} _{=1}\omega ^{T}=I.}
Die Identität (3.48) folgt aus (3.46) und (3.47).
q.e.d.
Eine Matrix vom Typ
H
{\displaystyle {\mathcal {H}}}
(3.45) für ein
ω
∈
R
n
{\displaystyle \omega \in \mathbb {R} ^{n}}
mit
‖
ω
‖
2
=
1
{\displaystyle \|\omega \|_{2}=1}
nennen wir Householder-Matrix und eine lineare Abbildung
h
:
R
n
→
R
n
,
h
(
x
)
:=
H
x
{\displaystyle h:\mathbb {R} ^{n}\to \mathbb {R} ^{n},\quad h(x):={\mathcal {H}}x}
mit einer Householder-Matrix
H
∈
R
n
×
n
{\displaystyle {\mathcal {H}}\in \mathbb {R} ^{n\times n}}
bezeichnen wir als Householder-Transformation .
Householder-Matrizen kann man dazu verwenden, einen Block von Komponenten eines gegebenen Vektors
x
{\displaystyle x}
(durch Multiplikation mit einer solchen Matrix von links) zu Null zu setzen. Will man insbesondere alle Komponenten von
x
{\displaystyle x}
außer der
m
{\displaystyle m}
-ten Komponente Null setzen, so muss man den Vektor
ω
{\displaystyle \omega }
zur Konstruktion von
H
{\displaystyle {\mathcal {H}}}
so wählen, wie er im folgenden Lemma angegeben wird. Dabei ist wieder mit
e
m
∈
R
n
{\displaystyle e^{m}\in \mathbb {R} ^{n}}
die
m
{\displaystyle m}
-te Spalte von
I
∈
R
n
×
n
{\displaystyle I\in \mathbb {R} ^{n\times n}}
gemeint.
Gegeben sei
x
∈
R
n
∖
{
0
}
{\displaystyle x\in \mathbb {R} ^{n}\setminus \{0\}}
mit
x
∉
span
{
e
m
}
{\displaystyle x\notin \operatorname {span} \{e^{m}\}}
. Weiter sei
(3.49)
ω
:=
x
+
σ
e
m
‖
x
+
σ
e
m
‖
2
{\displaystyle \omega :={\frac {x+\sigma e^{m}}{\|x+\sigma e^{m}\|_{2}}}}
mit
(3.50)
σ
:=
±
‖
x
‖
2
.
{\displaystyle \sigma :=\pm \|x\|_{2}.}
Dann hat man
‖
ω
‖
2
=
1
{\displaystyle \|\omega \|_{2}=1}
und für
H
:=
I
−
2
ω
ω
T
{\displaystyle {\mathcal {H}}:=I-2\omega \omega ^{T}}
(3.51)
H
x
=
−
σ
e
m
.
{\displaystyle {\mathcal {H}}x=-\sigma e^{m}.}
Wegen
x
∉
span
{
e
m
}
{\displaystyle x\notin \operatorname {span} \{e^{m}\}}
ist der Nenner in (3.49) ungleich Null und damit
ω
{\displaystyle \omega }
in (3.49) wohldefiniert. Offenbar ist
‖
ω
‖
2
=
1
{\displaystyle \|\omega \|_{2}=1}
. Ferner gilt
‖
x
+
σ
e
m
‖
2
2
=
‖
x
‖
2
2
+
2
σ
(
e
m
)
T
x
+
σ
2
=
2
‖
x
‖
2
2
+
2
σ
(
e
m
)
T
x
=
2
(
x
+
σ
e
m
)
T
x
{\displaystyle \|x+\sigma e^{m}\|_{2}^{2}=\|x\|_{2}^{2}+2\sigma (e^{m})^{T}x+\sigma ^{2}=2\|x\|_{2}^{2}+2\sigma (e^{m})^{T}x=2(x+\sigma e^{m})^{T}x}
und damit
2
ω
T
x
=
2
(
x
+
σ
e
m
)
T
x
‖
x
+
σ
e
m
‖
2
=
‖
x
+
σ
e
m
‖
2
.
{\displaystyle 2\omega ^{T}x={\frac {2(x+\sigma e^{m})^{T}x}{\|x+\sigma e^{m}\|_{2}}}=\|x+\sigma e^{m}\|_{2}.}
Zusammen mit (3.49) gelangt man zu der Darstellung
H
x
=
(
I
−
2
ω
ω
T
)
x
=
x
−
‖
x
+
σ
e
m
‖
2
ω
=
x
−
(
x
+
σ
e
m
)
=
−
σ
e
m
.
{\displaystyle {\mathcal {H}}x=\left(I-2\omega \omega ^{T}\right)x=x-\|x+\sigma e^{m}\|_{2}\omega =x-(x+\sigma e^{m})=-\sigma e^{m}.}
Zur Vermeidung von Stellenauslöschungen bei der Berechnung von (3.50) ist es offenbar sinnvoll,
σ
:=
sgn
(
x
m
)
‖
x
‖
2
{\displaystyle \sigma :=\operatorname {sgn}(x_{m})\|x\|_{2}}
zu wählen, wobei
x
m
{\displaystyle x_{m}}
die
m
{\displaystyle m}
-te Komponente von
x
{\displaystyle x}
bezeichnet.
Wir geben ein Beispiel.
Sei
x
:=
(
1
,
1
,
1
,
1
)
T
{\displaystyle x:=(1,1,1,1)^{T}}
und
m
:=
3
{\displaystyle m:=3}
. Dann errechnen wir
‖
x
‖
2
=
2
{\displaystyle \|x\|_{2}=2}
und setzen wir somit
σ
:=
sgn
(
x
3
)
‖
x
‖
2
=
2
{\displaystyle \sigma :=\operatorname {sgn}(x_{3})\|x\|_{2}=2}
sowie
ω
:=
x
+
σ
e
m
‖
x
+
σ
e
m
‖
2
=
1
2
3
(
1
,
1
,
3
,
1
)
T
.
{\displaystyle \omega :={\frac {x+\sigma e^{m}}{\|x+\sigma e^{m}\|_{2}}}={\frac {1}{2{\sqrt {3}}}}(1,1,3,1)^{T}.}
Es ergibt sich
2
ω
ω
T
=
1
6
(
1
1
3
1
)
(
1
,
1
,
3
,
1
)
=
1
6
(
1
1
3
1
1
1
3
1
3
3
9
3
1
1
3
1
)
{\displaystyle 2\omega \omega ^{T}={\frac {1}{6}}{\begin{pmatrix}1\\1\\3\\1\end{pmatrix}}(1,1,3,1)={\frac {1}{6}}{\begin{pmatrix}1&1&3&1\\1&1&3&1\\3&3&9&3\\1&1&3&1\end{pmatrix}}}
und demnach
H
:=
I
−
2
ω
ω
T
=
1
6
(
5
−
1
−
3
−
1
−
1
5
−
3
−
1
−
3
−
3
−
3
−
3
−
1
−
1
−
3
5
)
,
H
x
=
(
0
0
−
2
0
)
.
{\displaystyle {\mathcal {H}}:=I-2\omega \omega ^{T}={\frac {1}{6}}{\begin{pmatrix}5&-1&-3&-1\\-1&5&-3&-1\\-3&-3&-3&-3\\-1&-1&-3&5\end{pmatrix}},\quad {\mathcal {H}}x={\begin{pmatrix}0\\0\\-2\\0\end{pmatrix}}.}
Will man für ein
k
≥
1
{\displaystyle k\geq 1}
die Komponenten
x
i
{\displaystyle x_{i}}
(
i
=
1
,
.
.
.
,
k
−
1
)
{\displaystyle (i=1,...,k-1)}
von
x
∈
R
n
{\displaystyle x\in \mathbb {R} ^{n}}
unverändert lassen und gleichzeitig
x
i
=
0
{\displaystyle x_{i}=0}
(
i
=
k
+
1
,
.
.
.
,
n
)
{\displaystyle (i=k+1,...,n)}
erreichen, bekommt man dies, indem man
x
{\displaystyle x}
von links mit der Transformationsmatrix
P
k
:=
(
I
k
−
1
0
0
H
k
)
{\displaystyle P_{k}:={\begin{pmatrix}I_{k-1}&0\\0&{\mathcal {H}}_{k}\end{pmatrix}}}
multipliziert. Dabei ist
I
ℓ
{\displaystyle I_{\ell }}
die
(
ℓ
×
ℓ
)
{\displaystyle (\ell \times \ell )}
-Einheitsmatrix und
H
k
{\displaystyle {\mathcal {H}}_{k}}
die
(
n
−
k
+
1
)
×
(
n
−
k
+
1
)
{\displaystyle (n-k+1)\times (n-k+1)}
-Householder-Matrix der Form
H
k
:=
I
n
−
(
k
−
1
)
−
2
ω
k
(
ω
k
)
T
,
ω
k
:=
x
n
−
k
+
1
+
σ
k
e
n
−
k
+
1
,
1
‖
x
n
−
k
+
1
+
σ
k
e
n
−
k
+
1
,
1
‖
2
,
σ
k
:=
±
‖
x
n
−
k
+
1
‖
2
,
{\displaystyle {\mathcal {H}}_{k}:=I_{n-(k-1)}-2\omega ^{k}(\omega ^{k})^{T},\quad \omega ^{k}:={\frac {x^{n-k+1}+\sigma _{k}e^{n-k+1,1}}{\|x^{n-k+1}+\sigma _{k}e^{n-k+1,1}\|_{2}}},\quad \sigma _{k}:=\pm \left\|x^{n-k+1}\right\|_{2},}
welche mit dem aus den letzten
n
−
k
+
1
{\displaystyle n-k+1}
Komponenten von
x
{\displaystyle x}
bestehenden Vektor
x
n
−
k
+
1
∈
R
n
−
k
+
1
{\displaystyle x^{n-k+1}\in \mathbb {R} ^{n-k+1}}
und der ersten Spalte
e
n
−
k
+
1
,
1
∈
R
n
−
k
+
1
{\displaystyle e^{n-k+1,1}\in \mathbb {R} ^{n-k+1}}
der Einheitsmatrix
I
n
−
k
+
1
{\displaystyle I_{n-k+1}}
gebildet wird. Denn ist
x
k
−
1
∈
R
k
−
1
{\displaystyle x^{k-1}\in \mathbb {R} ^{k-1}}
der aus den ersten
k
−
1
{\displaystyle k-1}
Komponenten von
x
{\displaystyle x}
bestehende Vektor, so hat man nach Lemma 3.28
P
k
x
=
(
I
k
0
0
H
k
)
(
x
k
−
1
x
n
−
k
+
1
)
=
(
x
k
−
1
H
k
x
n
−
k
+
1
)
=
(
x
k
−
1
σ
k
e
n
−
k
+
1
,
1
)
.
{\displaystyle P_{k}x={\begin{pmatrix}I_{k}&0\\0&{\mathcal {H}}_{k}\end{pmatrix}}{\begin{pmatrix}x^{k-1}\\x^{n-k+1}\end{pmatrix}}={\begin{pmatrix}x^{k-1}\\{\mathcal {H}}_{k}x^{n-k+1}\end{pmatrix}}={\begin{pmatrix}x^{k-1}\\\sigma _{k}e^{n-k+1,1}\end{pmatrix}}.}
Nun ist klar, wie man eine Matrix
A
∈
R
n
×
k
{\displaystyle A\in \mathbb {R} ^{n\times k}}
in die Form
Q
S
{\displaystyle QS}
mit einer orthogonalen Matrix
Q
∈
R
n
×
n
{\displaystyle Q\in R^{n\times n}}
und eine Matrix
S
∈
R
n
×
k
{\displaystyle S\in \mathbb {R} ^{n\times k}}
der Gestalt (3.39) zerlegen kann. Ausgehend von
A
(
1
)
:=
A
{\displaystyle A^{(1)}:=A}
werden sukzessive Matrizen der Form
(3.52)
A
(
j
)
:=
(
a
11
(
j
)
.
.
.
.
.
.
.
.
.
.
.
.
a
1
k
(
j
)
⋱
⋮
a
j
−
1
,
j
−
1
(
j
)
.
.
.
.
.
.
a
j
−
1
,
k
(
j
)
a
j
j
(
j
)
.
.
.
a
j
k
(
j
)
⋮
⋱
⋮
a
n
j
(
j
)
.
.
.
a
n
k
(
j
)
)
∈
R
n
×
k
,
j
=
2
,
.
.
.
,
k
+
1
{\displaystyle A^{(j)}:={\begin{pmatrix}a_{11}^{(j)}&...&...&...&...&a_{1k}^{(j)}\\&\ddots &&&&\vdots \\&&a_{j-1,j-1}^{(j)}&...&...&a_{j-1,k}^{(j)}\\&&&a_{jj}^{(j)}&...&a_{jk}^{(j)}\\&&&\vdots &\ddots &\vdots \\&&&a_{nj}^{(j)}&...&a_{nk}^{(j)}\end{pmatrix}}\in \mathbb {R} ^{n\times k},\quad j=2,...,k+1}
bestimmt, so dass dann schließlich
S
:=
A
(
k
+
1
)
{\displaystyle 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
)
:=
P
(
j
)
A
(
j
)
,
P
(
j
)
:=
(
I
j
−
1
0
0
H
(
j
)
)
{\displaystyle A^{(j+1)}:={\mathcal {P}}^{(j)}A^{(j)},\quad {\mathcal {P}}^{(j)}:={\begin{pmatrix}I_{j-1}&0\\0&{\mathcal {H}}^{(j)}\end{pmatrix}}}
mit Householder-Matrizen
H
(
j
)
:=
I
n
−
(
j
−
1
)
−
2
ω
(
j
)
(
ω
(
j
)
)
T
{\displaystyle {\mathcal {H}}^{(j)}:=I_{n-(j-1)}-2\omega ^{(j)}(\omega ^{(j)})^{T}}
erzeugt, wobei
ω
(
j
)
∈
R
n
−
(
j
−
1
)
{\displaystyle \omega ^{(j)}\in \mathbb {R} ^{n-(j-1)}}
mit
a
^
(
j
)
:=
(
a
j
j
(
j
)
,
.
.
.
,
a
n
j
(
j
)
)
T
{\displaystyle {\hat {a}}^{(j)}:=(a_{jj}^{(j)},...,a_{nj}^{(j)})^{T}}
so zu wählen ist, dass mit einem
σ
j
∈
R
{\displaystyle \sigma _{j}\in \mathbb {R} }
H
(
j
)
a
^
(
j
)
=
−
σ
j
e
n
−
(
j
−
1
)
,
1
{\displaystyle {\mathcal {H}}^{(j)}{\hat {a}}(j)=-\sigma _{j}e^{n-(j-1),1}}
gilt. Im Fall
a
^
(
j
)
∉
span
{
e
n
−
(
j
−
1
)
,
1
}
{\displaystyle {\hat {a}}^{(j)}\notin \operatorname {span} \{e^{n-(j-1),1}\}}
erreicht man dies gemäß Lemma 3.28 mit
ω
(
j
)
:=
a
^
(
j
)
+
σ
j
e
n
−
(
j
−
1
)
,
1
‖
a
^
(
j
)
+
σ
j
e
n
−
(
j
−
1
)
,
1
‖
2
,
σ
j
:=
sgn
(
a
^
1
(
j
)
)
‖
a
^
(
j
)
‖
2
.
{\displaystyle \omega ^{(j)}:={\frac {{\hat {a}}^{(j)}+\sigma _{j}e^{n-(j-1),1}}{\|{\hat {a}}^{(j)}+\sigma _{j}e^{n-(j-1),1}\|_{2}}},\quad \sigma _{j}:=\operatorname {sgn}({\hat {a}}_{1}^{(j)})\left\|{\hat {a}}^{(j)}\right\|_{2}.}
Im selteneren Fall
a
^
(
j
)
∈
span
{
e
n
−
(
j
−
1
)
,
1
}
{\displaystyle {\hat {a}}^{(j)}\in \operatorname {span} \{e^{n-(j-1),1}\}}
kann man offenbar
H
(
j
)
:=
I
n
−
(
j
−
1
)
{\displaystyle {\mathcal {H}}^{(j)}:=I_{n-(j-1)}}
bzw.
P
(
j
)
:=
I
{\displaystyle {\mathcal {P}}^{(j)}:=I}
in (3.53) wählen. Nach Lemma 3.27 sind dann die Matrizen
H
(
1
)
,
.
.
.
,
H
(
k
)
{\displaystyle {\mathcal {H}}^{(1)},...,{\mathcal {H}}^{(k)}}
und damit die Matrizen
P
(
1
)
,
.
.
.
,
P
(
k
)
{\displaystyle {\mathcal {P}}^{(1)},...,{\mathcal {P}}^{(k)}}
orthogonal und symmetrisch, so dass man wegen
A
(
1
)
=
A
,
{\displaystyle A^{(1)}=A,}
A
(
2
)
=
P
(
1
)
A
(
1
)
=
P
(
1
)
A
,
{\displaystyle A^{(2)}={\mathcal {P}}^{(1)}A^{(1)}={\mathcal {P}}^{(1)}A,}
A
(
3
)
=
P
(
2
)
A
(
2
)
=
P
(
2
)
P
(
1
)
A
,
{\displaystyle A^{(3)}={\mathcal {P}}^{(2)}A^{(2)}={\mathcal {P}}^{(2)}{\mathcal {P}}^{(1)}A,}
⋮
{\displaystyle \vdots }
A
(
k
+
1
)
=
P
(
k
)
A
(
k
)
=
P
(
k
)
P
(
k
−
1
)
⋯
P
(
1
)
A
{\displaystyle A^{(k+1)}={\mathcal {P}}^{(k)}A^{(k)}={\mathcal {P}}^{(k)}{\mathcal {P}}^{(k-1)}\cdots {\mathcal {P}}^{(1)}A}
mit
S
:=
P
(
k
)
P
(
k
−
1
)
⋯
P
(
1
)
A
,
Q
:=
P
(
1
)
P
(
2
)
⋯
P
(
k
)
{\displaystyle S:={\mathcal {P}}^{(k)}{\mathcal {P}}^{(k-1)}\cdots {\mathcal {P}}^{(1)}A,\quad Q:={\mathcal {P}}^{(1)}{\mathcal {P}}^{(2)}\cdots {\mathcal {P}}^{(k)}}
wegen (3.47) die gewünschte Zerlegung
A
=
Q
S
{\displaystyle A=QS}
erhält. Gemäß Lemma 3.26 ist
Q
{\displaystyle Q}
tatsächlich eine orthogonale Matrix.
Man beachte, dass man
Q
{\displaystyle Q}
für die Lösung des Gleichungssystems
A
x
=
b
{\displaystyle Ax=b}
mit
n
=
k
{\displaystyle n=k}
(sowie für die des Ausgleichsproblems in Abschnitt 4.3) gar nicht benötigt, sondern nur den Vektor
Q
T
b
{\displaystyle Q^{T}b}
. Wegen
(
P
(
j
)
)
T
=
P
(
j
)
{\displaystyle \left({\mathcal {P}}^{(j)}\right)^{T}={\mathcal {P}}^{(j)}}
ist dabei
Q
T
=
(
P
(
k
)
)
T
(
P
(
k
−
1
)
)
T
⋯
(
P
(
1
)
)
T
=
P
(
k
)
P
(
k
−
1
)
⋯
P
(
1
)
,
{\displaystyle Q^{T}=\left({\mathcal {P}}^{(k)}\right)^{T}\left({\mathcal {P}}^{(k-1)}\right)^{T}\cdots \left({\mathcal {P}}^{(1)}\right)^{T}={\mathcal {P}}^{(k)}{\mathcal {P}}^{(k-1)}\cdots {\mathcal {P}}^{(1)},}
so dass man mit
b
{\displaystyle b}
wie mit
A
{\displaystyle A}
verfahren kann:
b
(
1
)
:=
b
,
{\displaystyle b^{(1)}:=b,}
b
(
2
)
:=
P
(
1
)
b
(
1
)
=
P
(
1
)
b
,
{\displaystyle b^{(2)}:={\mathcal {P}}^{(1)}b^{(1)}={\mathcal {P}}^{(1)}b,}
b
(
3
)
:=
P
(
2
)
b
(
2
)
=
P
(
2
)
P
(
1
)
b
,
{\displaystyle b^{(3)}:={\mathcal {P}}^{(2)}b^{(2)}={\mathcal {P}}^{(2)}{\mathcal {P}}^{(1)}b,}
⋮
{\displaystyle \vdots }
b
(
k
+
1
)
:=
P
(
k
)
b
(
k
)
P
(
k
)
P
(
k
−
1
)
⋯
P
(
1
)
b
=
Q
T
b
.
{\displaystyle b^{(k+1)}:={\mathcal {P}}^{(k)}b^{(k)}{\mathcal {P}}^{(k)}{\mathcal {P}}^{(k-1)}\cdots {\mathcal {P}}^{(1)}b=Q^{T}b.}
Man beachte, dass mit
B
(
j
)
:=
(
a
j
j
(
j
)
.
.
.
a
j
k
(
j
)
⋮
⋱
⋮
a
n
j
(
j
)
.
.
.
a
n
k
(
j
)
)
{\displaystyle B^{(j)}:={\begin{pmatrix}a_{jj}^{(j)}&...&a_{jk}^{(j)}\\\vdots &\ddots &\vdots \\a_{nj}^{(j)}&...&a_{nk}^{(j)}\end{pmatrix}}}
gemäß (3.52) und (3.53)
A
(
j
+
1
)
=
(
I
j
−
1
0
0
H
(
j
)
)
(
#
∗
0
B
(
j
)
)
=
(
#
∗
0
H
(
j
)
B
(
j
)
)
{\displaystyle A^{(j+1)}={\begin{pmatrix}I_{j-1}&0\\0&{\mathcal {H}}^{(j)}\end{pmatrix}}{\begin{pmatrix}\#&*\\0&B^{(j)}\end{pmatrix}}={\begin{pmatrix}\#&*\\0&{\mathcal {H}}^{(j)}B^{(j)}\end{pmatrix}}}
gilt, also wie beim Gauß-Algorithmus nur die verbleibende Restmatrix
B
(
j
)
{\displaystyle B^{(j)}}
in
A
(
j
)
{\displaystyle 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
H
B
{\displaystyle {\mathcal {H}}B}
mit
H
∈
R
m
×
m
{\displaystyle {\mathcal {H}}\in \mathbb {R} ^{m\times m}}
und
B
∈
R
m
×
ℓ
{\displaystyle B\in \mathbb {R} ^{m\times \ell }}
kostet
O
(
m
2
ℓ
)
{\displaystyle {\mathcal {O}}(m^{2}\ell )}
Multiplikationen. Die benötigten Matrixmultiplikationen für
H
:=
I
−
2
ω
ω
T
{\displaystyle {\mathcal {H}}:=I-2\omega \omega ^{T}}
berechne man daher wie folgt:
(3.54)
H
B
=
(
I
−
2
ω
ω
T
)
B
=
B
−
ω
v
T
,
v
T
:=
2
ω
T
B
.
{\displaystyle {\mathcal {H}}B=(I-2\omega \omega ^{T})B=B-\omega v^{T},\quad v^{T}:=2\omega ^{T}B.}
Zunächst ermittele man also den Vektor
v
{\displaystyle v}
und dann "aufdatiere" man die Matrix
B
{\displaystyle B}
. Für ein solches Vorgehen benötigt man nur
2
m
ℓ
{\displaystyle 2m\ell }
Multiplikationen.
Will man die Vektoren
ω
(
j
)
{\displaystyle \omega ^{(j)}}
aufbewahren, weil man z. B. ein Gleichungssystem
A
x
=
b
{\displaystyle Ax=b}
mit derselben Matrix und verschiedenen rechten Seiten zu lösen hat, so kann man für jedes
j
∈
{
1
,
.
.
.
,
k
}
{\displaystyle j\in \{1,...,k\}}
das Diagonalelement
a
j
j
(
j
+
1
)
{\displaystyle a_{jj}^{(j+1)}}
zunächst gesondert speichern und anschließend den Vektor
ω
(
j
)
{\displaystyle \omega ^{(j)}}
in der
j
{\displaystyle j}
-ten Spalte der Matrix
A
(
j
+
1
)
{\displaystyle A^{(j+1)}}
eintragen (s. Beispiel 3.32). Auf diese Weise spart man Speicherplatz, was bei sehr großen Matrizen relevant ist.
Man berechne eine QS -Zerlegung von
A
{\displaystyle A}
und
Q
T
b
{\displaystyle Q^{T}b}
für
A
:=
(
1
0
1
3
1
4
1
7
)
,
b
:=
(
1
2
6
4
)
.
{\displaystyle A:={\begin{pmatrix}1&0\\1&3\\1&4\\1&7\end{pmatrix}},\quad b:={\begin{pmatrix}1\\2\\6\\4\end{pmatrix}}.}
Wir setzen
A
(
1
)
:=
A
{\displaystyle A^{(1)}:=A}
und
b
(
1
)
:=
b
{\displaystyle b^{(1)}:=b}
und bekommen zunächst
a
^
(
1
)
:=
(
1
,
1
,
1
,
1
)
T
,
‖
a
^
(
1
)
‖
2
=
2
,
σ
1
=
sgn
(
1
)
⋅
2
=
2.
{\displaystyle {\hat {a}}^{(1)}:=(1,1,1,1)^{T},\quad \left\|{\hat {a}}^{(1)}\right\|_{2}=2,\quad \sigma _{1}=\operatorname {sgn}(1)\cdot 2=2.}
Damit folgt
ω
~
(
1
)
:=
a
^
(
1
)
+
σ
1
e
4
,
1
=
(
1
,
1
,
1
,
1
)
T
+
2
(
1
,
0
,
0
,
0
)
T
=
(
3
,
1
,
1
,
1
)
T
,
{\displaystyle {\tilde {\omega }}^{(1)}:={\hat {a}}^{(1)}+\sigma _{1}e^{4,1}=(1,1,1,1)^{T}+2(1,0,0,0)^{T}=(3,1,1,1)^{T},}
‖
ω
~
(
1
)
‖
2
=
2
3
,
{\displaystyle \left\|{\tilde {\omega }}^{(1)}\right\|_{2}=2{\sqrt {3}},}
ω
(
1
)
:=
ω
~
(
1
)
‖
ω
~
(
1
)
‖
2
=
1
2
3
(
3
,
1
,
1
,
1
)
T
.
{\displaystyle \omega ^{(1)}:={\frac {{\tilde {\omega }}^{(1)}}{\left\|{\tilde {\omega }}^{(1)}\right\|_{2}}}={\frac {1}{2{\sqrt {3}}}}(3,1,1,1)^{T}.}
Für
H
(
1
)
:=
I
−
2
ω
(
1
)
(
ω
(
1
)
)
T
{\displaystyle {\mathcal {H}}^{(1)}:=I-2\omega ^{(1)}(\omega ^{(1)})^{T}}
benötigt man nun die Produkte
H
(
1
)
A
(
1
)
{\displaystyle {\mathcal {H}}^{(1)}A^{(1)}}
und
H
(
1
)
b
(
1
)
{\displaystyle {\mathcal {H}}^{(1)}b^{(1)}}
, die man analog zu (3.54) berechnet. Es ist
(
v
(
1
)
)
T
:=
2
(
ω
(
1
)
)
T
A
(
1
)
=
1
3
(
3
1
1
1
)
(
1
0
1
3
1
4
1
7
)
=
1
3
(
6
14
)
,
{\displaystyle \left(v^{(1)}\right)^{T}:=2\left(\omega ^{(1)}\right)^{T}A^{(1)}={\frac {1}{\sqrt {3}}}{\begin{pmatrix}3&1&1&1\end{pmatrix}}{\begin{pmatrix}1&0\\1&3\\1&4\\1&7\end{pmatrix}}={\frac {1}{\sqrt {3}}}{\begin{pmatrix}6&14\end{pmatrix}},}
(
u
(
1
)
)
T
:=
2
(
ω
(
1
)
)
T
b
(
1
)
=
1
3
(
3
1
1
1
)
(
1
2
6
4
)
=
15
3
{\displaystyle \left(u^{(1)}\right)^{T}:=2\left(\omega ^{(1)}\right)^{T}b^{(1)}={\frac {1}{\sqrt {3}}}{\begin{pmatrix}3&1&1&1\end{pmatrix}}{\begin{pmatrix}1\\2\\6\\4\end{pmatrix}}={\frac {15}{\sqrt {3}}}}
und demnach
ω
(
1
)
(
v
(
1
)
)
T
=
1
6
(
3
1
1
1
)
(
6
14
)
=
(
3
7
1
7
/
3
1
7
/
3
1
7
/
3
)
,
{\displaystyle \omega ^{(1)}\left(v^{(1)}\right)^{T}={\frac {1}{6}}{\begin{pmatrix}3\\1\\1\\1\end{pmatrix}}{\begin{pmatrix}6&14\end{pmatrix}}={\begin{pmatrix}3&7\\1&7/3\\1&7/3\\1&7/3\end{pmatrix}},}
ω
(
1
)
(
u
(
1
)
)
T
=
15
6
(
3
1
1
1
)
=
(
15
/
2
5
/
2
5
/
2
5
/
2
)
.
{\displaystyle \omega ^{(1)}\left(u^{(1)}\right)^{T}={\frac {15}{6}}{\begin{pmatrix}3\\1\\1\\1\end{pmatrix}}={\begin{pmatrix}15/2\\5/2\\5/2\\5/2\end{pmatrix}}.}
Demzufolge ergibt sich
A
(
2
)
:=
H
(
1
)
A
(
1
)
=
A
(
1
)
−
ω
(
1
)
(
v
(
1
)
)
T
=
(
−
2
−
7
0
2
/
3
0
5
/
3
0
14
/
3
)
,
{\displaystyle A^{(2)}:={\mathcal {H}}^{(1)}A^{(1)}=A^{(1)}-\omega ^{(1)}\left(v^{(1)}\right)^{T}={\begin{pmatrix}-2&-7\\0&2/3\\0&5/3\\0&14/3\end{pmatrix}},}
b
(
2
)
:=
H
(
1
)
b
(
1
)
=
b
(
1
)
−
ω
(
1
)
(
u
(
1
)
)
T
=
(
−
13
/
2
−
1
/
2
7
/
2
3
/
2
)
.
{\displaystyle b^{(2)}:={\mathcal {H}}^{(1)}b^{(1)}=b^{(1)}-\omega ^{(1)}\left(u^{(1)}\right)^{T}={\begin{pmatrix}-13/2\\-1/2\\7/2\\3/2\end{pmatrix}}.}
Wollte man den Vektor
ω
(
1
)
{\displaystyle \omega ^{(1)}}
aufbewahren, um damit zu einem späteren Zeitpunkt die Zerlegung von
A
{\displaystyle A}
wieder erzeugen zu können, so legt man einen Arbeitsvektor
d
∈
R
2
{\displaystyle d\in \mathbb {R} ^{2}}
an, setzt man
d
1
:=
a
11
(
2
)
=
−
2
{\displaystyle d_{1}:=a_{11}^{(2)}=-2}
und trägt man
ω
(
1
)
{\displaystyle \omega ^{(1)}}
in die erste Spalte von
A
(
2
)
{\displaystyle A^{(2)}}
ein, so dass sich ergibt:
A
^
(
2
)
:=
(
1
2
3
−
7
1
6
3
2
/
3
1
6
3
5
/
3
1
6
3
14
/
3
)
{\displaystyle {\hat {A}}^{(2)}:={\begin{pmatrix}{\frac {1}{2}}{\sqrt {3}}&-7\\{\frac {1}{6}}{\sqrt {3}}&2/3\\{\frac {1}{6}}{\sqrt {3}}&5/3\\{\frac {1}{6}}{\sqrt {3}}&14/3\end{pmatrix}}}
In der Praxis kann man
A
(
2
)
{\displaystyle A^{(2)}}
und auch
A
^
(
2
)
{\displaystyle {\hat {A}}^{(2)}}
wieder
A
{\displaystyle A}
nennen, da man
A
{\displaystyle A}
selbst nicht mehr benötigt.
Nun verfährt man analog mit der Restmatrix bzw. dem Restvektor
A
~
(
2
)
:=
(
2
/
3
5
/
3
14
/
3
)
,
b
~
(
2
)
:=
(
−
1
/
2
7
/
2
3
/
2
)
.
{\displaystyle {\tilde {A}}^{(2)}:={\begin{pmatrix}2/3\\5/3\\14/3\end{pmatrix}},\quad {\tilde {b}}^{(2)}:={\begin{pmatrix}-1/2\\7/2\\3/2\end{pmatrix}}.}
Man bekommt
a
^
(
2
)
:=
(
2
3
,
5
3
,
14
3
)
T
,
‖
a
^
(
2
)
‖
2
=
5
,
σ
2
=
sgn
(
2
3
)
⋅
5
=
5
,
{\displaystyle {\hat {a}}^{(2)}:=\left({\frac {2}{3}},{\frac {5}{3}},{\frac {14}{3}}\right)^{T},\quad \left\|{\hat {a}}^{(2)}\right\|_{2}=5,\quad \sigma _{2}=\operatorname {sgn} \left({\frac {2}{3}}\right)\cdot 5=5,}
ω
~
(
2
)
:=
a
^
(
2
)
+
σ
2
e
3
,
1
=
(
2
3
,
5
3
,
14
3
)
T
+
5
(
1
,
0
,
0
)
T
=
(
17
3
,
5
3
,
14
3
)
T
,
{\displaystyle {\tilde {\omega }}^{(2)}:={\hat {a}}^{(2)}+\sigma _{2}e^{3,1}=\left({\frac {2}{3}},{\frac {5}{3}},{\frac {14}{3}}\right)^{T}+5(1,0,0)^{T}=\left({\frac {17}{3}},{\frac {5}{3}},{\frac {14}{3}}\right)^{T},}
‖
ω
~
(
2
)
‖
2
=
510
3
,
{\displaystyle \left\|{\tilde {\omega }}^{(2)}\right\|_{2}={\frac {\sqrt {510}}{3}},}
ω
(
2
)
:=
ω
~
(
2
)
‖
ω
~
(
2
)
‖
2
=
1
510
(
17
,
5
,
14
)
T
,
{\displaystyle \omega ^{(2)}:={\frac {{\tilde {\omega }}^{(2)}}{\left\|{\tilde {\omega }}^{(2)}\right\|_{2}}}={\frac {1}{\sqrt {510}}}(17,5,14)^{T},}
(
v
(
2
)
)
T
:=
2
(
ω
(
2
)
)
T
A
~
(
2
)
=
2
510
(
17
5
14
)
(
2
/
3
5
/
3
14
/
3
)
=
510
3
510
,
{\displaystyle \left(v^{(2)}\right)^{T}:=2\left(\omega ^{(2)}\right)^{T}{\tilde {A}}^{(2)}={\frac {2}{\sqrt {510}}}{\begin{pmatrix}17&5&14\end{pmatrix}}{\begin{pmatrix}2/3\\5/3\\14/3\end{pmatrix}}={\frac {510}{3{\sqrt {510}}}},}
(
u
(
2
)
)
T
:=
2
(
ω
(
2
)
)
T
b
~
(
1
)
=
1
510
(
17
5
14
)
(
−
1
7
3
)
=
60
510
,
{\displaystyle \left(u^{(2)}\right)^{T}:=2\left(\omega ^{(2)}\right)^{T}{\tilde {b}}^{(1)}={\frac {1}{\sqrt {510}}}{\begin{pmatrix}17&5&14\end{pmatrix}}{\begin{pmatrix}-1\\7\\3\end{pmatrix}}={\frac {60}{\sqrt {510}}},}
H
(
2
)
A
~
(
2
)
=
A
~
(
2
)
−
ω
(
2
)
(
v
(
2
)
)
T
=
(
2
/
3
5
/
3
14
/
3
)
−
1
3
(
17
5
14
)
=
(
−
5
0
0
)
,
{\displaystyle {\mathcal {H}}^{(2)}{\tilde {A}}^{(2)}={\tilde {A}}^{(2)}-\omega ^{(2)}\left(v^{(2)}\right)^{T}={\begin{pmatrix}2/3\\5/3\\14/3\end{pmatrix}}-{\frac {1}{3}}{\begin{pmatrix}17\\5\\14\end{pmatrix}}={\begin{pmatrix}-5\\0\\0\end{pmatrix}},}
H
(
2
)
b
~
(
2
)
=
b
~
(
2
)
−
ω
(
2
)
(
u
(
2
)
)
T
=
(
−
1
/
2
7
/
2
3
/
2
)
−
60
510
(
17
5
14
)
=
(
−
5
/
2
99
/
34
−
5
/
34
)
.
{\displaystyle {\mathcal {H}}^{(2)}{\tilde {b}}^{(2)}={\tilde {b}}^{(2)}-\omega ^{(2)}\left(u^{(2)}\right)^{T}={\begin{pmatrix}-1/2\\7/2\\3/2\end{pmatrix}}-{\frac {60}{510}}{\begin{pmatrix}17\\5\\14\end{pmatrix}}={\begin{pmatrix}-5/2\\99/34\\-5/34\end{pmatrix}}.}
Damit ergibt sich nun
S
:=
A
(
3
)
=
(
−
2
−
7
0
−
5
0
0
0
0
)
,
R
:=
(
−
2
−
7
0
−
5
)
,
Q
T
b
=
b
(
3
)
:=
(
−
13
/
2
−
5
/
2
99
/
34
−
5
/
34
)
.
{\displaystyle S:=A^{(3)}={\begin{pmatrix}-2&-7\\0&-5\\0&0\\0&0\end{pmatrix}},\quad R:={\begin{pmatrix}-2&-7\\0&-5\end{pmatrix}},\quad Q^{T}b=b^{(3)}:={\begin{pmatrix}-13/2\\-5/2\\99/34\\-5/34\end{pmatrix}}.}
Will man die
ω
(
j
)
{\displaystyle \omega ^{(j)}}
wiederverwenden, so bilde man mit
A
^
(
2
)
{\displaystyle {\hat {A}}^{(2)}}
und dem oben definierten
d
1
{\displaystyle d_{1}}
A
^
(
3
)
=
(
1
2
3
−
7
1
6
3
1
510
17
1
6
3
1
510
5
1
6
3
1
510
14
)
,
d
:=
(
−
2
−
5
)
.
{\displaystyle {\hat {A}}^{(3)}={\begin{pmatrix}{\frac {1}{2}}{\sqrt {3}}&-7\\{\frac {1}{6}}{\sqrt {3}}&{\frac {1}{\sqrt {510}}}17\\{\frac {1}{6}}{\sqrt {3}}&{\frac {1}{\sqrt {510}}}5\\{\frac {1}{6}}{\sqrt {3}}&{\frac {1}{\sqrt {510}}}14\end{pmatrix}},\quad d:={\begin{pmatrix}-2\\-5\end{pmatrix}}.}
Aus
A
^
(
3
)
{\displaystyle {\hat {A}}^{(3)}}
und
d
{\displaystyle d}
könnte man
R
{\displaystyle R}
in offensichtlicher Weise gewinnen.
Man kann sich überlegen, dass eine QS -Zerlegung von
A
∈
R
n
×
k
{\displaystyle A\in \mathbb {R} ^{n\times k}}
mittels Householder-Transformationen etwa
2
[
k
3
3
+
(
n
−
k
)
k
2
2
]
{\displaystyle 2\left[{\frac {k^{3}}{3}}+(n-k){\frac {k^{2}}{2}}\right]}
Multiplikationen benötigt, also
(3.55)
∼
n
k
2
{\displaystyle \sim nk^{2}}
für
n
≫
k
{\displaystyle n\gg k}
und
∼
2
3
n
3
{\displaystyle \sim {\frac {2}{3}}n^{3}}
für
n
≈
k
{\displaystyle n\approx k}
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.