<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">

<!--Converted with LaTeX2HTML 2012 (1.2)
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 v2012">
<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="tex2html225"
  HREF="node14.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> 
<A NAME="tex2html221"
  HREF="node11.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> 
<A NAME="tex2html217"
  HREF="node12.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> 
<A NAME="tex2html223"
  HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>  
<BR>
<B> Next:</B> <A NAME="tex2html226"
  HREF="node14.html">Getting Started</A>
<B> Up:</B> <A NAME="tex2html222"
  HREF="node11.html">Multi-level Domain Decomposition Background</A>
<B> Previous:</B> <A NAME="tex2html218"
  HREF="node12.html">Multi-level Schwarz Preconditioners</A>
 &nbsp; <B>  <A NAME="tex2html224"
  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="node27.html#BREZINA_VANEK">1</A>,<A
 HREF="node27.html#VANEK_MANDEL_BREZINA">27</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="16" 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="16" 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="node27.html#apnum_07">4</A>]. According to [<A
 HREF="node27.html#VANEK_MANDEL_BREZINA">27</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="16" 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="320" 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="node27.html#aaecc_07">3</A>,<A
 HREF="node27.html#apnum_07">4</A>,<A
 HREF="node27.html#TUMINARO_TONG">26</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="291" 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="node27.html#BREZINA_VANEK">1</A>,<A
 HREF="node27.html#StubenGMD69_99">25</A>].
A simple choice for <IMG
 WIDTH="16" HEIGHT="16" 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="125" 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="node27.html#BREZINA_VANEK">1</A>].
<P>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html225"
  HREF="node14.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> 
<A NAME="tex2html221"
  HREF="node11.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> 
<A NAME="tex2html217"
  HREF="node12.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> 
<A NAME="tex2html223"
  HREF="node2.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>  
<BR>
<B> Next:</B> <A NAME="tex2html226"
  HREF="node14.html">Getting Started</A>
<B> Up:</B> <A NAME="tex2html222"
  HREF="node11.html">Multi-level Domain Decomposition Background</A>
<B> Previous:</B> <A NAME="tex2html218"
  HREF="node12.html">Multi-level Schwarz Preconditioners</A>
 &nbsp; <B>  <A NAME="tex2html224"
  HREF="node2.html">Contents</A></B> 
<!--End of Navigation Panel-->

</BODY>
</HTML>