Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Sander, Oliver
skript-mehrgitter
Commits
3f961c85
Commit
3f961c85
authored
Apr 23, 2021
by
Sander, Oliver
Browse files
Erster Entwurf eines Kapitels zu Teilraumkorrekturverfahren
parent
518566ae
Changes
2
Hide whitespace changes
Inline
Side-by-side
skript-mehrgitter-sander.bib
View file @
3f961c85
...
...
@@ -28,6 +28,14 @@ year = {2013}
author
=
{Wolfgang Dahmen and Arnold Reusken}
}
@MastersThesis
{
stolzmann:2020
,
author
=
{Henrik Stolzmann}
,
title
=
{Robuste Mehrgittermethoden in $H(\operatorname{div})$}
,
school
=
{TU Dresden, Fakultät für Mathematik}
,
year
=
{2020}
,
type
=
{Masterarbeit}
}
@Book
{
pissanetzky:1984
,
title
=
{Sparse Matrix Technology}
,
publisher
=
{Academic Press}
,
...
...
@@ -74,3 +82,16 @@ year = {2013}
volume
=
{52}
,
pages
=
{427--458}
}
@Book
{
smith_bjorstad_gropp:1996
,
title
=
{Domain Decomposition -- Parallel Multilevel Methods for Elliptic Partial Differential Equations}
,
publisher
=
{Cambridge University Press}
,
year
=
{1996}
,
author
=
{Barry Smith and Petter Bj{\o}rstad and William Gropp}
}
@misc
{
bramble1993multigrid
,
title
=
{Multigrid methods, Pitman Research Notes in Mathematical Sciences, vol. 294}
,
author
=
{Bramble, J. H.}
,
year
=
{1993}
}
skript-mehrgitter-sander.tex
View file @
3f961c85
...
...
@@ -11,6 +11,7 @@
\usepackage
[utf8]
{
inputenc
}
\usepackage
{
longtable,tabularx,tabulary,booktabs
}
\usepackage
{
aligned-overset
}
\usepackage
{
array
}
\usepackage
[linesnumbered,inoutnumbered]
{
algorithm2e
}
\usepackage
{
caption
}
...
...
@@ -19,6 +20,7 @@
\usepackage
{
graphicx
}
\usepackage
{
tikz
}
\usepackage
{
pgfplots
}
\pgfplotsset
{
compat=1.17
}
\usepackage
{
amsfonts
}
\usepackage
{
lmodern
}
...
...
@@ -27,6 +29,7 @@
\usepackage
{
amsmath
}
\usepackage
{
amssymb
}
\usepackage
{
amsthm
}
\usepackage
{
bm
}
\usepackage
{
mathtools
}
\usepackage
{
colonequals
}
\usepackage
{
enumitem
}
...
...
@@ -49,7 +52,6 @@
\newcommand
{
\R
}{
\mathbb
R
}
\newcommand
{
\N
}{
\mathbb
N
}
\newcommand
{
\T
}{
\mathcal
T
}
\newcommand
{
\curl
}{
\operatorname
{
curl
}}
\renewcommand
{
\div
}{
\operatorname
{
div
}}
\newcommand
{
\grad
}{
\operatorname
{
grad
}}
...
...
@@ -59,14 +61,34 @@
% Bold letters
\newcommand
{
\bn
}{
\mathbf
{
n
}}
\newcommand*\bu
{
\bm
{
u
}}
\newcommand
{
\bv
}{
\mathbf
{
v
}}
\newcommand*\bA
{
\bm
{
A
}}
\newcommand*\bH
{
\bm
{
H
}}
\newcommand*\bI
{
\bm
{
I
}}
\newcommand*\bL
{
\bm
{
L
}}
\newcommand*\bP
{
\bm
{
P
}}
\newcommand*\bQ
{
\bm
{
Q
}}
\newcommand*\bV
{
\bm
{
V
}}
\newcommand*\bHd
{
\bH
(
\div
)
}
\newcommand*\til
{
\widetilde
}
\newcommand
{
\stackrela
}
[2]
{
\overset
{
#1
}&{
#2
}}
\newcommand
{
\X
}{
\mathcal
{
X
}}
% Triangulierung
\newcommand
{
\V
}{
\mathcal
{
V
}}
% Triangulierung
\newcommand
{
\E
}{
\mathcal
{
E
}}
% Triangulierung
\newcommand
{
\F
}{
\mathcal
{
F
}}
% Triangulierung
\newcommand
{
\T
}{
\mathcal
{
T
}}
% Triangulierung
\DeclarePairedDelimiter
{
\set
}{
\lbrace
}{
\rbrace
}
\DeclarePairedDelimiter
{
\norma
}{
\Vert
}{
\Vert
_{
A
}}
\DeclarePairedDelimiter
{
\abs
}{
\lvert
}{
\rvert
}
\DeclarePairedDelimiter
{
\norm
}{
\lVert
}{
\rVert
}
\theoremstyle
{
plain
}
%Text ist Kursiv
\newtheorem
{
theorem
}{
Satz
}
[chapter]
\newtheorem
{
hilfssatz
}{
Hilfssatz
}
[chapter]
\newtheorem
{
hilfssatz
}
[theorem]
{
Hilfssatz
}
\newtheorem
{
lemma
}
[theorem]
{
Lemma
}
\newtheorem
{
proposition
}
[theorem]
{
Proposition
}
\newtheorem
{
corollary
}
[theorem]
{
Korollar
}
...
...
@@ -705,7 +727,7 @@ Dabei wählt man einen Parameter $\eta > 0$ und definiert
Wir wenden das bekannte Konvergenzkriterium an:
\begin{theorem}
Das Jacobi Verfahren konvergiert genau dann, wenn
$
\rho
\left
(
I
-
\eta
D
^{
-
1
}
A
\right
)
<
1
$
.
Das Jacobi Verfahren konvergiert genau dann, wenn
$
\rho
(
I
-
\eta
D
^{
-
1
}
A
)
<
1
$
.
\end{theorem}
Das Verfahren konvergiert also immer, wenn man nur
$
\eta
$
klein genug wählt.
...
...
@@ -727,7 +749,7 @@ Die folgende Rechnung stammt aus~\citet[Beispiel~13.10]{dahmen_reusken:2008}.
Sei
$
A
$
die Matrix des Poisson-Problems auf einem uniformen Gitter
mit Dreiecks- oder Viereckselementen. Eine Zeile von
$
A
$
ist dann
\begin{equation*}
\frac
{
1
}{
h
^
2
}
\left
(4u
_{
i,j
}
-u
_{
i-1,j
}
-u
_{
i+1,j
}
-u
_{
i,j-1
}
-u
_{
i,j+1
}
\right
)=f
_
i.
\frac
{
1
}{
h
^
2
}
(4u
_{
i,j
}
-u
_{
i-1,j
}
-u
_{
i+1,j
}
-u
_{
i,j-1
}
-u
_{
i,j+1
}
)=f
_
i.
\end{equation*}
\begin{exercise}
...
...
@@ -758,10 +780,10 @@ Daraus folgt dass
\begin{align*}
\rho
(I -
\eta
D
^{
-1
}
A )
&
=
\sup
\left
\lbrace
\abs
[\Big]
{
1-
\frac
{
1
}{
4
}
\eta
h
^
2
\lambda
}
\;
:
\;
\text
{$
\lambda
$
Eigenwert von
$
A
$}
\right
\rbrace
\\
\sup
\lbrace
\abs
[\Big]
{
1-
\frac
{
1
}{
4
}
\eta
h
^
2
\lambda
}
\;
:
\;
\text
{$
\lambda
$
Eigenwert von
$
A
$}
\rbrace
\\
%
&
=
1-2
\eta
\sin
^
2
\left
(
\frac
{
1
}{
2
}
\pi
h
\right
).
1-2
\eta
\sin
^
2 (
\frac
{
1
}{
2
}
\pi
h ).
\end{align*}
Mit
$
\eta
=
1
$
erhält man:
\todo
[inline]
{
Zeige den allgemeinen Fall!
}
...
...
@@ -773,7 +795,7 @@ Mit $\eta = 1$ erhält man:
Taylor-Entwicklung:
\begin{equation*}
\cos
\left
(
\pi
h
\right
)=1-
\frac
{
1
}{
2
}
\pi
^
2 h
^
2+
\ldots
\cos
(
\pi
h )=1-
\frac
{
1
}{
2
}
\pi
^
2 h
^
2+
\ldots
\end{equation*}
Also ist
\begin{equation*}
...
...
@@ -796,7 +818,7 @@ Da $\frac{\norm{e^k}}{\norm{e^0}} \approx \rho^k$ erhält man
=
\log
_
\rho
\frac
{
1
}{
R
}
=
\frac
{
-
\ln
R
}{
\ln
\rho
\left
(I-D
^{
-1
}
A
\right
)
}
\approx
\frac
{
-
\ln
R
}{
\ln
\left
(1-
\frac
{
1
}{
2
}
\pi
^
2 h
^
2
\right
)
}
\approx
\frac
{
2
}{
\pi
^
2 h
^
2
}
\ln
R,
\frac
{
-
\ln
R
}{
\ln
\rho
(I-D
^{
-1
}
A )
}
\approx
\frac
{
-
\ln
R
}{
\ln
(1-
\frac
{
1
}{
2
}
\pi
^
2 h
^
2 )
}
\approx
\frac
{
2
}{
\pi
^
2 h
^
2
}
\ln
R,
\end{equation*}
da
$
\ln
x
\approx
(
x
-
1
)-
\frac
{
1
}{
2
}
(
x
-
1
)
^
2
+
\ldots
$
ist.
...
...
@@ -813,8 +835,8 @@ Betrachte noch einmal die Jacobi-Rechenvorschrift:
\begin{equation*}
x
_
i
^{
k+1
}
=
\frac
{
1
}{
A
_{
ii
}}
\left
(b
_
i-A
_{
i1
}
x
_
1
^{
k
}
- A
_{
i2
}
x
_
2
^{
k
}
-
\ldots
-A
_{
i,i-1
}
x
_{
i-1
}^
k - A
_{
i,i+1
}
x
_{
i+1
}^
k -
\ldots
- A
_{
in
}
x
_
n
^
k
\right
).
\frac
{
1
}{
A
_{
ii
}}
(b
_
i-A
_{
i1
}
x
_
1
^{
k
}
- A
_{
i2
}
x
_
2
^{
k
}
-
\ldots
-A
_{
i,i-1
}
x
_{
i-1
}^
k - A
_{
i,i+1
}
x
_{
i+1
}^
k -
\ldots
- A
_{
in
}
x
_
n
^
k ).
\end{equation*}
Eigentlich haben wir für
$
x
_
1
,
\ldots
,x
_{
i
-
1
}$
schon bessere Werte als
$
x
_
1
^
k,
\ldots
,x
_{
i
-
1
}^
k
$
, nämlich
$
x
_
1
^{
k
+
1
}
,
\ldots
,x
_{
i
-
1
}^{
k
+
1
}$
.
...
...
@@ -824,9 +846,9 @@ Gauß-Seidel-Verfahren:
\begin{align*}
x
_
i
^{
k+1
}
&
=
\frac
{
1
}{
A
_{
ii
}}
\left
(b
_
i-A
_{
i1
}
x
_
1
^{
k+1
}
-
\ldots
-A
_{
i,i-1
}
x
_{
i-1
}^{
k+1
}
-A
_{
i,i+1
}
x
_{
i+1
}^
k-
\ldots
-A
_{
in
}
x
_
n
^
k
\right
)
\\
\frac
{
1
}{
A
_{
ii
}}
(b
_
i-A
_{
i1
}
x
_
1
^{
k+1
}
-
\ldots
-A
_{
i,i-1
}
x
_{
i-1
}^{
k+1
}
-A
_{
i,i+1
}
x
_{
i+1
}^
k-
\ldots
-A
_{
in
}
x
_
n
^
k )
\\
&
=
\frac
{
1
}{
A
_{
ii
}}
\left
(b
_
i-
\sum
_{
j=1
}^{
i-1
}
A
_{
ij
}
x
_
j
^{
k+1
}
-
\sum
_{
j=i+1
}^
n A
_{
ij
}
x
_
j
^
k
\right
).
\frac
{
1
}{
A
_{
ii
}}
(b
_
i-
\sum
_{
j=1
}^{
i-1
}
A
_{
ij
}
x
_
j
^{
k+1
}
-
\sum
_{
j=i+1
}^
n A
_{
ij
}
x
_
j
^
k ).
\end{align*}
$
x
_
i
^{
k
+
1
}$
hängt von
$
x
_{
i
-
1
}^{
k
+
1
}$
ab
$
\implies
$
keine Parallelisierung möglich.
...
...
@@ -859,6 +881,8 @@ Sei $A$ die Matrix des Poisson-Problems für ein quadratisches Gebiet.
des Spektralradius der Gauß-Seidel Methode. Laut
\citet
{
dahmen
_
reusken:2008
}
steht das bei
\cite
{
hackbusch:1994
}
.
\todo
[inline]
{
I overlooked Remark 5.5.2. in [3] (On the top of page 131). There is the explicit statement.
}
\begin{exercise}
Finden Sie die genaue Stelle, und sagen Sie mir bescheid.
\end{exercise}
...
...
@@ -888,7 +912,7 @@ Sei $A$ die Matrix des Poisson-Problems für ein quadratisches Gebiet.
\begin{equation*}
\frac
{
-
\ln
R
}{
\ln
\rho
(I-(D-L)
^{
-1
}
A)
}
\approx
\frac
{
-
\ln
R
}{
\ln
\left
(1-
\pi
^
2h
^
2
\right
)
}
\approx
\frac
{
\ln
R
}{
\pi
^
2h
^
2
}
\frac
{
-
\ln
R
}{
\ln
(1-
\pi
^
2h
^
2 )
}
\approx
\frac
{
\ln
R
}{
\pi
^
2h
^
2
}
\end{equation*}
Iterationen.
\end{itemize}
...
...
@@ -929,7 +953,7 @@ wobei $\norm{\cdot}_A$ die Energienorm ist.
\begin{theorem}
[
{
\cite
{
shewchuk:1994
}}
]
Sei
$
\kappa
$
die Kondition der Matrix
$
A
$
. Dann gilt nach
$
k
$
Schritten des CG-Verfahrens
\begin{align*}
\norm
{
e
^
k
}_
A
\leq
2
\left
(
\frac
{
\sqrt
{
\kappa
}
-1
}{
\sqrt
{
\kappa
}
+1
}
\right
)
^
k
\cdot
\norm
{
e
^
0
}_
A.
\norm
{
e
^
k
}_
A
\leq
2 (
\frac
{
\sqrt
{
\kappa
}
-1
}{
\sqrt
{
\kappa
}
+1
}
)
^
k
\cdot
\norm
{
e
^
0
}_
A.
\end{align*}
\end{theorem}
...
...
@@ -1519,7 +1543,7 @@ Falls $\hat{A}$ nicht klein ist: Mehrgitter!
Man erhält das Mehrgitterverfahren. Zuerst konstruieren wir die Hierarchie
der Steifigkeitsmatrizen
$
A
_
j
$
\begin{algorithm}
[H]
\label
{
MGVerfahrenAlg
}
\begin{algorithm}
[H]
\DontPrintSemicolon
\textbf
{
Input:
}$
A
_
K
=
A
$
\\
\For
{$
j
=
K
-
1
,
\dots
,
0
$}{
...
...
@@ -1797,9 +1821,1726 @@ Ein möglicher Ausweg: Die Hierarchische-Basis-Methode~\cite{bank_dupont_yserent
\end{itemize}
\chapter
{
Teilraumkorrekturverfahren
}
Wir beweisen jetzt die gitterunabhängige Konvergenz von Mehrgitterverfahren für elliptische Probleme.
\medskip
Dafür benutzen wir die Theorie der Teilraumkorrekturverfahren.
\begin{itemize}
\item
\emph
{
Nachteil
}
: Es wird jetzt erstmal etwas trocken.
\item
Vorteil~I: Wir können gitterunabhängige Konvergenz des Mehrgitterverfahrens zeigen,
ohne besondere Anforderungen an die Glattheit der Lösung
$
u
$
stellen zu müssen.
\item
Vorteil~II: Es gibt noch viele andere Verfahren, die man als
Teilraumkorrekturverfahren interpretieren kann.
\end{itemize}
\section
{
Projektionen
}
Sei
$
X
$
ein Hilbertraum mit Skalarprodukt
$
a
(
\cdot
,
\cdot
)
: X
\times
X
\to
\R
$
.
\medskip
Für uns ist
$
X
$
meistens
$
\R
^
N
$
oder ein Finite-Elemente-Raum
$
V
_
h
$
.
Es kann aber auch ein Sobolev-Raum wie
$
H
^
1
_
0
(
\Omega
)
$
sein.
\medskip
Das Skalarprodukt induziert eine Norm
\begin{equation*}
\norm
{
v
}_
a =
\sqrt
{
a(v,v)
}
\qquad
\forall
v
\in
X.
\end{equation*}
Sei
$
X
_
1
$
ein linearer Teilraum von
$
X
$
, und
$
e
\in
X
$
.
\medskip
\emph
{
Frage:
}
Welches Element
$
e
_
1
$
aus
$
X
$
ist am nächsten an
$
e
$
dran?
\begin{definition}
Die Projektion von
$
e
$
auf
$
X
_
1
$
bzgl.
\
$
a
(
\cdot
,
\cdot
)
$
ist
\begin{equation*}
P
_
1 e
\colonequals
\argmin
_{
v
\in
X
_
1
}
\norm
{
e-v
}_
a.
\end{equation*}
\end{definition}
Leider kann man mit
$
\argmin
$
schlecht rechnen.
\medskip
Alternativ kann man folgende Charakterisierung verwenden:
\begin{center}
\begin{tikzpicture}
\draw
[<->] (-3,0) -- (3,0);
\draw
[<->] ( 0,-1.5) -- (0,2);
\draw
[thick] (-2,-1) -- (2.5,1.25);
\tikzset
{
ballstyle/.style=
{
circle,draw,fill=black,inner sep=0pt,minimum size=1.1mm
}}
\node
(P1e) [ballstyle,label=
{
-45:
$
P
_
1
e
$}
] at (2,1)
{}
;
\node
(e) [ballstyle,label=
{
135:
$
e
$}
] at (1.5,2)
{}
;
\draw
[dashed] (e) -- (P1e);
\node
at (-2,2)
{$
X
$}
;
\node
at (-2,-0.6)
{$
X
_
1
$}
;
\end{tikzpicture}
\end{center}
Der
\glqq
Unterschied
\grqq
{}
$
e
-
Pe
$
steht senkrecht auf
$
X
_
1
$
,
bzlg.
\
des Skalarprodukts
$
a
(
\cdot
,
\cdot
)
$
.
\begin{lemma}
Sei
$
e
_
1
\in
X
_
1
$
und
$
e
\in
X
$
. Es gilt
\begin{equation*}
e
_
1 = P
_
1e
\end{equation*}
genau dann wenn
\begin{equation*}
a(e
_
1 - e,v) = 0
\quad
\forall
v
\in
X
_
1
\qquad
\text
{
bzw.
}
\qquad
a(e
_
1,v) = a(e,v)
\quad
\forall
v
\in
X
_
1.
\end{equation*}
\end{lemma}
\begin{proof}
Wir zeigen nur dass aus
$
a
(
e
_
1
,v
)
=
a
(
e,v
)
\;
\forall
v
\in
X
_
1
$
die Gleichheit
$
e
_
1
=
P
_
1
e
$
folgt.
\medskip
Sei
$
v
\in
X
_
1
$
beliebig. Dann gilt
\begin{align*}
\norm
{
e
_
1-e
}^
2
_
a
&
=
a (e
_
1-e, e
_
1-e) +
\underbrace
{
a(e
_
1-e, v-e
_
1)
}_{
=0
}
\\
%
&
=
a(e
_
1-e,v-e)
\\
%
&
\le
\norm
{
e
_
1-e
}_
a
\cdot
\norm
{
v-e
}_
a
\qquad
\text
{
(Cauchy--Schwarz)
}
.
\end{align*}
Einmal durch
$
\norm
{
e
_
1
-
e
}_
a
$
teilen gibt
\begin{equation*}
\norm
{
e
_
1-e
}_
a
\le
\norm
{
v-e
}_
a
\qquad
\forall
v
\in
V
_
1.
\qedhere
\end{equation*}
\end{proof}
\section
{
Abstrakte Teilraumkorrekturverfahren
}
Wir führen jetzt eine abstrakte Verfahrensklasse ein. Dabei treffen wir
alte Bekannte wieder.
\medskip
Sei wieder
$
X
$
ein Vektorraum, diesmal mit:
\begin{itemize}
\item
einem Skalarprodukt
$
(
\cdot
,
\cdot
)
: X
\to
X
\to
\R
$
,
\medskip
(
$
X
$
sei vollständig bzgl.
\
der von
$
(
\cdot
,
\cdot
)
$
induzierten Norm),
\item
einer
$
X
$
-elliptischen Bilinearform
$
a
(
\cdot
,
\cdot
)
: X
\times
X
\to
\R
$
.
\end{itemize}
\medskip
Wir suchen eine Lösung
$
u
^
*
$
des Variationsproblems
\begin{equation}
\label
{
eq:scm
_
general
_
weak
_
problem
}
a(u,v) = (f,v)
\qquad
\forall
v
\in
X.
\end{equation}
Definiere den linearen Operator
$
A : X
\to
X
$
durch
\begin{equation*}
(Av,w) = a(v,w)
\qquad
\forall
v,w
\in
X.
\end{equation*}
Dann ist~
\eqref
{
eq:scm
_
general
_
weak
_
problem
}
äquivalent zu
\begin{equation*}
Au = f.
\end{equation*}
\subsection
{
Idee der Teilraumkorrekturverfahren
}
Sei wieder
$
X
_
1
$
ein Teilraum von
$
X
$
, und
$
P
_
1
: X
\to
X
_
1
$
die
$
a
(
\cdot
,
\cdot
)
$
-orthogonale Projektion.
\begin{itemize}
\item
Sei
$
u
^
*
\in
X
$
die Lösung von
$
Au
=
f
$
, und
$
u
^
k
\in
X
$
die aktuelle Iterierte eines iterativen Verfahrens.
\begin{center}
\begin{tikzpicture}
\draw
[<->] (-3,0) -- (3,0);
\draw
[<->] ( 0,-1.5) -- (0,2);
\node
at (-2,2)
{$
X
$}
;
\draw
[thick] (-2,-1) -- (2.5,1.25);
\node
at (-2,-0.6)
{$
X
_
1
$}
;
\tikzset
{
ballstyle/.style=
{
circle,draw,fill=black,inner sep=0pt,minimum size=1.1mm
}}
\node
(uk) [ballstyle,label=
{
0:
$
u
^
k
$}
] at (1.8,1.8)
{}
;
\node
(ustar) [ballstyle,label=
{
180:
$
u
^
*
$}
] at (1,0.7)
{}
;
\draw
[dashed] (uk) -- (ustar);
\draw
[dashed,->] (uk) -- ++(-1.1,-0.55);
\node
at (1,2)
{$
P
_
1
(
u
^
*
-
u
^
k
)
$}
;
\end{tikzpicture}
\end{center}
\item
Wir würden gerne
$
u
^
*
-
u
^
k
$
ausrechnen, aber das ist so teuer
wie das eigentliche Berechnen von
$
u
^
*
$
.
\item
\emph
{
Idee:
}
Billiger ist es,
$
P
_
1
(
u
^
*
-
u
^
k
)
$
zu berechnen,
denn das ist nur ein lineares Problem in
$
X
_
1
$
:
\begin{align*}
a(P
_
1(u
^
* - u
^
k), v)
&
=
a(u
^
* - u
^
k, v)
\\
&
=
(f,v) - a(u
^
k,v)
\qquad
\forall
v
\in
X
_
i.
\end{align*}
\item
Vorschlag für eine bessere Approximation von
$
u
^
*
$
deshalb
\begin{equation*}
u
^{
k+1
}
= u
^
k + P
_
1(u
^
* - u
^
k).
\end{equation*}
\end{itemize}
Das ganze kann natürlich nur dann zu einem konvergenten Verfahren führen,
wenn man mehrere Teilräume hat.
Für ein Teilraumkorrekturverfahren wählen wir jetzt eine endliche Menge von Teilräumen
\begin{equation*}
X
_
i
\subset
X,
\qquad
i = 1,
\dots
, K.
\end{equation*}
Für jeden Raum
$
X
_
i
$
definieren wir die
$
a
(
\cdot
,
\cdot
)
$
-Projektion
$
P
_
i : X
\to
X
_
i
$
durch
\begin{equation*}
a(P
_
iu,v) = a(u,v)
\qquad
\forall
v
\in
X
_
i.
\end{equation*}
\medskip
Die jeweiligen Korrekturen kann man dann auf unterschiedliche Weise kombinieren:
\begin{itemize}
\item
Man kann sie addieren:
\begin{align*}
u
^{
k+1
}
&
=
u
^
k + P
_
1 (u
^
* - u
^
k) + P
_
2 (u
^
* - u
^
k)
\\
&
=
u
^
k + (P
_
1 + P
_
2) (u
^
* - u
^
k).
\end{align*}
\item
Man kann sie nacheinander anwenden:
\begin{align*}
u
^{
k+
\frac
{
1
}{
2
}}
&
=
u
^
k + P
_
1 (u
^
* - u
^
k)
\\
u
^{
k+1
}
&
=
u
^{
k+
\frac
{
1
}{
2
}}
+ P
_
2 (u
^
* - u
^{
k+
\frac
{
1
}{
2
}}
)
\\
&
=
u
^
k + P
_
1(u
^
* - u
^
k) + P
_
2(u
^
* - u
^
k - P
_
1(u
^
* - u
^
k))
\\
&
=
u
^
k + (P
_
1 + P
_
2 - P
_
2 P
_
1)(u
^
* - u
^
k).
\end{align*}
\end{itemize}
Bei mehr als zwei Teilräumen kann man beliebige Kombinationen in betracht ziehen.
\bigskip
Das motiviert die folgende Definition:
\begin{definition}
Ein lineares Teilraumkorrekturverfahren ist eine Iteration der Form
\begin{equation*}
u
^{
k+1
}
= u
^
k +
\mathcal
{
P
}
(P
_
1,
\dots
,P
_
K)(u
^
* - u
^
k),
\end{equation*}
wobei
$
\mathcal
{
P
}
(
P
_
1
,
\dots
,P
_
K
)
$
ein Polynom in den Projektionsoperatoren
$
P
_
1
,
\dots
,P
_
K
$
ist.
\end{definition}
Teilraumkorrekturverfahren sind lineare iterative Verfahren, denn
\begin{equation*}
u
^{
k+1
}
= u
^
k +
\mathcal
{
P
}
(P
_
1,
\dots
,P
_
K)(u
^
* - u
^
k) = u
^
k +
\mathcal
{
P
}
(P
_
1,
\dots
,P
_
p)A
^{
-1
}
(f-Au
^
n).
\end{equation*}
Der Vorkonditionierer ist also
$
\mathcal
{
P
}
A
^{
-
1
}$
, und die Iterationsmatrix
ist
$
I
-
\mathcal
{
P
}$
.
\medskip
Beachte dass zur praktischen Durchführung die Matrix
$
A
^{
-
1
}$
\emph
{
nicht
}
berechnet werden muss!
\subsection
{
Das additive Schwarz-Verfahren
}
Das additive Schwarz-Verfahren hat die Form
\begin{align*}
u
^{
n+1
}
&
=
u
^
n +
\mathcal
{
P
}
(P
_
1,
\dots
,P
_
K) A
^{
-1
}
(f-Au
^
n)
\end{align*}
mit
\begin{equation*}
\mathcal
{
P
}
(P
_
1,
\dots
,P
_
K) = P
_
1 +
\dots
+ P
_
K
\end{equation*}
\todo
[inline]
{
Beispiel: Das Jacobi-Verfahren als additives Schwarz-Verfahren
}
\subsection
{
Das multiplikative Schwarz-Verfahren
}
Mit den gleichen (Teil-)Räumen wie eben schreibt man
\begin{equation*}
u
^{
n+1
}
= u
^
n +
\Big
[I-(I-B_pA)\dots(I-B_1A)\Big]
A
^{
-1
}
(f-Au
^
n)
\end{equation*}
als Teilraumkorrekturverfahren mit
\begin{equation*}
\mathcal
{
P
}
(P
_
1,
\dots
,P
_
p) = I-(I-B
_
pA)
\dots
(I-B
_
1A).
\end{equation*}
\paragraph
{
Beispiel: Gauß--Seidel-Verfahren für ein 2x2-System
}
Wir betrachten das Gauß--Seidel-Verfahren für das lineare Gleichungssystem
\begin{equation*}
A x = b
\end{equation*}
mit einer
$
2
\times
2
$
Matrix
$
A
$
.
\begin{itemize}
\item
Wähle
$
V
=
\R
^
2
$
und zwei Teilräume
$
V
_
1
=
(
\cdot
,
0
)
$
,
$
V
_
2
=
(
0
,
\cdot
)
$
%
\item
Die
$
A
$
-Orthogonalprojektionen auf die Teilräume sind
\todo
[inline]
{
Die
$
R
_
i
$
sind noch nicht definiert!
}
\begin{equation*}
P
_
i
=
R
_
i
^
T(R
_
i A R
_
i
^
T)
^{
-1
}
R
_
i A
=
\begin{cases}
\begin{pmatrix}
a
_{
11
}^{
-1
}
&
0
\\
0
&
0
\end{pmatrix}
A
&
\text
{
if
$
i
=
1
$}
\\
\begin{pmatrix}
0
&
0
\\
0
&
a
_{
22
}^{
-1
}
\end{pmatrix}
A
&
\text
{
if
$
i
=
2
$}
\end{cases}
\end{equation*}
\end{itemize}
Also ist z.
\,
B. der erste Halbschritt des multiplikativen Schwarz-Verfahrens
\begin{align*}
x
^{
n+1/2
}
&
=
x
^
n + P
_
1(x
^
* - x
^
n)
\\
&
=
\begin{pmatrix}
a
_{
11
}^{
-1
}
&
0
\\
0
&
0
\end{pmatrix}
A(x
^
* - x
^
n)
\\
&
=
\begin{pmatrix}
a
_{
11
}^{
-1
}
&
0
\\
0
&
0
\end{pmatrix}
(b - Ax
^
n)
\\
&
=
\begin{pmatrix}
a
_{
11
}^{
-1
}
(b
_
1 - a
_{
11
}
x
_
1
^
n - a
_{
12
}
x
_
2
^
n
\\
0
\end{pmatrix}
\end{align*}
\section
{
Konvergenz von Teilraumkorrekturverfahren
}
\label
{
sec:konvergenz
_
von
_
teilraumkorrekturverfahren
}
Wir zeigen jetzt ein abstraktes Konvergenzresultat für Teilraumkorrekturverfahren.
\begin{itemize}
\item
Hilbert-Raum
$
V
$
mit Skalarprodukt
$
(
\cdot
,
\cdot
)
$
,
und einer Bilinearform
$
a
(
\cdot
,
\cdot
)
$
.
%
\item
Wir beschränken uns auf den einfachen Fall:
$
a
(
\cdot
,
\cdot
)
$
ist symmetrisch
und elliptisch, es gibt also ein
$
\alpha
>
0
$
so dass
$
a
(
v,v
)
\ge
\alpha
(
v,v
)
$
für alle
$
v
\in
V
$
.
%
\item
Erzeugender Operator
$
A : V
\to
V
$
von
$
a
(
\cdot
,
\cdot
)
$
, also
\begin{equation*}
(Au,v) = a(u,v)
\qquad
\forall
u,v
\in
V
\end{equation*}
%
\item
Familie von Teilräumen
$
V
_
i
\subset
V
$
,
$
i
=
1
,
\dots
,K
$
.
%
\item
$
a
$
-Orthogonalprojektion
$
P
_
i : V
\to
V
_
i
$
.
%
\item
Auf jedem Teilraum ist die Bilinearform
$
a
(
\cdot
,
\cdot
)
$
definiert.
\end{itemize}
\bigskip
\begin{remark}
In manchen Darstellungen (z.B.
\
bei
\citet
{
smith
_
bjorstad
_
gropp:1996
}
) werden zusätzlich
noch Bilinearformen
$
a
_
i
(
\cdot
,
\cdot
)
: V
_
i
\times
V
_
i
\to
\R
$
eingeführt.
Damit kann man darstellen, dass man die lokalen Probleme
\todo
[inline]
{
Welche genau?
}
möglicherweise inexakt lösen möchte. Wir machen davon keinen Gebrauch,
und lassen diesen Teil der Theorie deshalb weg.
\end{remark}
\subsection
{
Allgemeine Annahmen
}
Die Konvergenztheorie für Teilraumkorrekturverfahren gruppiert sich um zwei Parameter.
\begin{itemize}
\item
Diese beschreiben das Verhältnis der Teilräume
$
V
_
i
$
zueinander.
\end{itemize}
Es kommen jetzt also zwei Definitionen von Parametern. Wenn wir später Verfahren untersuchen
werden wir immer diese Parameter untersuchen.
\begin{definition}
\label
{
def:TRK
_
annahme
_
1
}
Sei
$
C
_
0
$
die kleinste Zahl, so dass es für alle
$
u
\in
V
$
eine Zerlegung
$
u
=
\sum
_{
i
=
1
}^
K u
_
i
$
,
$
u
_
i
\in
V
_
i
$
gibt mit
\begin{equation*}
\sum
_{
i=1
}^
K a(u
_
i,u
_
i)
\le
C
_
0
^
2 a(u,u).
\end{equation*}
\end{definition}
Am liebsten hätte man
$
C
_
0
\approx
1
$
.
\todo
[inline]
{
Interpretation; Bild!
}
\bigskip
Der zweite Parameter misst, wie orthogonal die Teilräume aufeinanderstehen.
\begin{definition}
Seien
$
0
\le
\mathcal
{
E
}_{
ij
}
\le
1
$
,
$
i,j
=
1
,
\dots
,K
$
die kleinsten Werte, für die
\begin{equation*}
\abs
{
a(u
_
i,u
_
j)
}
\le
\mathcal
{
E
}_{
ij
}
a(u
_
i,u
_
i)
^{
1/2
}
a(u
_
j,u
_
j)
^{
1/2
}
\qquad
\forall
u
_
i
\in
V
_
i, u
_
j
\in
V
_
j.
\end{equation*}
Bezeichne mit
$
\rho
(
\mathcal
{
E
}
)
$
den Spektralradius der Matrix
$
\mathcal
{
E
}$
.
\end{definition}
\begin{itemize}
\item
$
\mathcal
{
E
}_{
ij
}
=
0
$
bedeutet:
$
V
_
i
$
steht
$
a
(
\cdot
,
\cdot
)
$
-orthogonal auf
$
V
_
j
$