diff --git a/Notes/Semester 3/HM1 - Höhere Mathematik/ExpandHouseholder.png b/Notes/Semester 3/HM1 - Höhere Mathematik/ExpandHouseholder.png
new file mode 100644
index 0000000..a952456
Binary files /dev/null and b/Notes/Semester 3/HM1 - Höhere Mathematik/ExpandHouseholder.png differ
diff --git a/Notes/Semester 3/HM1 - Höhere Mathematik/Zusammenfassung.md b/Notes/Semester 3/HM1 - Höhere Mathematik/Zusammenfassung.md
index ef13332..b68270f 100644
--- a/Notes/Semester 3/HM1 - Höhere Mathematik/Zusammenfassung.md
+++ b/Notes/Semester 3/HM1 - Höhere Mathematik/Zusammenfassung.md
@@ -5,6 +5,7 @@
color: black;
padding: 0.5rem;
padding-bottom: 1px;
+ margin-bottom: 0.5rem;
}
.formula p:last-child, .letters p:last-child {
@@ -52,6 +53,9 @@
- [Fehlerfortpflanzung und Pivotisierung](#fehlerfortpflanzung-und-pivotisierung)
- [Determinanten-Bestimmung](#determinanten-bestimmung)
- [Die $LR$-Zerlegung](#die-lr-zerlegung)
+ - [$QR$-Zerlegung](#qr-zerlegung)
+ - [Housholder-Matrizen](#housholder-matrizen)
+ - [Vorgang](#vorgang)
- [Formelbuchstaben](#formelbuchstaben)
- [Glossar](#glossar)
@@ -721,6 +725,164 @@ Wenn die $LR$-Zerlegung, wie in diesem Code, Zeilenaustausch und das Berechnen v
2. Mit Hilfe des Gauss-Algorithmus $L \cdot y = P \cdot b$ nach $y$ auflösen
3. Mit Hilfe des Gauss-Algorithmus $R \cdot x = y$ nach $x$ auflösen
+### $QR$-Zerlegung
+
+ - Die Matrix $A$ wird in eine orthogonale Matrix $Q$ und eine obere Dreiecksmatrix $R$ zerlegt.
+ - Orthogonal-Matrizen beschreiben Drehungen, Spiegelungen oder Kombinationen daraus.
+ - Eine $QR$-Zerlegung erfordert ca. $\frac{5}{3}n^3$ Punktoperationen - ca. doppelt so viel wie die $LR$-Zerlegung.
+
+
+
+***Orthogonal-Matrix:***
+
+Eine Matrix $Q$ ist orthogonal, wenn folgendes gilt:
+
+$$Q^T \cdot Q = I_n$$
+
+($x^T$ steht hierbei für eine **T**ransformation)
+
+
+
+#### Housholder-Matrizen
+
+Im Rahmen der Berechnung der Matrizen $Q$ und $R$ werden sogenannte "Housholder-Matrizen" berechnet.
+
+
+
+***Housholder-Matrizen:***
+
+Sei $u$ ein Vektor mit beliebig vielen Dimensionen, für den gilt:
+
+$$|u| = \sqrt{u_1^2 + u_2^2 + \dots + u_n^2} = 1$$
+
+Die Householder-Matrix hat folgende Eigenschaft:
+
+$$H := I_n - 2 \cdot u \cdot u^T$$
+
+Für Housholder-Matrizen gilt zudem folgendes:
+
+$$H = H^T = H^{-1}$$
+
+und
+
+$$H \cdot H = I_n$$
+
+
+
+***Berechnung einer Housholder-Matrix***
+
+Beispiel der Berechnung einer Housholder-Matrix zur ersten Spalte der Matrix $A$.
+
+> Für die Berechnung wird ein Einheitsvektor $e$ benötigt, welcher genauso viele Werte hat, wie die Matrix Dimensionen. Ein Einheitsvektor hat im ersten Feld den Wert $1$ und in allen anderen Feldern der Wert $0$.
+>
+> Für eine Matrix $A$ mit der Dimension $n = 3$ lautet der Einheitsvektor $e$ also wie folgt:
+> $$e = \left(\begin{matrix}
+> 1 \\
+> 0 \\
+> 0
+> \end{matrix}\right)
+
+ 1. Vektor $v$ bestimmen
+ $$v = a_1 + sign(a_{11}) \cdot |a_1| \cdot e$$
+ 2. Vektor normieren:
+ $$u = \frac{1}{|v|} \cdot v =
+ \frac{1}{\sqrt{1^2 + 2^2 + 3^2}} \cdot
+ \left(\begin{matrix}
+ 1 \\
+ 2 \\
+ 3
+ \end{matrix}\right) =
+ \frac{1}{\sqrt{14}} \cdot
+ \left(\begin{matrix}
+ 1 \\
+ 2 \\
+ 3
+ \end{matrix}\right)$$
+ 2. Die Housholder-Matrix $H = I_n - 2 \cdot u \cdot u^T$ berechnen.
+ $$H =
+ \left(\begin{matrix}
+ 1 & 0 & 0 \\
+ 0 & 1 & 0 \\
+ 0 & 0 & 1
+ \end{matrix}\right) -
+ 2 \cdot \frac{1}{\sqrt{14}} \cdot
+ \left(\begin{matrix}
+ 1 \\
+ 2 \\
+ 3
+ \end{matrix}\right) \cdot
+ \frac{1}{\sqrt{14}} \cdot
+ \left(\begin{matrix}
+ 1 & 2 & 3
+ \end{matrix}\right) \\
+ H =
+ \left(\begin{matrix}
+ 1 & 0 & 0 \\
+ 0 & 1 & 0 \\
+ 0 & 0 & 1
+ \end{matrix}\right) -
+ 2 \cdot \frac{1}{14} \cdot
+ \left(\begin{matrix}
+ 1 & 2 & 3 \\
+ 2 & 4 & 6 \\
+ 3 & 6 & 9
+ \end{matrix}\right) =
+ -\frac{1}{7} \cdot
+ \left(\begin{matrix}
+ -6 & 2 & 3 \\
+ 2 & -3 & 6 \\
+ 3 & 6 & 2
+ \end{matrix}\right)$$
+
+
+
+ - $H$: Housholder-Matrix
+ - $I$: Identitäts-Matrix
+ - $n$: Anzahl Dimensionen der Matrix
+
+
+
+#### Vorgang
+Im Rahmen des Vorgangs entspricht $A_1$ der Matrix $A$.
+
+Die $QR$-Zerlegung kann folgendermassen durchgeführt werden:
+
+ 1. $R = A$
+ 2. $Q = I_n$
+ 3. Für $i$ von $1$ bis $n - 1$
+ 1. Gemäss vorheriger Anleitung Householder-Matrix $H_i$ für die erste Spalte von $A_i$ berechnen
+ 2. Householder-Matrix um Identitäts-Matrix erweitern. Beispiel:
+ ![](ExpandHouseholder.png)
+ 3. Erweiterte Householder-Matrix als $Q_i$ speichern
+ 4. $R = Q_i \cdot R$
+ 5. $Q = Q \cdot Q_i^T$
+
+***Code-Beispiel:***
+
+```py
+from numpy import array, identity, sign, sqrt, square, sum, zeros
+
+def qrDecomposition(A):
+ A = array(A)
+ n = A.shape[0]
+ R = A.reshape((n, n))
+ Q = identity(n)
+
+ for i in range(n - 1):
+ I = identity(n - i)
+ Qi = identity(n)
+ e = zeros((n - i, 1))
+ e[0][0] = 1
+ a = R[i:,i:i + 1]
+ v = a + sign(a[0]) * sqrt(sum(square(a))) * e
+ u = (1 / sqrt(sum(square(v)))) * v
+ H = I - 2 * u @ u.T
+ Qi[i:,i:] = H
+ R = Qi @ R
+ Q = Q @ Qi.T
+ return [Q, R]
+```
+
## Formelbuchstaben
@@ -728,14 +890,18 @@ Wenn die $LR$-Zerlegung, wie in diesem Code, Zeilenaustausch und das Berechnen v
- $[a,b]$: Das Untersuchungs-Interval für den Banachschen Fixpunktsatz
- $A$: Matrix eines linearen Gleichungssystems
- $\tilde{A}$: Umgewandelte Version der Matrix $A$
+ - $A^T$: Transformierte Matrix $A$
- $b$: Das gewünschte Resultat eines linearen Gleichungssystems
- $B$: Basis der Maschinenzahl
- $e$: Exponent der Maschinenzahl
+ - $H$: Housholder-Matrix (siehe $QR$-Zerlegung)
+ - $I$: Identitäts-Matrix (Matrix, überall den Wert $0$ und auf der Diagonalen den Wert $1$ hat)
- $K$: Konditionszahl
- $L$: Untere Dreiecksmatrix/Normierte Matrix
- $m$: Mantisse (Darstellbarer Bereich der Maschinenzahl)
- $n$: Anzahl möglicher Stellen der Mantisse $m$
- $q$: Konvergenz-Ordnung
+ - $Q$: Orthogonal-Matrix in der $QR$-Zerlegung
- $R$: Obere Dreiecksmatrix
- $x$: Darzustellender Wert
- $x_n$: Die $n$-te Approximation von $x$