You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
amg4psblas/docs/html/node12.html

334 lines
11 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Smoothed Aggregation</TITLE>
<META NAME="description" CONTENT="Smoothed Aggregation">
<META NAME="keywords" CONTENT="userhtml">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="userhtml.css">
<LINK REL="previous" HREF="node11.html">
<LINK REL="up" HREF="node10.html">
<LINK REL="next" HREF="node13.html">
</HEAD>
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html204"
HREF="node13.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html200"
HREF="node10.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html196"
HREF="node11.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html202"
HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html205"
HREF="node13.html">Getting Started</A>
<B> Up:</B> <A NAME="tex2html201"
HREF="node10.html">Multi-level Domain Decomposition Background</A>
<B> Previous:</B> <A NAME="tex2html197"
HREF="node11.html">Multi-level Schwarz Preconditioners</A>
&nbsp; <B> <A NAME="tex2html203"
HREF="node2.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00062000000000000000"></A><A NAME="sec:aggregation"></A>
<BR>
Smoothed Aggregation
</H2>
<P>
In order to define the restriction operator <SPAN CLASS="MATH"><IMG
WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img67.png"
ALT="$R_C$"></SPAN>, which is used to compute
the coarse-level matrix <SPAN CLASS="MATH"><IMG
WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img43.png"
ALT="$A_C$"></SPAN>, MLD2P4 uses the <SPAN CLASS="textit">smoothed aggregation</SPAN>
algorithm described in [<A
HREF="node24.html#BREZINA_VANEK">1</A>,<A
HREF="node24.html#VANEK_MANDEL_BREZINA">24</A>].
The basic idea of this algorithm is to build a coarse set of vertices
<SPAN CLASS="MATH"><IMG
WIDTH="32" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img44.png"
ALT="$W_C$"></SPAN> by suitably grouping the vertices of <SPAN CLASS="MATH"><IMG
WIDTH="24" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img10.png"
ALT="$W$"></SPAN> into disjoint subsets
(aggregates), and to define the coarse-to-fine space transfer operator <SPAN CLASS="MATH"><IMG
WIDTH="29" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
SRC="img68.png"
ALT="$R_C^T$"></SPAN> by
applying a suitable smoother to a simple piecewise constant
prolongation operator, to improve the quality of the coarse-space correction.
<P>
Three main steps can be identified in the smoothed aggregation procedure:
<OL>
<LI>coarsening of the vertex set <SPAN CLASS="MATH"><IMG
WIDTH="24" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img10.png"
ALT="$W$"></SPAN>, to obtain <SPAN CLASS="MATH"><IMG
WIDTH="32" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img44.png"
ALT="$W_C$"></SPAN>;
</LI>
<LI>construction of the prolongator <SPAN CLASS="MATH"><IMG
WIDTH="29" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
SRC="img68.png"
ALT="$R_C^T$"></SPAN>;
</LI>
<LI>application of <SPAN CLASS="MATH"><IMG
WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img67.png"
ALT="$R_C$"></SPAN> and <SPAN CLASS="MATH"><IMG
WIDTH="29" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
SRC="img68.png"
ALT="$R_C^T$"></SPAN> to build <SPAN CLASS="MATH"><IMG
WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img43.png"
ALT="$A_C$"></SPAN>.
</LI>
</OL>
<P>
To perform the coarsening step, we have implemented the aggregation algorithm sketched
in [<A
HREF="node24.html#apnum_07">4</A>]. According to [<A
HREF="node24.html#VANEK_MANDEL_BREZINA">24</A>], a modification of
this algorithm has been actually considered,
in which each aggregate <SPAN CLASS="MATH"><IMG
WIDTH="26" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img69.png"
ALT="$N_r$"></SPAN> is made of vertices of <SPAN CLASS="MATH"><IMG
WIDTH="24" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img10.png"
ALT="$W$"></SPAN> that are <SPAN CLASS="textit">strongly coupled</SPAN>
to a certain root vertex <SPAN CLASS="MATH"><IMG
WIDTH="53" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img70.png"
ALT="$r \in W$"></SPAN>, i.e. <BR><P></P>
<DIV ALIGN="CENTER" CLASS="mathdisplay">
<!-- MATH
\begin{displaymath}
N_r = \left\{s \in W: |a_{rs}| > \theta \sqrt{|a_{rr}a_{ss}|} \right\}
\cup \left\{ r \right\} ,
\end{displaymath}
-->
<IMG
WIDTH="319" HEIGHT="38" BORDER="0"
SRC="img71.png"
ALT="\begin{displaymath}N_r = \left\{s \in W: \vert a_{rs}\vert &gt; \theta \sqrt{\vert a_{rr}a_{ss}\vert} \right\}
\cup \left\{ r \right\} ,
\end{displaymath}">
</DIV>
<BR CLEAR="ALL">
<P></P>
for a given <!-- MATH
$\theta \in [0,1]$
-->
<SPAN CLASS="MATH"><IMG
WIDTH="69" HEIGHT="36" ALIGN="MIDDLE" BORDER="0"
SRC="img72.png"
ALT="$\theta \in [0,1]$"></SPAN>.
Since this algorithm has a sequential nature, a <SPAN CLASS="textit">decoupled</SPAN> version of
it has been chosen, where each processor <SPAN CLASS="MATH"><IMG
WIDTH="10" HEIGHT="18" ALIGN="BOTTOM" BORDER="0"
SRC="img73.png"
ALT="$i$"></SPAN> independently applies the algorithm to
the set of vertices <SPAN CLASS="MATH"><IMG
WIDTH="31" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img74.png"
ALT="$W_i^0$"></SPAN> assigned to it in the initial data distribution. This
version is embarrassingly parallel, since it does not require any data communication.
On the other hand, it may produce non-uniform aggregates near boundary vertices,
i.e. near vertices adjacent to vertices in other processors, and is strongly
dependent on the number of processors and on the initial partitioning of the matrix <SPAN CLASS="MATH"><IMG
WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img2.png"
ALT="$A$"></SPAN>.
Nevertheless, this algorithm has been chosen for the implementation in MLD2P4,
since it has been shown to produce good results in practice
[<A
HREF="node24.html#aaecc_07">3</A>,<A
HREF="node24.html#apnum_07">4</A>,<A
HREF="node24.html#TUMINARO_TONG">23</A>].
<P>
The prolongator <SPAN CLASS="MATH"><IMG
WIDTH="75" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
SRC="img75.png"
ALT="$P_C=R_C^T$"></SPAN> is built starting from a <SPAN CLASS="textit">tentative prolongator</SPAN>
<!-- MATH
$P \in \Re^{n \times n_C}$
-->
<SPAN CLASS="MATH"><IMG
WIDTH="90" HEIGHT="38" ALIGN="MIDDLE" BORDER="0"
SRC="img76.png"
ALT="$P \in \Re^{n \times n_C}$"></SPAN>, defined as
<BR>
<DIV ALIGN="RIGHT" CLASS="mathdisplay">
<!-- MATH
\begin{equation}
P=(p_{ij}), \quad p_{ij}=
\left\{ \begin{array}{ll}
1 & \quad \mbox{if} \; i \in V^j_C \\
0 & \quad \mbox{otherwise}
\end{array} \right. .
\end{equation}
-->
<A NAME="eq:tent_prol"></A>
<TABLE WIDTH="100%" ALIGN="CENTER">
<TR VALIGN="MIDDLE"><TD ALIGN="CENTER" NOWRAP><A NAME="eq:tent_prol"></A><IMG
WIDTH="290" HEIGHT="52" BORDER="0"
SRC="img77.png"
ALT="\begin{displaymath}
P=(p_{ij}), \quad p_{ij}=
\left\{ \begin{array}{ll}
1 &amp; \qu...
...\in V^j_C \\
0 &amp; \quad \mbox{otherwise}
\end{array} \right. .
\end{displaymath}"></TD>
<TD CLASS="eqno" WIDTH=10 ALIGN="RIGHT">
(<SPAN CLASS="arabic">2</SPAN>)</TD></TR>
</TABLE>
<BR CLEAR="ALL"></DIV><P></P>
<SPAN CLASS="MATH"><IMG
WIDTH="27" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img78.png"
ALT="$P_C$"></SPAN> is obtained by
applying to <SPAN CLASS="MATH"><IMG
WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img79.png"
ALT="$P$"></SPAN> a smoother <!-- MATH
$S \in \Re^{n \times n}$
-->
<SPAN CLASS="MATH"><IMG
WIDTH="78" HEIGHT="38" ALIGN="MIDDLE" BORDER="0"
SRC="img80.png"
ALT="$S \in \Re^{n \times n}$"></SPAN>:
<BR>
<DIV ALIGN="RIGHT" CLASS="mathdisplay">
<!-- MATH
\begin{equation}
P_C = S P,
\end{equation}
-->
<A NAME="eq:smoothed_prol"></A>
<TABLE WIDTH="100%" ALIGN="CENTER">
<TR VALIGN="MIDDLE"><TD ALIGN="CENTER" NOWRAP><A NAME="eq:smoothed_prol"></A><IMG
WIDTH="73" HEIGHT="30" BORDER="0"
SRC="img81.png"
ALT="\begin{displaymath}
P_C = S P,
\end{displaymath}"></TD>
<TD CLASS="eqno" WIDTH=10 ALIGN="RIGHT">
(<SPAN CLASS="arabic">3</SPAN>)</TD></TR>
</TABLE>
<BR CLEAR="ALL"></DIV><P></P>
in order to remove oscillatory components from the range of the prolongator
and hence to improve the convergence properties of the multi-level
Schwarz method [<A
HREF="node24.html#BREZINA_VANEK">1</A>,<A
HREF="node24.html#StubenGMD69_99">22</A>].
A simple choice for <SPAN CLASS="MATH"><IMG
WIDTH="16" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img82.png"
ALT="$S$"></SPAN> is the damped Jacobi smoother:
<BR>
<DIV ALIGN="RIGHT" CLASS="mathdisplay">
<!-- MATH
\begin{equation}
S = I - \omega D^{-1} A ,
\end{equation}
-->
<A NAME="eq:jac_smoother"></A>
<TABLE WIDTH="100%" ALIGN="CENTER">
<TR VALIGN="MIDDLE"><TD ALIGN="CENTER" NOWRAP><A NAME="eq:jac_smoother"></A><IMG
WIDTH="126" HEIGHT="30" BORDER="0"
SRC="img83.png"
ALT="\begin{displaymath}
S = I - \omega D^{-1} A ,
\end{displaymath}"></TD>
<TD CLASS="eqno" WIDTH=10 ALIGN="RIGHT">
(<SPAN CLASS="arabic">4</SPAN>)</TD></TR>
</TABLE>
<BR CLEAR="ALL"></DIV><P></P>
where the value of <SPAN CLASS="MATH"><IMG
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img84.png"
ALT="$\omega$"></SPAN> can be chosen
using some estimate of the spectral radius of <SPAN CLASS="MATH"><IMG
WIDTH="50" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
SRC="img85.png"
ALT="$D^{-1}A$"></SPAN> [<A
HREF="node24.html#BREZINA_VANEK">1</A>].
<P>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html204"
HREF="node13.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="file:/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html200"
HREF="node10.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="file:/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html196"
HREF="node11.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="file:/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html202"
HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="file:/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html205"
HREF="node13.html">Getting Started</A>
<B> Up:</B> <A NAME="tex2html201"
HREF="node10.html">Multi-level Domain Decomposition Background</A>
<B> Previous:</B> <A NAME="tex2html197"
HREF="node11.html">Multi-level Schwarz Preconditioners</A>
&nbsp; <B> <A NAME="tex2html203"
HREF="node2.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS>
Salvatore Filippone
2008-07-23
</ADDRESS>
</BODY>
</HTML>