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/node13.html

318 lines
9.6 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2008 (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 v2008">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="userhtml.css">
<LINK REL="previous" HREF="node12.html">
<LINK REL="up" HREF="node11.html">
<LINK REL="next" HREF="node14.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html219"
HREF="node14.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html215"
HREF="node11.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html211"
HREF="node12.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html217"
HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html220"
HREF="node14.html">Getting Started</A>
<B> Up:</B> <A NAME="tex2html216"
HREF="node11.html">Multi-level Domain Decomposition Background</A>
<B> Previous:</B> <A NAME="tex2html212"
HREF="node12.html">Multi-level Schwarz Preconditioners</A>
&nbsp; <B> <A NAME="tex2html218"
HREF="node2.html">Contents</A></B>
<BR>
<BR>
<!--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 <IMG
WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img69.png"
ALT="$R_C$">, which is used to compute
the coarse-level matrix <IMG
WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img44.png"
ALT="$A_C$">, MLD2P4 uses the <I>smoothed aggregation</I>
algorithm described in [<A
HREF="node25.html#BREZINA_VANEK">1</A>,<A
HREF="node25.html#VANEK_MANDEL_BREZINA">26</A>].
The basic idea of this algorithm is to build a coarse set of vertices
<IMG
WIDTH="32" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img45.png"
ALT="$W_C$"> by suitably grouping the vertices of <IMG
WIDTH="23" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img11.png"
ALT="$W$"> into disjoint subsets
(aggregates), and to define the coarse-to-fine space transfer operator <IMG
WIDTH="29" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
SRC="img70.png"
ALT="$R_C^T$"> 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 <IMG
WIDTH="23" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img11.png"
ALT="$W$">, to obtain <IMG
WIDTH="32" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img45.png"
ALT="$W_C$">;
</LI>
<LI>construction of the prolongator <IMG
WIDTH="29" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
SRC="img70.png"
ALT="$R_C^T$">;
</LI>
<LI>application of <IMG
WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img69.png"
ALT="$R_C$"> and <IMG
WIDTH="29" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
SRC="img70.png"
ALT="$R_C^T$"> to build <IMG
WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img44.png"
ALT="$A_C$">.
</LI>
</OL>
<P>
To perform the coarsening step, we have implemented the aggregation algorithm sketched
in [<A
HREF="node25.html#apnum_07">4</A>]. According to [<A
HREF="node25.html#VANEK_MANDEL_BREZINA">26</A>], a modification of
this algorithm has been actually considered,
in which each aggregate <IMG
WIDTH="26" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img71.png"
ALT="$N_r$"> is made of vertices of <IMG
WIDTH="23" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img11.png"
ALT="$W$"> that are <I>strongly coupled</I>
to a certain root vertex <IMG
WIDTH="53" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img72.png"
ALT="$r \in W$">, i.e. <BR><P></P>
<DIV ALIGN="CENTER">
<!-- 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="img73.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]$
-->
<IMG
WIDTH="69" HEIGHT="36" ALIGN="MIDDLE" BORDER="0"
SRC="img74.png"
ALT="$\theta \in [0,1]$">.
Since this algorithm has a sequential nature, a <I>decoupled</I> version of
it has been chosen, where each processor <IMG
WIDTH="10" HEIGHT="18" ALIGN="BOTTOM" BORDER="0"
SRC="img75.png"
ALT="$i$"> independently applies the algorithm to
the set of vertices <IMG
WIDTH="31" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img76.png"
ALT="$W_i^0$"> 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 <IMG
WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img2.png"
ALT="$A$">.
Nevertheless, this algorithm has been chosen for the implementation in MLD2P4,
since it has been shown to produce good results in practice
[<A
HREF="node25.html#aaecc_07">3</A>,<A
HREF="node25.html#apnum_07">4</A>,<A
HREF="node25.html#TUMINARO_TONG">25</A>].
<P>
The prolongator <IMG
WIDTH="75" HEIGHT="40" ALIGN="MIDDLE" BORDER="0"
SRC="img77.png"
ALT="$P_C=R_C^T$"> is built starting from a <I>tentative prolongator</I>
<!-- MATH
$P \in \Re^{n \times n_C}$
-->
<IMG
WIDTH="90" HEIGHT="38" ALIGN="MIDDLE" BORDER="0"
SRC="img78.png"
ALT="$P \in \Re^{n \times n_C}$">, defined as
<BR>
<DIV ALIGN="RIGHT">
<!-- 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}
-->
<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="img79.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 WIDTH=10 ALIGN="RIGHT">
(2)</TD></TR>
</TABLE>
<BR CLEAR="ALL"></DIV><P></P>
<IMG
WIDTH="27" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img80.png"
ALT="$P_C$"> is obtained by
applying to <IMG
WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img81.png"
ALT="$P$"> a smoother <!-- MATH
$S \in \Re^{n \times n}$
-->
<IMG
WIDTH="78" HEIGHT="38" ALIGN="MIDDLE" BORDER="0"
SRC="img82.png"
ALT="$S \in \Re^{n \times n}$">:
<BR>
<DIV ALIGN="RIGHT">
<!-- MATH
\begin{equation}
P_C = S P,
\end{equation}
-->
<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="img83.png"
ALT="\begin{displaymath}
P_C = S P,
\end{displaymath}"></TD>
<TD WIDTH=10 ALIGN="RIGHT">
(3)</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="node25.html#BREZINA_VANEK">1</A>,<A
HREF="node25.html#StubenGMD69_99">24</A>].
A simple choice for <IMG
WIDTH="16" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
SRC="img84.png"
ALT="$S$"> is the damped Jacobi smoother:
<BR>
<DIV ALIGN="RIGHT">
<!-- MATH
\begin{equation}
S = I - \omega D^{-1} A ,
\end{equation}
-->
<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="img85.png"
ALT="\begin{displaymath}
S = I - \omega D^{-1} A ,
\end{displaymath}"></TD>
<TD WIDTH=10 ALIGN="RIGHT">
(4)</TD></TR>
</TABLE>
<BR CLEAR="ALL"></DIV><P></P>
where the value of <IMG
WIDTH="16" HEIGHT="18" ALIGN="BOTTOM" BORDER="0"
SRC="img86.png"
ALT="$\omega$"> can be chosen
using some estimate of the spectral radius of <IMG
WIDTH="50" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
SRC="img87.png"
ALT="$D^{-1}A$"> [<A
HREF="node25.html#BREZINA_VANEK">1</A>].
<P>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html219"
HREF="node14.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html215"
HREF="node11.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html211"
HREF="node12.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html217"
HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html220"
HREF="node14.html">Getting Started</A>
<B> Up:</B> <A NAME="tex2html216"
HREF="node11.html">Multi-level Domain Decomposition Background</A>
<B> Previous:</B> <A NAME="tex2html212"
HREF="node12.html">Multi-level Schwarz Preconditioners</A>
&nbsp; <B> <A NAME="tex2html218"
HREF="node2.html">Contents</A></B>
<!--End of Navigation Panel-->
</BODY>
</HTML>