Commit 1489c695 authored by Sander, Oliver's avatar Sander, Oliver
Browse files

Mehr über die Eigenschaften von FE-Matrizen

parent 5327216f
Pipeline #6184 passed with stage
in 20 seconds
...@@ -396,8 +396,11 @@ Wir beschäftigen uns jetzt mit der Frage, wie die linearen ...@@ -396,8 +396,11 @@ Wir beschäftigen uns jetzt mit der Frage, wie die linearen
Gleichungssysteme~\eqref{eq:fe_lineares_gleichungssystem} gelöst werden können. Gleichungssysteme~\eqref{eq:fe_lineares_gleichungssystem} gelöst werden können.
\subsection{Eigenschaften von Finite-Elemente-Matrizen} \subsection{Eigenschaften von Finite-Elemente-Matrizen}
Finite-Elemente-Matrizen haben bestimmte Eigenschaften, die das Lösen schwierig machen.
\subsubsection{Größe} \subsubsection{Größe}
Die Matrizen aus dem obigen Beispiel können sehr groß werden. Finite-Elemente-Matrizen können sehr groß werden:
\begin{itemize} \begin{itemize}
\item Für jeden Lagrangeknoten enthält~\eqref{eq:fe_lineares_gleichungssystem} eine Gleichung. \item Für jeden Lagrangeknoten enthält~\eqref{eq:fe_lineares_gleichungssystem} eine Gleichung.
...@@ -406,7 +409,7 @@ Die Matrizen aus dem obigen Beispiel können sehr groß werden. ...@@ -406,7 +409,7 @@ Die Matrizen aus dem obigen Beispiel können sehr groß werden.
\item Je feiner das Gitter, desto präziser die Lösung, desto größer aber auch die Matrix. \item Je feiner das Gitter, desto präziser die Lösung, desto größer aber auch die Matrix.
\item Eine Zahl in doppelter Genauigkeit braucht $8$~Byte. In ein GB RAM \item Eine Zahl in doppelter Genauigkeit braucht $8$~Byte. In ein Gigabyte Hauptspeicher
passen also ca.\ $1{,}25\cdot 10^{8}$ Zahlen. passen also ca.\ $1{,}25\cdot 10^{8}$ Zahlen.
\end{itemize} \end{itemize}
...@@ -416,21 +419,37 @@ Die Matrizen aus dem obigen Beispiel können sehr groß werden. ...@@ -416,21 +419,37 @@ Die Matrizen aus dem obigen Beispiel können sehr groß werden.
\subsubsection{Kondition} \subsubsection{Kondition}
Die Matrizen sind schlecht konditioniert. Die Matrizen zu elliptischen Problemen sind positiv definit, aber sie
sind schlecht konditioniert.
\medskip
\emph{Beispiel:} $\Omega = [0,1]^2$, strukturiertes Dreiecksgitter mit Kantenlänge $h$. \emph{Beispiel:} Die Poisson-Gleichung auf $\Omega = [0,1]^2$, Finite-Elemente
mit Lagrange-Elementen auf einem strukturierten Dreiecksgitter mit Kantenlänge $h = \frac{1}{n}$.
\begin{itemize} \begin{itemize}
\item Die Eigenwerte von $A$ sind~\cite[Kapitel~12.3.3]{dahmen_reusken:2008} \item Die Eigenwerte der Steifigkeitsmatrix $A$ sind~\cite[Kapitel~12.3.3]{dahmen_reusken:2008}
\todo[inline]{Kommt noch} \begin{align*}
\lambda_{\nu \mu}
& =
\frac{4}{h^2} \Big[\sin^2 \Big(\frac{1}{2} \nu \pi h \Big)+\sin^2 \Big(\frac{1}{2} \mu \pi h \Big) \Big],
\qquad
1 \le \nu,\mu < n.
\end{align*}
\item Die Kondition ist deshalb (die Matrix ist symmetrisch) \item Die Kondition ist deshalb ($A$ ist symmetrisch)
\begin{equation*} \begin{equation*}
\kappa \kappa(A)
= =
\frac{\lambda_\text{max}}{\lambda_\text{min}} \frac{\lambda_\text{max}}{\lambda_\text{min}}
= =
\frac{\lambda_{n-1,n-1}}{\lambda_{1,1}}
=
\frac{\sin^2 \Big(\frac{1}{2} (n-1) \pi h \Big)}{\sin^2 \Big(\frac{1}{2} \pi h \Big)}
=
\frac{\cos^2 \big(\frac{1}{2} \pi h \big)}{\sin^2 \big(\frac{1}{2} \pi h \big)}
=
\frac{4}{(\pi h)^2} \big(1+\mathcal{O} (h^2) \big).
\end{equation*} \end{equation*}
\todo[inline]{Kommt noch}
\item Die Kondition hängt außerdem ab von: \item Die Kondition hängt außerdem ab von:
\begin{itemize} \begin{itemize}
...@@ -445,6 +464,8 @@ Die Matrizen sind schlecht konditioniert. ...@@ -445,6 +464,8 @@ Die Matrizen sind schlecht konditioniert.
\end{itemize} \end{itemize}
\end{itemize} \end{itemize}
\emph{Konsequenz:} Wir brauchen Lösungsverfahren, deren Geschwindigkeit
möglichst unabhängig von $\kappa(A)$ ist.
\begin{exercise} \begin{exercise}
...@@ -454,10 +475,10 @@ Die Matrizen sind schlecht konditioniert. ...@@ -454,10 +475,10 @@ Die Matrizen sind schlecht konditioniert.
\subsubsection{Dünnbesetztheit} \subsubsection{Dünnbesetztheit}
Mehr zu lesen findet man z.B. bei \citet{pissanetzky:1984}. Mehr zu dünnen Matrizen findet man z.B.\ bei \citet{pissanetzky:1984}.
\begin{itemize} \begin{itemize}
\item Ein Matrixeintrag $A_{ij} = a(\varphi_i, \varphi_j)$ ist genau dann \item Ein Matrixeintrag $A_{ij} \colonequals a(\varphi_i, \varphi_j)$ ist genau dann
nicht Null, wenn sich die Träger von $\varphi_i$ und $\varphi_j$ überlappen. nicht Null, wenn sich die Träger von $\varphi_i$ und $\varphi_j$ überlappen.
\item D.h.\ der überwiegende Teil der Matrixeinträge ist Null. \item D.h.\ der überwiegende Teil der Matrixeinträge ist Null.
...@@ -469,10 +490,6 @@ Mehr zu lesen findet man z.B. bei \citet{pissanetzky:1984}. ...@@ -469,10 +490,6 @@ Mehr zu lesen findet man z.B. bei \citet{pissanetzky:1984}.
die nicht von der Gitterauflösung abhängt. die nicht von der Gitterauflösung abhängt.
\item Die Matrix enthält also nur $O(n)$ Einträge \item Die Matrix enthält also nur $O(n)$ Einträge
\item Wendet man das Gauß-Verfahren auf solch eine Matrix an, so entstehen bei den Zwischenschritten in der Matrix eine beträchtliche Anzahl von zusätzlichen Einträgen ("`fill-in"').
\item Das Gauß-Verfahren ist deshalb nicht nur zu langsam, es braucht auch zu viel Speicher.
\end{itemize} \end{itemize}
\bigskip \bigskip
...@@ -495,9 +512,17 @@ Mehr zu lesen findet man z.B. bei \citet{pissanetzky:1984}. ...@@ -495,9 +512,17 @@ Mehr zu lesen findet man z.B. bei \citet{pissanetzky:1984}.
\end{algorithm} \end{algorithm}
Das braucht nur $O(\# \text{Nichtnulleinträge})$ Operationen (statt $O(n^2)$). Das braucht nur $O(\# \text{Nichtnulleinträge})$ Operationen (statt $O(n^2)$).
\bigskip
Direkte Verfahren wie Gauß-Elimination oder Cholesky-Zerlegung sind i.A. zu teuer. Direkte Verfahren wie Gauß-Elimination oder Cholesky-Zerlegung sind i.A. zu teuer.
\emph{Erinnerung:} Gauß-Elimination braucht $O(n^3)$ Rechenoperationen! \begin{itemize}
\item \emph{Erinnerung:} Gauß-Elimination braucht $O(n^3)$ Rechenoperationen!
\item Wendet man das Gauß-Verfahren auf solch eine Matrix an, so entstehen bei den Zwischenschritten in der Matrix eine beträchtliche Anzahl von zusätzlichen Einträgen ("`fill-in"').
\item Das Gauß-Verfahren ist deshalb nicht nur zu langsam, es braucht auch zu viel Speicher.
\end{itemize}
\subsection{Direkte Verfahren für dünnbesetzte Gleichungen} \subsection{Direkte Verfahren für dünnbesetzte Gleichungen}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment