mirror of
https://github.com/MartinThoma/LaTeX-examples.git
synced 2025-04-18 19:18:21 +02:00
The commands find . -type f -name '*.md' -exec sed --in-place 's/[[:space:]]\+$//' {} \+ and find . -type f -name '*.tex' -exec sed --in-place 's/[[:space:]]\+$//' {} \+ were used to do so.
87 lines
2.3 KiB
TeX
87 lines
2.3 KiB
TeX
\section*{Aufgabe 1}
|
|
\subsection*{Teilaufgabe a)}
|
|
|
|
\paragraph{Gegeben:}
|
|
|
|
\[A := \begin{pmatrix}
|
|
4 & 2 & 8\\
|
|
2 & 5 & 8\\
|
|
8 & 8 & 29
|
|
\end{pmatrix}\]
|
|
|
|
\paragraph{Aufgabe:} Cholesky-Zerlegung $A = \overline{L} \cdot \overline{L}^T$ berechnen
|
|
|
|
\paragraph{Rechenweg:}
|
|
Entweder mit dem Algorithmus:
|
|
\begin{algorithm}[H]
|
|
\begin{algorithmic}
|
|
\Function{Cholesky}{$A \in \mathbb{R}^{n \times n}$}
|
|
\State $L = \Set{0} \in \mathbb{R}^{n \times n}$ \Comment{Initialisiere $L$}
|
|
\For{($k=1$; $\;k \leq n$; $\;k$++)}
|
|
\State $L_{k,k} = \sqrt{A_{k,k} - \sum_{i=1}^{k-1} L_{k,i}^2}$
|
|
\For{($i=k+1$; $\;i \leq n$; $\;i$++)}
|
|
\State $L_{i,k} = \frac{A_{i,k} - \sum_{j=1}^{k-1} L_{i,j} \cdot L_{k,j}}{L_{k,k}}$
|
|
\EndFor
|
|
\EndFor
|
|
\State \Return $L$
|
|
\EndFunction
|
|
\end{algorithmic}
|
|
\caption{Cholesky-Zerlegung}
|
|
\label{alg:seq1}
|
|
\end{algorithm}
|
|
|
|
oder über die LR-Zerlegung:
|
|
\begin{align}
|
|
A &= L\cdot R\\
|
|
&= L\cdot(D\cdot L^T)\\
|
|
&= L\cdot(D^\frac{1}{2} \cdot D^\frac{1}{2})\cdot L^T\\
|
|
&= \underbrace{(L\cdot D^\frac{1}{2})}_{=: \overline{L}} \cdot (D^\frac{1}{2} \cdot L^T)
|
|
\end{align}
|
|
|
|
\paragraph{Lösung:}
|
|
$
|
|
\overline{L} =
|
|
\begin{pmatrix}
|
|
2 & 0 & 0 \\
|
|
1 & 2 & 0 \\
|
|
4 & 2 & 3 \\
|
|
\end{pmatrix}
|
|
$
|
|
|
|
|
|
\subsection*{Teilaufgabe b)}
|
|
\textbf{Gesucht}: $\det(A)$
|
|
|
|
Sei $P \cdot A = L \cdot R$, die gewohnte LR-Zerlegung.
|
|
|
|
Dann gilt:
|
|
|
|
\[\det(A) = \frac{\det(L) \cdot \det(R)}{\det(P)}\]
|
|
|
|
$\det(L) = 1$, da alle Diagonalelemente 1 sind und es sich um eine strikte untere Dreiecksmatrix handelt.
|
|
|
|
$\det(R) = r_{11} \cdot \ldots \cdot r_{nn}$, da es sich um eine obere Dreiecksmatrix handelt.
|
|
|
|
|
|
$\det(P) \in \Set{1, -1}$
|
|
|
|
Das Verfahren ist also:
|
|
|
|
\begin{algorithm}[H]
|
|
\begin{algorithmic}
|
|
\Require $A \in \mathbb{R}^{n \times n}$
|
|
\State $P, L, R \gets \Call{LRZerl}{A}$
|
|
\State $x \gets 1$
|
|
\For{$i$ in $1..n$}
|
|
\State $x \gets x \cdot r_{ii}$
|
|
\State $x \gets x \cdot p_{ii}$
|
|
\EndFor
|
|
\end{algorithmic}
|
|
\caption{Determinante berechnen}
|
|
\label{alg:seq1}
|
|
\end{algorithm}
|
|
|
|
Alternativ kann man auch in einer angepassten LR-Zerlegung direkt die
|
|
Anzahl an Zeilenvertauschungen zählen. Dann benötigt man $P$ nicht mehr.
|
|
Ist die Anzahl der Zeilenvertauschungen ungerade, muss das Produkt
|
|
der $r_ii$ negiert werden.
|