</H2><FONTSIZE="+1"><FONTSIZE="+1"><FONTSIZE="+1">
In order to define the prolongator <IMG
WIDTH="26" HEIGHT="18" ALIGN="BOTTOM" BORDER="0"
SRC="img25.png"
ALT="$P^k$">, used to compute
the coarse-level matrix <IMG
WIDTH="43" HEIGHT="18" ALIGN="BOTTOM" BORDER="0"
SRC="img15.png"
ALT="$A^{k+1}$">, MLD2P4 uses the smoothed aggregation
algorithm described in [<A
HREF="node29.html#BREZINA_VANEK">2</A>,<A
HREF="node29.html#VANEK_MANDEL_BREZINA">25</A>].
The basic idea of this algorithm is to build a coarse set of indices
<IMG
WIDTH="43" HEIGHT="18" ALIGN="BOTTOM" BORDER="0"
SRC="img26.png"
ALT="$\Omega^{k+1}$"> by suitably grouping the indices of <IMG
WIDTH="25" HEIGHT="18" ALIGN="BOTTOM" BORDER="0"
SRC="img9.png"
ALT="$\Omega^k$"> into disjoint
subsets (aggregates), and to define the coarse-to-fine space transfer operator
<IMG
WIDTH="26" HEIGHT="18" ALIGN="BOTTOM" BORDER="0"
SRC="img25.png"
ALT="$P^k$"> by applying a suitable smoother to a simple piecewise constant
prolongation operator, with the aim of improving the quality of the coarse-space correction.
Three main steps can be identified in the smoothed aggregation procedure:
</FONT></FONT></FONT>
<BRCLEAR="ALL"></DIV><P></P><FONTSIZE="+1"><FONTSIZE="+1"><FONTSIZE="+1">
for a given threshold <!-- MATH
$\theta \in [0,1]$
-->
<IMG
WIDTH="69" HEIGHT="36" ALIGN="MIDDLE" BORDER="0"
SRC="img32.png"
ALT="$\theta \in [0,1]$"> (see [<A
HREF="node29.html#VANEK_MANDEL_BREZINA">25</A>] for the details).
Since this algorithm has a sequential nature, a decoupled
version of it is applied, where each processor independently executes
the algorithm on the set of indices 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 some nonuniform aggregates
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="img3.png"
ALT="$A$">. Nevertheless, this parallel algorithm has been chosen for
MLD2P4, since it has been shown to produce good results in practice
[<A
HREF="node29.html#aaecc_07">5</A>,<A
HREF="node29.html#apnum_07">7</A>,<A
HREF="node29.html#TUMINARO_TONG">24</A>].
The prolongator <IMG
WIDTH="26" HEIGHT="18" ALIGN="BOTTOM" BORDER="0"
SRC="img25.png"
ALT="$P^k$"> is built starting from a tentative prolongator
<!-- MATH
$\bar{P}^k \in \mathbb{R}^{n_k \times n_{k+1}}$
-->
<IMG
WIDTH="117" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img33.png"
ALT="$\bar{P}^k \in \mathbb{R}^{n_k \times n_{k+1}}$">, defined as
</FONT></FONT></FONT>
<P></P><FONTSIZE="+1"><FONTSIZE="+1"><FONTSIZE="+1">
in order to remove nonsmooth components from the range of the prolongator,
and hence to improve the convergence properties of the multi-level
method [<A
HREF="node29.html#BREZINA_VANEK">2</A>,<A
HREF="node29.html#Stuben_01">23</A>].
A simple choice for <IMG
WIDTH="25" HEIGHT="19" ALIGN="BOTTOM" BORDER="0"
SRC="img38.png"
ALT="$S^k$"> is the damped Jacobi smoother:
</FONT></FONT></FONT>
<BR><P></P>
<DIVALIGN="CENTER">
<!-- MATH
\begin{displaymath}
S^k = I - \omega^k (D^k)^{-1} A^k_F ,
\end{displaymath}
-->
<IMG
WIDTH="175" HEIGHT="31" BORDER="0"
SRC="img39.png"
ALT="\begin{displaymath}
S^k = I - \omega^k (D^k)^{-1} A^k_F ,
\end{displaymath}">
</DIV>
<BRCLEAR="ALL">
<P></P><FONTSIZE="+1"><FONTSIZE="+1"><FONTSIZE="+1">
where <IMG
WIDTH="28" HEIGHT="18" ALIGN="BOTTOM" BORDER="0"
SRC="img40.png"
ALT="$D^k$"> is the diagonal matrix with the same diagonal entries as <IMG
WIDTH="26" HEIGHT="18" ALIGN="BOTTOM" BORDER="0"
SRC="img41.png"
ALT="$A^k$">,
<!-- MATH
$A^k_F = (\bar{a}_{ij}^k)$
-->
<IMG
WIDTH="87" HEIGHT="39" ALIGN="MIDDLE" BORDER="0"
SRC="img42.png"
ALT="$A^k_F = (\bar{a}_{ij}^k)$"> is the filtered matrix defined as
</FONT></FONT></FONT>