Commit 5d66cdc7 authored by Sander, Oliver's avatar Sander, Oliver
Browse files

Nichtlineares Mehrgitter

parent f8378e8a
Pipeline #6855 passed with stage
in 3 minutes and 46 seconds
......@@ -202,3 +202,14 @@ year = {2013}
year = {1987},
editor = {Roland Glowinski and Gene Golub and G. Meurant and J. Periaux},
}
@article{graeser_sander:2019,
author = {Gr{\"a}ser, C. and Sander, O.},
title = {Truncated Nonsmooth {N}ewton Multigrid Methods for Block-Separable Minimization Problems},
year = {2019},
journal = {IMA J. Numer. Anal.},
volume = {39},
issue = {1},
pages = {454--481},
doi = {10.1093/imanum/dry073}
}
......@@ -9683,6 +9683,7 @@ ist konzeptionell interessanter. Wir beschäftigen uns hier deshalb nur mit Ans
\section{Nichtlineare Teilraumkorrekturverfahren}
\label{sec:nonlinear_dd}
Die grundlegende Idee der Mehrgitterverfahren ändert sich für nichtlineare Probleme nicht:
\begin{itemize}
......@@ -10085,12 +10086,13 @@ ist das gang und gäbe.
Das Funktional $\psi : X \to \R \cup \{ \infty \}$ soll konvex und unterhalbstetig
sein. Weiterhin soll es separierbar bzgl.\ den Teilräumen $X_i$ sein.
Damit meinen wir dass für alle $(x_1,\dots,x_N) \in X_1 \times \dots X_N$
\begin{equation*}
\begin{equation}
\label{eq:carstensen_separability}
\psi \Big( \sum_{j=1}^N x_j\Big) = \sum_{j=1}^N \psi(x_j).
\end{equation*}
\end{equation}
Außerdem brauchen wir dass für alle $x_j \in X_j$ und $y_j \in \sum_{k=1,k\neq j}^N X_k$
\begin{equation}
\label{eq:nonsmooth_independence}
\label{eq:carstensen_nonsmooth_independence}
\psi(x_j + P_j y_j) = \psi(x_j).
\end{equation}
\todo[inline]{Diese Bedingung besser erklären!}
......@@ -10236,7 +10238,7 @@ Nach Konstruktion des Algorithmus ist
\forall k \in \{ j-N+1, \dots, j\}.
\end{equation*}
Wegen der Separierbarkeit~\eqref{eq:nonsmooth_independence} erhält man
Wegen der Separierbarkeit~\eqref{eq:carstensen_nonsmooth_independence} erhält man
\begin{equation}
\label{eq:carstensen_3.7}
\psi(P_k(u_{n+\frac{k}{N}} - u_\nu) + P_k u) = \psi(P_k u)
......@@ -10253,7 +10255,7 @@ Jetzt schauen wir uns einen Summanden von~\eqref{eq:nonsmooth_sum} an:
\sum_{m=j-N+1}^j\psi( P_m (u_{n+\frac{k}{N}} - P_k(u_\nu - u))) - \sum_{m=j-N+1}^j \psi(P_m u_{n + \frac{k}{N}}) \\
& \qquad (\text{Separierbarkeit})
\end{align*}
Wegen~\eqref{eq:nonsmooth_independence} erhält man
Wegen~\eqref{eq:carstensen_nonsmooth_independence} erhält man
\begin{equation*}
= \psi( P_k u_{n+\frac{k}{N}} - P_k P_k(u_\nu - u)) - \psi(P_k u_{n + \frac{k}{N}})
\end{equation*}
......@@ -10349,10 +10351,496 @@ und zum anderen die Behauptung
\end{proof}
\section{Das Full Approximation Scheme (FAS)}
(Der Inhalt dieses Kapitels kommt aus~\cite[Kapitel~5.3]{trottenberg_oosterlee_schueller:2001}.)
\medskip
Das Full Approximation Scheme (FAS) ist eine Möglichkeit, die Mehrgitteridee \emph{direkt}
auf ein nichtlineares Problem anzuwenden.
\medskip
Wie bisher auch kann man alles Wichtige mit zwei Gittern erklären. Die Verallgemeinerung
auf eine größere Anzahl von Gittern erfolgt dann wieder durch Rekursion.
\medskip
Seien also $X_H$ und $X_h$ zwei Funktionenräume mit $X_H \subset X_h$.
Auf $X_h$ betrachten wir die Gleichung
\begin{equation*}
A_h u_h = f_h,
\end{equation*}
wobei $A_h : X_h \to X_h^*$ ein nichtlinearer Operator ist.
\bigskip
Die Grundidee der Mehrgittermethode ist die selbe wie im linearen Fall:
\begin{enumerate}
\item Glätte den Fehler so dass er auf einem gröberen Gitter gut dargestellt
werden kann.
\item Löse eine Fehlergleichung auf dem gröberen Gitter.
\item Addiere die Grobgitterkorrektur zur Feingitteriterierten.
\end{enumerate}
\bigskip
Nichtlineare Glätter wurden im vorigen Kapitel besprochen.
Jetzt geht es um die Fehlergleichung.
\medskip
Sei $\bar{u}_h^m \in X_h$ die aktuelle Iterierte nach dem Glätten.
\smallskip
Das (nichtlineare) Residuum ist $d_h \colonequals f_h - A_h \bar{u}^m_h$.
\medskip
Als Fehlergleichung nehmen wir
\begin{equation*}
A_h(\bar{u}^m_h + v_h^m) - A_h \bar{u}^m_h = d_h.
\end{equation*}
Die Lösung $v_h^m$ dieser Gleichung ist der Fehler, denn
\begin{equation*}
\bar{u}_h^m + v_h^m
\qquad
\text{löst}
\qquad
A_h u_h = f_h.
\end{equation*}
Wir konstruieren jetzt eine Grobgitterversion der Fehlergleichung.
\smallskip
Dazu müssen wir den Defekt $d_h$ und die aktuelle Iterierte $\bar{u}^m_h$
auf das gröbere Gitter transportieren. Da $\bar{u}_h^m \in X_h$ aber
$d_h \in X_h^*$ brauchen wir dazu zwei (im Allgemeinen) unterschiedliche
Restriktionsoperatoren
\begin{equation*}
\hat{I}_h^H : \bar{u}^m_h \mapsto \bar{u}^m_H
\qquad \text{und} \qquad
I_h^H : d_h \mapsto d_H.
\end{equation*}
Die Defektgleichung auf dem groben Gitter ist dann
\begin{equation*}
A_H(\hat{I}_h^H\bar{u}_h^m + v_H) - A_H \hat{I}_h^H\bar{u}^m_h = I_h^Hd_h,
\end{equation*}
bzw.
\begin{equation}
\label{eq:fas_coarse_error_equation}
A_H(\bar{u}_H^m + v_H) - A_H \bar{u}^m_H = d_H.
\end{equation}
\emph{Beachte:} Wenn $A_h$ linear ist dann ist
\begin{equation*}
A_h(\bar{u}_h^m + v_h) - A_h \bar{u}^m_h = A_h v_h,
\end{equation*}
und die aktuelle Iterierte muss nicht auf das grobe Gitter übertragen werden.
\medskip
Folgende Art von Restriktions/Prolongationsoperatoren sind typisch:
\begin{itemize}
\item Für $I_H^h : X_H \to X_h$: Die natürliche Injektion $X_H \to X_h$.
\item Für $I_h^H : X_h^* \to X_H^*$: Die transponierte Injektion $(I_H^h)^T$.
\item Für $\hat{I}_h^H : X_h \to X_H$: Bei Lagrange-Räumen oder
Finite-Differenzen-Diskretisierungen lässt man hier häufig einfach
Freiheitsgrade weg.
\end{itemize}
\begin{example}
$\Omega = (0,1)$, ein Gitter mit vier Elementen, Lagrange-Elemente erster Ordnung:
\begin{align*}
I^H_h
& =
\begin{pmatrix}
1 & \frac{1}{2} & 0 & 0 & 0 & 0 & 0\\
0 & \frac{1}{2} & 1 & \frac{1}{2} & 0 & 0 & 0 \\
0 & 0 & \frac{1}{2} & 1 & \frac{1}{2} & 0 & 0 \\
0 & 0 & 0 & 0 & \frac{1}{2} & 1 & \frac{1}{2}
\end{pmatrix}
\\
\hat{I}^H_h
& =
\begin{pmatrix}
1 & 0 & 0 & 0 & 0 & 0 & 0\\
0 & 0 & 1 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 1 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 1 & 0
\end{pmatrix}
\end{align*}
\end{example}
\medskip
Man bekommt den folgenden schematischen Ablauf (\cite{trottenberg_oosterlee_schueller:2001}, Bild~5.10).
\missingfigure{Bild vom Zweigitter-FAS}
Für ein FAS mit mehr als zwei Gittern löst man jetzt einfach wieder die
Grobgitterfehlergleichung~\eqref{eq:fas_coarse_error_equation} inexakt mit FAS.
\todo[inline]{Man erhält das folgende Verfahren:}
Es gibt kaum Konvergenztheorie für diesen Algorithmus. Ein Beispiel
ist \cite{reusken}.
\section{Abgeschnittenes Newton-Mehrgitter (TNNMG)}
Hier ist ein alternativer Ansatz.
\medskip
Für stark konvexe Minimierungsprobleme konnten wir zeigen dass die Glätter
aus Kapitel~\ref{sec:nonlinear_dd} konvergieren.
\medskip
Allerdings sind diese Verfahren sehr langsam, und können deshalb nicht direkt
zum Lösen von nichtlinearen Gleichungen verwendet werden.
\medskip
Zur Beschleunigung
verbinden wir sie mit einem Newton-Verfahren:
\begin{enumerate}
\item Eine Iteration des nichtlinearen Glätters
\item Einen Newton-Schritt
\begin{equation*}
u^{\nu + 1} = u^\nu - (\nabla A_h(u^\nu))^{-1} A_h(u^\nu).
\end{equation*}
\end{enumerate}
Den Newton-Schritt würde man mit einem Mehrgitterverfahren machen
(es ist ein lineares Problem).
\smallskip
Man kann dann vielleicht noch Konvergenz zeigen?
\medskip
Andererseits ist so eine Iteration teuer:
Bei jeder Iteration wird ein globales lineares Problem gelöst!
\medskip
Reicht es vielleicht, das Newton-Verfahren inexakt zu lösen?
\begin{itemize}
\item Zum Beispiel mit \emph{nur einem} Mehrgitterschritt?
\end{itemize}
\medskip
\emph{Bemerkung:} Wir haben diese Verfahren hier als nichtlineare
Schwarz-Verfahren mit einem Beschleunigungsschritt eingeführt.
Man kann sie aber auch als inexakte Newton-Verfahren mit einem
nichtlinearen Schwarz-Vorkonditionierer betrachten.
So kommt man zu den sogenannten ASPIN/MSPIN-Verfahren
(Additive/Multiplicative Schwarz Preconditioned Inexact Newton)
\cite{keyes}.
\subsection{Konvergenz für strikt konvexe Minimierungsprobleme}
\label{eq:convergence_tnnmg_smooth}
Es gibt verschiedene Ansätze, Konvergenz eines solchen Verfahrens
zu zeigen.
\begin{itemize}
\item Es gibt verschiedene Ansätze.
\end{itemize}
Wir konzentrieren uns wieder auf konvexe Minimierungsprobleme.
Dann kann man im Beweis mit der Energie argumentieren.
\smallskip
Sei deshalb $\phi : X_h \to \R$ jetzt ein strikt konvexes, koerzitives
und zweimal stetig differenzierbares Funktional.
\medskip
Wir verallgemeinern noch das Verfahren: Statt einem (inexakten)
Newton-Schritt darf jetzt \emph{irgendetwas} gemacht werden,
solange es die Energie nicht vergrößert.
\medskip
\begin{algorithm}[H]
\SetAlgoLined
\KwIn{Aktuelle Iterierte $u^\nu$}
\Begin(Nichtlineares Vorglätten){
Setze $w^{\nu,0} \leftarrow u^\nu$\\
\For{$k=1,\dots,m$}{
Compute $w^{\nu,k} \in w^{\nu,k-1} + V_k$:
\begin{align*}
w^{\nu,k} \leftarrow \mathcal{M}_k w^{\nu,k-1}
\qquad \qquad
\mathcal{M}_k w^{\nu,k-1} \colonequals
\argmin_{v \in w^{\nu,k-1} + V_k} J(v)
\end{align*}
}
Set $u^{\nu+\frac12} \leftarrow w^{\nu,m}$
}
\Begin(Lineare Korrektur){
$u^{\nu+1} = \mathcal{C}(u^{\nu + \frac{1}{2}})$, mit $\mathcal{C}$
so dass $\phi(u^{\nu+1}) \le \phi(u^{\nu + \frac{1}{2}})$.
}
\end{algorithm}
Unter den genannten Bedingungen gilt:
\begin{lemma}
Für alle $k=1,\dots,N$ ist der lokale Minimierungsoperator
$\mathcal{M}_k$ stetig.
\end{lemma}
\begin{theorem}[{\cite[Theorem~4.1]{graeser_sander:2019}}]
Für alle $u^0 \in X$ konvergiert das Verfahren gegen den eindeutigen
Minimierer $u^*$ von $\phi$ in $X$.
\end{theorem}
\begin{proof}
\begin{itemize}
\item Nach Konstruktion ist die Folge $(\phi(u^\nu))$ monoton fallend.
\item Deshalb sind alle Iterierten $(u^\nu)$ in der Menge
\begin{equation*}
\big \{ x \in X \; : \; \phi(x) \le \phi(u^0) \big \}
\end{equation*}
enthalten. Da $\phi$ koerzitiv und stetig ist ist diese Menge
abgeschlossen und beschränkt.
\item Also hat $(u^\nu)$ eine konvergente Teilfolge $(u^{\nu_l})$
mit $u^{\nu_l} \to u$.
Wir zeigen dass $u$ der Minimierer von $\phi$ ist.
\item Bezeichne mit $w^{\nu,0}, \dots, w^{\nu,N}$ die Zwischenschritte
des Glätters in der $\nu$-ten Iteration.
\item Diese sind auch beschränkt, und deshalb gibt es für jedes $k=0,\dots,N$
wieder Teilfolgen $w^{\nu_l.k}$ und Grenzwerte $w^k$ so dass
\begin{equation*}
w^{\nu_l,k} \xrightarrow{l \to \infty} w^k
\qquad
\forall k=0,\dots,N.
\end{equation*}
\item Insbesondere haben wir
\begin{equation*}
w^{\nu_l,0} = u^{\nu_l} \to u = w^0.
\end{equation*}
\item Für jedes $k=1,\dots,N$ haben wir
\begin{align*}
\phi(w^{\nu_{l+1},k-1})
& \le
\phi(w^{\nu_l,k}) \\
& =
\phi(\mathcal{M}_k (w^{\nu_l,k-1})) \\
& \le
\phi(w^{\nu_l,k-1}).
\end{align*}
\item Jetzt betrachten wir den Grenzwert $l \to \infty$.
Da $\phi$ und $\mathcal{M}_k$ stetig sind erhält man
\begin{align*}
\phi(w^{k-1})
& \le
\phi(w^k) \\
& =
\phi(\mathcal{M}_k(w^{k-1})) \\
& \le
\phi(w^{k-1}).
\end{align*}
\item Da $w^k$ der eindeutige Minimierer von $\phi$ in $w^{k-1} + X_k$ ist
erhält man $w^k = w^{k-1}$.
\item Da das für alle $k$ gilt erhält man
\begin{equation*}
w^N = w^{N-1} = \dots = w^0 = u,
\end{equation*}
und somit $\mathcal{M}_k(u) = u$ für alle $k=1,\dots, N$.
\item Für den Grenzwert $u$ gilt also
\begin{equation*}
\phi(u) \le \phi(u+v)
\qquad
\forall v \in X_k, \qquad k=1,\dots,N.
\end{equation*}
\item Da $\phi$ stetig differenzierbar ist ist $u$ ein lokaler Minimierer von $\phi$.
\item Das $\phi$ strikt konvex ist ist $u$ der einzige (und somit globale)
Minimierer.
\qedhere
\end{itemize}
\end{proof}
Dieser Konvergenzsatz ist ziemlich schwach:
\begin{itemize}
\item Keine Konvergenzraten
\item Von $h$-unabhängigen Raten ganz zu schweigen.
\item Andererseits macht er fast gar keine Annahmen über den Korrekturschritt
$\mathcal{C}$.
\end{itemize}
\subsection{Verallgemeinerung auf nichtglatte Probleme}
Das Interessante an diesem Algorithmus ist dass man ihn wieder auf nichtglatte
Probleme anwenden kann.
\medskip
Sei also wieder
\begin{equation*}
\mathcal{J} : X \to \R \cup \{\infty\}
\qquad
\mathcal{J} = \phi + \psi
\end{equation*}
mit einer Funktion $\phi : X \to \R$ wie in Kapitel~\ref{eq:convergence_tnnmg_smooth}
und einer Funktion $\psi : X \to \R + \{\infty\}$ die konvex und unterhalbstetig ist.
\medskip
Da für solche Funktionen nicht automatisch gilt dass
\begin{equation}
\label{eq:tnnmg_u_is_minimizer}
J(u) \le J(u+v)
\qquad
\forall v \in X
\end{equation}
falls
\begin{equation}
\label{eq:tnnmg_u_is_separate_minimizer}
J(u) \le J(u+v)
\qquad
\forall v \in X_k,
\qquad
k=1,\dots,N
\end{equation}
fordern wir das explizit, und nennen es \emph{Kompatibilität}.
\medskip
Diese Bedingung gilt insbesondere wenn
\begin{equation*}
X = X_1 + \dots + X_N
\end{equation*}
eine direkte Summe ist, und
\begin{equation*}
\psi(x)
=
\sum_{i=1}^N \psi(P_i x)
\end{equation*}
für passende Projektionsoperatoren $P_i$.
\medskip
\begin{example}
Ein Beispiel ist wieder
\begin{equation*}
\psi(x) = \sum_{i=1}^N \abs{x_i}
\end{equation*}
mit der Zerlegung von $X = \R^N$ in die kanonischen Richtungen.
\end{example}
\begin{exercise}
Konstruieren Sie eine Funktion $J$ und eine Zerlegung $\{X_k\}$ für die aus~\eqref{eq:tnnmg_u_is_separate_minimizer}
nicht~\eqref{eq:tnnmg_u_is_minimizer} folgt.
\end{exercise}
\begin{exercise}
Wie ist das Verhältnis dieser Bedingung zu den Bedingungen~\eqref{eq:carstensen_separability}
und~\eqref{eq:carstensen_nonsmooth_independence} von \citeauthor{carstensen:1997}?
\end{exercise}
\medskip
Die Nichtglattheit von $\psi$ führt auf zwei Probleme:
\begin{enumerate}
\item $J$ ist eventuell in $u^{\nu + \frac{1}{2}}$ nicht differenzierbar.
Es ist also keine Newton-Korrektur möglich.
\item Nach der Newton-Korrektur ist der Wert von $J$ eventuell $\infty$.
\end{enumerate}
Das abgeschnittene Mehrgitterverfahren umgeht Problem~1, indem es den
Newton-Schritt nur auf dem Teilraum von $X$ durchführt, auf dem
$J(u^{\nu + \frac{1}{2}})$ hinreichend glatt ist.
\smallskip
Zulässigkeit und Energieabstieg der linearen Korrektur werden durch
eine Projektion und eine Liniensuche sichergestellt.
\medskip
Hier ist das Abgeschnittene Newton-Mehrgitter-Verfahren:
\begin{algorithm}[H]
\SetAlgoLined
\KwIn{Given $u^\nu$}\label{alg:tnnmg_smoothing}
\Begin(Nonlinear pre-smoothing){
Set $w^{\nu,0} \colonequals u^\nu$\\
\For{$k=1,\dots,m$}{
Compute $w^{\nu,k} \in w^{\nu,k-1} + V_k$: \label{enum:gs_local_min}
\begin{align*}
w^{\nu,k} \colonapprox
\argmin_{v \in w^{\nu,k-1} + V_k} J(v)
\end{align*}
}
Set $u^{\nu+\frac12} \colonequals w^{\nu,m}$
}
\Begin(Truncated linear correction){\label{alg:tnnmg_coarse}
Determine large subspace $W_\nu \subset \R^n$ such that $J|_{u^{\nu+\frac12}+W_\nu}$ is $C^2$ near $u^{\nu+\frac12}$.\\
Compute $v^\nu \in W_\nu$ as \label{enum:coarse_correction}
\begin{align}
\label{eq:inexact_newton_problem}
v^\nu \colonapprox
-\Bigl(J''(u^{\nu+\frac12})|_{W_\nu \times W_\nu}\Bigr)^{-1}
\Bigl(J'(u^{\nu+\frac12})|_{W_\nu} \Bigr)
\end{align}
}
\Begin(Post-processing){
Compute the projection $\tilde{v}^\nu \colonequals \Pi_{\operatorname{dom}J - u^{\nu+1/2}}(v^\nu)$ \label{enum:tnnmg_projection} \\
Compute $\rho_\nu \in [0,\infty)$ such that $J(u^{\nu+\frac12} + \rho_\nu \tilde{v}^\nu) \leq J(u^{\nu+\frac12})$
}
\KwOut{Set $u^{\nu+1} \colonequals u^{\nu+\frac12} + \rho_\nu \tilde{v}^\nu$}
\end{algorithm}
Das Wort \glqq abgeschnitten\grqq{} bezieht sich auf die Restriktion des
Korrekturproblems~\eqref{eq:inexact_newton_problem} auf den Teilraum wo $J(u^{\nu + \frac{1}{2}})$
zweimal differenzierbar ist. Alle anderen Richtungen werden \glqq abgeschnitten\grqq.
\medskip
Für dieses Verfahren und diese allgemeine Problemstellung kann man die gleiche
globale Konvergenzaussagen machen wie für den differenzierbaren Fall.
\begin{theorem}[{\cite[Theorem~4.1]{graeser_sander:2019}}]
Für alle $u^0 \in X$ konvergiert das Verfahren gegen den eindeutigen
Minimierer $u^*$ von $J$ in $X$.
\end{theorem}
\chapter{Mehrgitter für DG-Verfahren}
......
Markdown is supported
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