Commit 60a8a89a authored by Sander, Oliver's avatar Sander, Oliver
Browse files

Verbessere die Erklärung der Mehrgittermethode

parent 7558e79c
Pipeline #6207 passed with stage
in 5 minutes and 37 seconds
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
\usepackage{overpic} \usepackage{overpic}
\usepackage{graphicx} \usepackage{graphicx}
\usepackage{tikz} \usepackage{tikz}
\usepackage{pgfplots}
\usepackage{amsfonts} \usepackage{amsfonts}
\usepackage{lmodern} \usepackage{lmodern}
...@@ -953,6 +954,9 @@ Sei $\kappa$ die Kondition der Matrix $A$. Dann gilt nach $k$ Schritten des CG-V ...@@ -953,6 +954,9 @@ Sei $\kappa$ die Kondition der Matrix $A$. Dann gilt nach $k$ Schritten des CG-V
\section{Mehrgitterverfahren: Der anschauliche Zugang} \section{Mehrgitterverfahren: Der anschauliche Zugang}
Das Ziel ist es, einen iterativen Löser zu konstruieren, dessen Konvergenzgeschwindigkeit
nicht von der Gitterweite $h$ abhängt.
\subsection{Glättung} \subsection{Glättung}
Gauß--Seidel-Verfahren und Jacobi-Verfahren sind für typische Finite-Elemente-Matrizen Gauß--Seidel-Verfahren und Jacobi-Verfahren sind für typische Finite-Elemente-Matrizen
...@@ -962,12 +966,14 @@ extrem langsam. ...@@ -962,12 +966,14 @@ extrem langsam.
Sie haben allerdings eine wichtige Eigenschaft, die wir uns Sie haben allerdings eine wichtige Eigenschaft, die wir uns
für Mehrgitterverfahren zunutze machen: für Mehrgitterverfahren zunutze machen:
\begin{itemize}
\item Die zwei Verfahren \emph{glätten}.
\end{itemize}
\emph{Beispiel:} Wir betrachten das Poisson-Problem \smallskip
$\longrightarrow$ Die zwei Verfahren \emph{glätten}.
\bigskip
\emph{Beispiel:} Wir betrachten wieder das Poisson-Problem
\begin{align*} \begin{align*}
-\Delta u & = 1 \qquad \text{auf $\Omega$}, \\ -\Delta u & = 1 \qquad \text{auf $\Omega$}, \\
u & = 0 \qquad \text{auf $\partial \Omega$,} u & = 0 \qquad \text{auf $\partial \Omega$,}
...@@ -976,8 +982,9 @@ auf dem Einheitsquadrat $\Omega = (0,1)^2$. ...@@ -976,8 +982,9 @@ auf dem Einheitsquadrat $\Omega = (0,1)^2$.
\medskip \medskip
Hier ist die Finite-Elemente-Lösung auf einem strukturierten Dreiecksgitter Das folgende Bild zeigt $u_h$, die Finite-Elemente-Lösung auf einem
mit $16 \times 16 \times 2$ Elementen, dargestellt als Höhenplot: strukturierten Dreiecksgitter mit $16 \times 16 \times 2$ Elementen
und Lagrange-Elementen erster Ordnung, dargestellt als Höhenplot:
\begin{center} \begin{center}
\includegraphics[width=0.6\textwidth,trim=0 50 0 10]{gs_from_zero_iterate50} \includegraphics[width=0.6\textwidth,trim=0 50 0 10]{gs_from_zero_iterate50}
\end{center} \end{center}
...@@ -987,22 +994,6 @@ mit dem Gauß--Seidel-Verfahren zu lösen. ...@@ -987,22 +994,6 @@ mit dem Gauß--Seidel-Verfahren zu lösen.
\bigskip \bigskip
Eine Iteration ist:
\begin{algorithm}[H]
\SetAlgoLined
% \caption{...}
\For{alle Zeilen $i$}
{
\begin{equation*}
x^{k+1}_i
\longleftarrow
\frac{1}{A_{ii}}
\bigg( b_i - \sum_{j=1}^{i-1} A_{ij} x^{k+1}_j - \sum_{j=1+1}^{n} A_{ij} x^k_j \bigg)
\end{equation*}
}
\end{algorithm}
Als Startiterierte $x^0$ wählen wir $x^0 = 0 \in \R^n$. Als Startiterierte $x^0$ wählen wir $x^0 = 0 \in \R^n$.
\bigskip \bigskip
...@@ -1015,17 +1006,17 @@ Hier sind einige der ersten Iterierten: ...@@ -1015,17 +1006,17 @@ Hier sind einige der ersten Iterierten:
\includegraphics[width=0.3\textwidth,trim=0 100 0 0]{gs_from_zero_iterate0} & \includegraphics[width=0.3\textwidth,trim=0 100 0 0]{gs_from_zero_iterate0} &
\includegraphics[width=0.3\textwidth,trim=0 100 0 0]{gs_from_zero_iterate1} \\ \includegraphics[width=0.3\textwidth,trim=0 100 0 0]{gs_from_zero_iterate1} \\
iterate $x^0$ & iterate $x^1$ \\ $x^0$ & $x^1$ \\
\includegraphics[width=0.3\textwidth,trim=0 100 0 0]{gs_from_zero_iterate2} & \includegraphics[width=0.3\textwidth,trim=0 100 0 0]{gs_from_zero_iterate2} &
\includegraphics[width=0.3\textwidth,trim=0 100 0 0]{gs_from_zero_iterate3} \\ \includegraphics[width=0.3\textwidth,trim=0 100 0 0]{gs_from_zero_iterate3} \\
iterate $x^2$ & iterate $x^3$ \\ $x^2$ & $x^3$ \\
\includegraphics[width=0.3\textwidth,trim=0 100 0 0]{gs_from_zero_iterate10} & \includegraphics[width=0.3\textwidth,trim=0 100 0 0]{gs_from_zero_iterate10} &
\includegraphics[width=0.3\textwidth,trim=0 100 0 0]{gs_from_zero_iterate50} \\ \includegraphics[width=0.3\textwidth,trim=0 100 0 0]{gs_from_zero_iterate50} \\
iterate $x^{10}$ & iterate $x^{50}$ $x^{10}$ & $x^{50}$
\end{tabular} \end{tabular}
\end{center} \end{center}
...@@ -1034,7 +1025,7 @@ tatsächlich recht lange. ...@@ -1034,7 +1025,7 @@ tatsächlich recht lange.
\bigskip \bigskip
Jetzt wollen wir zeigen was wir mit \glqq Gauß--Seidel glättet\grqq{} meinen. Wir zeigen was wir mit \glqq Gauß--Seidel glättet\grqq{} meinen.
\medskip \medskip
...@@ -1046,17 +1037,17 @@ verrauschten Startwert an. ...@@ -1046,17 +1037,17 @@ verrauschten Startwert an.
\includegraphics[width=0.3\textwidth,trim=0 50 0 0]{gs_from_noise_iterate0} & \includegraphics[width=0.3\textwidth,trim=0 50 0 0]{gs_from_noise_iterate0} &
\includegraphics[width=0.3\textwidth,trim=0 50 0 0]{gs_from_noise_iterate1} \\ \includegraphics[width=0.3\textwidth,trim=0 50 0 0]{gs_from_noise_iterate1} \\
iterate $x^0$ & iterate $x^1$ \\ $x^0$ & $x^1$ \\
\includegraphics[width=0.3\textwidth,trim=0 100 0 0]{gs_from_noise_iterate2} & \includegraphics[width=0.3\textwidth,trim=0 100 0 0]{gs_from_noise_iterate2} &
\includegraphics[width=0.3\textwidth,trim=0 100 0 0]{gs_from_noise_iterate3} \\ \includegraphics[width=0.3\textwidth,trim=0 100 0 0]{gs_from_noise_iterate3} \\
iterate $x^2$ & iterate $x^3$ \\ $x^2$ & $x^3$ \\
\includegraphics[width=0.3\textwidth,trim=0 100 0 0]{gs_from_noise_iterate10} & \includegraphics[width=0.3\textwidth,trim=0 100 0 0]{gs_from_noise_iterate10} &
\includegraphics[width=0.3\textwidth,trim=0 100 0 0]{gs_from_noise_iterate50} \\ \includegraphics[width=0.3\textwidth,trim=0 100 0 0]{gs_from_noise_iterate50} \\
iterate $x^{10}$ & iterate $x^{50}$ $x^{10}$ & $x^{50}$
\end{tabular} \end{tabular}
\end{center} \end{center}
...@@ -1069,8 +1060,26 @@ verrauschten Startwert an. ...@@ -1069,8 +1060,26 @@ verrauschten Startwert an.
verschwunden. verschwunden.
\end{itemize} \end{itemize}
Das kann man sich gut vorstellen: Ein Gauß--Seidel-Schritt ersetzt den Wert $x^k_i$
an einem Gitterknoten durch
\begin{equation*}
x^{k+1}_i
=
\frac{1}{A_{ii}}
\bigg( b_i - \sum_{j=1}^{i-1} A_{ij} x^{k+1}_j - \sum_{j=1+1}^{n} A_{ij} x^k_j \bigg).
\end{equation*}
Dabei tauchen in den Summen nur die Nachbarknoten auf.
\begin{itemize}
\item Zumindest in diesem Modellproblem sind die entsprechenden Koeffizienten
alle gleich.
\item $x^k_i$ wird also durch den Mittelwert seiner Nachbarn ersetzt.
\end{itemize}
\bigskip
So richtig überzeugend ist diese Argumentation noch nicht:
Das klingt komisch:
\begin{itemize} \begin{itemize}
\item Was würde passieren wenn die rechte Seite so gewählt wäre, \item Was würde passieren wenn die rechte Seite so gewählt wäre,
dass die Lösung des Poisson-Problems ein (festes) Rauschen wäre? dass die Lösung des Poisson-Problems ein (festes) Rauschen wäre?
...@@ -1086,65 +1095,84 @@ In Wirklichkeit ist es etwas anders: ...@@ -1086,65 +1095,84 @@ In Wirklichkeit ist es etwas anders:
\item Das Gauß--Seidel-Verfahren glättet die \emph{Fehler}! \item Das Gauß--Seidel-Verfahren glättet die \emph{Fehler}!
\end{itemize} \end{itemize}
\missingfigure{Sechs Bilder mit den Fehler für die obigen Iterierten!}
\subsection{Fourier-Analyse} \subsection{Fourier-Analyse}
\label{sec:jacobi_smoother} \label{sec:jacobi_smoother}
Wir untersuchen jetzt genauer, wie das Jacobi-Verfahren den Fehler glättet. Den Glättungseffekt von Gauß--Seidel- und Jacobi-Verfahren kann man besser verstehen,
wenn man sich wieder die Eigenwerte und Eigenfunktionen von $A$ und $I - CA$ anschaut.
(Das Gauß--Seidel-Verfahren glättet besser, aber es ist auch schwieriger \medskip
zu untersuchen. Wir lassen es hier aus.)
Wir untersuchen hier das Jacobi-Verfahren. Für das Gauß--Sidel-Verfahren geht es auch,
ist aber etwas komplizierter. Interessierte finden die Rechnung zum Beispiel bei
\citet{trottenberg}
\todo[inline]{Kapitelnummer!}
Zur Erinnerung: Das gedämpfte Jacobi-Verfahren ist Zur Erinnerung: Das gedämpfte Jacobi-Verfahren ist
\begin{equation*} \begin{equation*}
x^{k+1} x^{k+1}
= =
(I - \omega D^{-1}A)x^k + D^{-1}b. (I - \eta D^{-1}A)x^k + D^{-1}b.
\end{equation*} \end{equation*}
Wir betrachten wieder das Modellproblem. Dort ist Wir betrachten wieder das Modellproblem. Dort ist
\begin{equation*} \begin{equation*}
A_ii = \frac{4}{h^2} D_i \colonequals A_{ii} = \frac{4}{h^2}
\qquad \qquad
\text{für alle $i=1,\dots,n$}, \text{für alle $i=1,\dots,n$},
\end{equation*} \end{equation*}
und somit und somit
\begin{equation*} \begin{equation*}
x^{k+1} = (I- \omega \frac{h^2}{4} A) x^k + \frac{h^2}{4}b. x^{k+1} = (I- \eta \frac{h^2}{4} A) x^k + \frac{h^2}{4}b.
\end{equation*} \end{equation*}
Um das Glättungsverhalten des Jacobi-Verfahrens zu verstehen berechnen wir Um das Glättungsverhalten des Jacobi-Verfahrens zu verstehen berechnen wir
die Eigenfunktionen der Iterationsmatrix $I - \omega \frac{h^2}{4}A$. die Eigenfunktionen der Iterationsmatrix $I - \omega \frac{h^2}{4}A$.
\medskip
Die Eigenfunktionen von $I - \omega \frac{h^2}{4}A$ sind offensichtlich Die Eigenfunktionen von $I - \omega \frac{h^2}{4}A$ sind offensichtlich
die selben wie die von $A$, und zwar die selben wie die von $A$, und zwar
\begin{equation*} \begin{equation*}
\varphi_h^{i,j} \varphi_h^{\nu,\mu}
= =
\sin i\pi x \cdot \sin j \pi y. \sin \nu\pi x \cdot \sin \mu \pi y.
\end{equation*} \end{equation*}
Die Eigenwerte von $A$ sind Die Eigenwerte von $A$ sind
\todo[inline]{Fehlen noch}
Die Eigenwerte von $I - \omega \frac{h^2}{4}A$ sind
\begin{equation*} \begin{equation*}
\chi_h^{i,j} \lambda{\nu\mu}
= =
1 - \frac{\omega}{2} ( 2 - \cos i \pi h - \cos j \pi h) \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
\forall 1 \le \nu,\mu < n.
\end{equation*} \end{equation*}
Die Eigenwerte von $I - \eta \frac{h^2}{4}A$ sind
\begin{equation*}
\chi_h^{\nu,\mu}
=
1 - \eta \frac{h^2}{4} \lambda^{\nu,\mu}
=
1 - \frac{\eta}{2} ( 2 - \cos \nu \pi h - \cos \mu \pi h)
\end{equation*}
(wegen der Rechenregel $2\sin^2 \alpha = 1 - \cos 2\alpha$).
\bigskip \bigskip
Die Konvergenzgeschwindigkeit des Verfahrens wird bekanntlich durch den Die Konvergenzgeschwindigkeit des Verfahrens wird bekanntlich durch den
Spektralradius von $I-CA$ bestimmt, und der ist hier für alle $0 < \omega \le 1$ Spektralradius von $I-CA$ bestimmt, und der ist hier für alle $0 < \eta \le 1$
\begin{equation*} \begin{equation*}
\rho (I-CA) \rho (I-CA)
= =
\abs{\chi_h^{1,1}} \abs{\chi_h^{1,1}}
= =
\abs{1 - \omega(1-\cos \pi h)} \abs{1 - \eta(1-\cos \pi h)}
= =
1 - O(\omega h^2). 1 - O(\eta h^2).
\end{equation*} \end{equation*}
Falls $\omega \le 0$ oder $\omega >1$ gilt Falls $\eta \le 0$ oder $\eta >1$ gilt
\begin{equation*} \begin{equation*}
\rho(I-CA) > 1 \rho(I-CA) > 1
\end{equation*} \end{equation*}
...@@ -1154,41 +1182,133 @@ Falls $\omega \le 0$ oder $\omega >1$ gilt ...@@ -1154,41 +1182,133 @@ Falls $\omega \le 0$ oder $\omega >1$ gilt
Jetzt schreiben wir die Fehlerfortpflanzung Jetzt schreiben wir die Fehlerfortpflanzung
\begin{equation*} \begin{equation*}
e^{k+1} = x^{k+1} - x^* e^{k+1} \colonequals x^* - x^{k+1}
= =
(I - \omega \frac{h^2}{4}A)(x^k - x^*) \Big(I - \eta \frac{h^2}{4}A\Big)(x^* - x^k)
\end{equation*} \end{equation*}
in der Eigenvektorbasis in der Eigenvektorbasis der Iterationsmatrix
\begin{align*} \begin{align*}
e^k e^k
& = & =
\sum_{i,j = 1}^n \alpha_{i,j}^k \cdot \varphi_h^{i,j} \\ \sum_{\nu,\mu = 1}^n \alpha_{\nu,\mu}^k \cdot \varphi_h^{\nu,\mu} \\
% %
e^{k+1} e^{k+1}
& = & =
(I - \omega \frac{h^2}{4}A) e^k \Big(I - \eta \frac{h^2}{4}A\Big) e^k
= =
\sum_{i,j = 1}^n \chi_h^{i,j} \alpha_{i,j}^k \cdot \varphi_h^{i,j}. \sum_{\nu,\mu = 1}^n \chi_h^{\nu,\mu} \alpha_{\nu,\mu}^k \cdot \varphi_h^{\nu,\mu}.
\end{align*} \end{align*}
Die Eigenfunktionen sind \glqq hochfrequent\grqq{} für große $i$, $j$, Die Eigenfunktionen sind \glqq hochfrequent\grqq{} für große $\nu$, $\mu$,
und \glqq niederfrequent\grqq{} für kleine $i$, $j$. und \glqq niederfrequent\grqq{} für kleine $\nu$, $\mu$.
\medskip
Gleichzeitig sind die Eigenwerte für große $i$, $j$ klein, und für kleine $i$, $j$, groß.
\missingfigure{Eigenwerte als Funktion von $i$ und $j$.}
Deshalb verschwinden die hochfrequenten Anteile des Fehlers schnell,
obwohl der Fehler insgesamt nur sehr langsam verschwindet.
\begin{center}
\begin{tabular}{ccc}
\begin{tikzpicture}[scale=0.5]
\begin{axis}[zmin=-1,zmax=1]
\addplot3 [surf,
samples=16,
domain=0:1,y domain=0:1
] {sin(deg(pi * x)) * sin(deg(pi*y))};
\end{axis}
\end{tikzpicture}
&
\begin{tikzpicture}[scale=0.5]
\begin{axis}
\addplot3 [surf,
samples=16,
domain=0:1,y domain=0:1
] {sin(deg(pi * x)) * sin(deg(2*pi*y))};
\end{axis}
\end{tikzpicture}
&
\begin{tikzpicture}[scale=0.5]
\begin{axis}
\addplot3 [surf,
samples=16,
domain=0:1,y domain=0:1
] {sin(deg(pi * x)) * sin(deg(3*pi*y))};
\end{axis}
\end{tikzpicture}
\\
\begin{tikzpicture}[scale=0.5]
\begin{axis}
\addplot3 [surf,
samples=16,
domain=0:1,y domain=0:1
] {sin(deg(2*pi * x)) * sin(deg(pi*y))};
\end{axis}
\end{tikzpicture}
&
\begin{tikzpicture}[scale=0.5]
\begin{axis}
\addplot3 [surf,
samples=16,
domain=0:1,y domain=0:1
] {sin(deg(2*pi * x)) * sin(deg(2*pi*y))};
\end{axis}
\end{tikzpicture}
&
\begin{tikzpicture}[scale=0.5]
\begin{axis}
\addplot3 [surf,
samples=16,
domain=0:1,y domain=0:1
] {sin(deg(2*pi * x)) * sin(deg(3*pi*y))};
\end{axis}
\end{tikzpicture}
\\
\begin{tikzpicture}[scale=0.5]
\begin{axis}
\addplot3 [surf,
samples=16,
domain=0:1,y domain=0:1
] {sin(deg(3*pi * x)) * sin(deg(pi*y))};
\end{axis}
\end{tikzpicture}
&
\begin{tikzpicture}[scale=0.5]
\begin{axis}
\addplot3 [surf,
samples=16,
domain=0:1,y domain=0:1
] {sin(deg(3*pi * x)) * sin(deg(2*pi*y))};
\end{axis}
\end{tikzpicture}
&
\begin{tikzpicture}[scale=0.5]
\begin{axis}
\addplot3 [surf,
samples=16,
domain=0:1,y domain=0:1
] {sin(deg(3*pi * x)) * sin(deg(3*pi*y))};
\end{axis}
\end{tikzpicture}
\end{tabular}
\end{center}
\medskip
Gleichzeitig sind die Eigenwerte für große $\nu$, $\mu$ klein, und für kleine $\nu$, $\mu$, groß.
\todo[inline]{Noch mal nachprüfen -- das stimmt gar nicht...}
Der folgende Plot zeigt sie für $\eta = 1$:
\begin{center}
\begin{tikzpicture}
\begin{axis}[colorbar]
\addplot3 [surf,
% faceted color=blue,
samples=15,
domain=1:15,y domain=1:15
] {1 - 0.5*(2 - cos (deg(x*pi/16)) - cos (deg(y*pi/16)))};
\end{axis}
\end{tikzpicture}
\end{center}
Deshalb verschwinden die hochfrequenten Anteile des Fehlers schnell,
obwohl der Fehler insgesamt nur sehr langsam verschwindet.
\subsection{Zweigitterverfahren} \subsection{Zweigitterverfahren}
...@@ -1196,17 +1316,22 @@ obwohl der Fehler insgesamt nur sehr langsam verschwindet. ...@@ -1196,17 +1316,22 @@ obwohl der Fehler insgesamt nur sehr langsam verschwindet.
Die zweite wichtige Einsicht ist: Die zweite wichtige Einsicht ist:
\begin{itemize} \begin{itemize}
\item Der Fehler $e^k \colonequals x^* - x^k$ löst eine lineare Gleichung \item Angenommen wir haben als aktuelle Iterierte $x^k$. Statt der Lösung $x^*$
könnten wir auch versuchen, den aktuellen Fehler $e^k \colonequals x^* - x^k$
auszurechnen.
\item Der Fehler $e^k$ löst eine lineare Gleichung
\begin{equation*} \begin{equation*}
A(x^k + e) = b \qquad \iff \qquad Ae = b - Ax^k \equalscolon r^k. A(x^k + e) = b \qquad \iff \qquad Ae = b - Ax^k \equalscolon r^k.
\end{equation*} \end{equation*}
\item Da $e^k$ glatt ist reicht es, $Ae = r^k$ auf einem gröberen Gitter lösen. \item Da $e^k$ glatt ist kann man eine gute Approximation erwarten, wenn man
die Fehlergleichung $Ae = r^k$ auf einem gröberen Gitter löst.
\end{itemize} \end{itemize}
Wir konstruieren uns deshalb ein zweites gröberes Gitter $\mathcal{T}_\text{grob}$ so, Wir konstruieren uns deshalb ein zweites gröberes Gitter $\mathcal{T}_\text{grob}$ so,
dass der dazugehörige Finite-Elemente-Raum $V_h^\text{grob}$ ein Teilraum dass der dazugehörige Finite-Elemente-Raum $V_h^\text{grob}$ ein Teilraum
von $V_h^\text{fein} = V_H$ ist. von $V_h^\text{fein} = V_h$ ist.
\begin{center} \begin{center}
\begin{tikzpicture}[scale=0.35] \begin{tikzpicture}[scale=0.35]
...@@ -1230,10 +1355,14 @@ von $V_h^\text{fein} = V_H$ ist. ...@@ -1230,10 +1355,14 @@ von $V_h^\text{fein} = V_H$ ist.
\end{center} \end{center}
\begin{itemize} \begin{itemize}
\item Definiere Prolongationsoperator als die kanonische Injektion \item Wir definieren eine Abbildung aus dem groben in den feinen Funktionenraum
\begin{equation*} \begin{equation*}
P : V_h^\text{grob} \to V_h^\text{fein} P : V_h^\text{grob} \to V_h^\text{fein}.
\end{equation*} \end{equation*}
Man nennt $P$ den \emph{Prolongationsoperator}.
\item Da in diesem Beispiel die Räume geschachtelt sind nehmen wir einfach
die kanonische Injektion:
\begin{center} \begin{center}
\includegraphics[width=0.3\textwidth]{coarse_function} \includegraphics[width=0.3\textwidth]{coarse_function}
...@@ -1242,37 +1371,43 @@ von $V_h^\text{fein} = V_H$ ist. ...@@ -1242,37 +1371,43 @@ von $V_h^\text{fein} = V_H$ ist.
\end{center} \end{center}
\end{itemize} \end{itemize}
Mit $P$ kann man Funktionen vom groben auf das feine Gitter transferieren, Wenn $P$ wie hier die kanonische Injektion ist kann man Funktionen vom groben auf das feine Gitter transferieren,
ohne einen Fehler zu machen. ohne einen Fehler zu machen.
\medskip \subsubsection{Konstruktion des Grobgitterproblems}
Um die Fehlergleichung auf dem groben Gitter lösen zu können brauchen wir
eine algebraische Darstellung.
\begin{itemize} \begin{itemize}
\item Genauer: Wir brauchen eine Matrix $A^H$ und einen Vektor $r^H$,
der der Bilinearform $a(\cdot,\cdot)$ und dem Residuum $\ell(\cdot) - a(u_h^k,\cdot)$
auf dem groben Gitter entspricht.
\item Natürlich können wir keine Funktion vom feinen Gitter auf das grobe Gitter \item Natürlich können wir keine Funktion vom feinen Gitter auf das grobe Gitter
übertragen, ohne einen Approximationsfehler zu machen. übertragen, ohne einen Approximationsfehler zu machen.
\item \emph{Aber:} Wir können Linearformen $\ell(\cdot) : V_h^\text{fein} \to \R$ \item \emph{Aber:} Wir können Linearformen $\mathcal{L}(\cdot) : V_h^\text{fein} \to \R$
auf den groben FE-Raum beschränken: auf den groben FE-Raum beschränken:
\begin{equation*} \begin{equation*}
\ell^\text{grob}(v_h) \colonequals \ell^\text{fein}(Pv_h) \mathcal{L}^\text{grob}(v_h) \colonequals \mathcal{L}^\text{fein}(Pv_h)
\qquad \qquad
\forall v_h \in V_h^\text{grob}. \forall v_h \in V_h^\text{grob}.
\end{equation*} \end{equation*}
\item Das Residuum $r^k$ ist die algebraische Darstellung so einer Linearform: \item Das Residuum $r^\text{fein} \colonequals r^k$ ist die algebraische Darstellung so einer Linearform:
Funktionenraum: Im Funktionenraum:
\begin{equation*} \begin{equation*}
r^k(v_h) \colonequals \langle b,v_h \rangle - a(u_h^k,v_h) r^k(v_h) \colonequals \ell(v_h) - a(u_h^k,v_h)
\qquad \qquad
\forall v_h \in V_h^\text{fein} \forall v_h \in V_h^\text{fein}