<!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>Multi-level Schwarz Preconditioners</TITLE> <META NAME="description" CONTENT="Multi-level Schwarz Preconditioners"> <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="next" HREF="node13.html"> <LINK REL="previous" HREF="node11.html"> <LINK REL="up" HREF="node11.html"> <LINK REL="next" HREF="node13.html"> </HEAD> <BODY > <!--Navigation Panel--> <A NAME="tex2html215" HREF="node13.html"> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <A NAME="tex2html211" HREF="node11.html"> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <A NAME="tex2html205" HREF="node11.html"> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <A NAME="tex2html213" HREF="node2.html"> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <BR> <B> Next:</B> <A NAME="tex2html216" HREF="node13.html">Smoothed Aggregation</A> <B> Up:</B> <A NAME="tex2html212" HREF="node11.html">Multi-level Domain Decomposition Background</A> <B> Previous:</B> <A NAME="tex2html206" HREF="node11.html">Multi-level Domain Decomposition Background</A> <B> <A NAME="tex2html214" HREF="node2.html">Contents</A></B> <BR> <BR> <!--End of Navigation Panel--> <H2><A NAME="SECTION00061000000000000000"></A><A NAME="sec:multilevel"></A> <BR> Multi-level Schwarz Preconditioners </H2> <P> The Multilevel preconditioners implemented in MLD2P4 are obtained by combining AS preconditioners with coarse-space corrections; therefore we first provide a sketch of the AS preconditioners. <P> Given the linear system , where <!-- MATH $A=(a_{ij}) \in \Re^{n \times n}$ --> <IMG WIDTH="137" HEIGHT="38" ALIGN="MIDDLE" BORDER="0" SRC="img4.png" ALT="$A=(a_{ij}) \in \Re^{n \times n}$"> is a nonsingular sparse matrix with a symmetric nonzero pattern, let <IMG WIDTH="92" HEIGHT="36" ALIGN="MIDDLE" BORDER="0" SRC="img5.png" ALT="$G=(W,E)$"> be the adjacency graph of <IMG WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" SRC="img2.png" ALT="$A$">, where <!-- MATH $W=\{1, 2, \ldots, n\}$ --> <IMG WIDTH="139" HEIGHT="36" ALIGN="MIDDLE" BORDER="0" SRC="img6.png" ALT="$W=\{1, 2, \ldots, n\}$"> and <!-- MATH $E=\{(i,j) : a_{ij} \neq 0\}$ --> <IMG WIDTH="162" HEIGHT="36" ALIGN="MIDDLE" BORDER="0" SRC="img7.png" ALT="$E=\{(i,j) : a_{ij} \neq 0\}$"> are the vertex set and the edge set of <IMG WIDTH="18" HEIGHT="16" ALIGN="BOTTOM" BORDER="0" SRC="img8.png" ALT="$G$">, respectively. Two vertices are called adjacent if there is an edge connecting them. For any integer <IMG WIDTH="45" HEIGHT="34" ALIGN="MIDDLE" BORDER="0" SRC="img9.png" ALT="$\delta > 0$">, a <IMG WIDTH="13" HEIGHT="16" ALIGN="BOTTOM" BORDER="0" SRC="img10.png" ALT="$\delta$">-overlap partition of <IMG WIDTH="23" HEIGHT="16" ALIGN="BOTTOM" BORDER="0" SRC="img11.png" ALT="$W$"> can be defined recursively as follows. Given a 0-overlap (or non-overlapping) partition of <IMG WIDTH="23" HEIGHT="16" ALIGN="BOTTOM" BORDER="0" SRC="img11.png" ALT="$W$">, i.e. a set of <IMG WIDTH="20" HEIGHT="18" ALIGN="BOTTOM" BORDER="0" SRC="img12.png" ALT="$m$"> disjoint nonempty sets <!-- MATH $W_i^0 \subset W$ --> <IMG WIDTH="73" HEIGHT="39" ALIGN="MIDDLE" BORDER="0" SRC="img13.png" ALT="$W_i^0 \subset W$"> such that <!-- MATH $\cup_{i=1}^m W_i^0 = W$ --> <IMG WIDTH="108" HEIGHT="39" ALIGN="MIDDLE" BORDER="0" SRC="img14.png" ALT="$\cup_{i=1}^m W_i^0 = W$">, a <IMG WIDTH="13" HEIGHT="16" ALIGN="BOTTOM" BORDER="0" SRC="img10.png" ALT="$\delta$">-overlap partition of <IMG WIDTH="23" HEIGHT="16" ALIGN="BOTTOM" BORDER="0" SRC="img11.png" ALT="$W$"> is obtained by considering the sets <!-- MATH $W_i^\delta \supset W_i^{\delta-1}$ --> <IMG WIDTH="97" HEIGHT="41" ALIGN="MIDDLE" BORDER="0" SRC="img15.png" ALT="$W_i^\delta \supset W_i^{\delta-1}$"> obtained by including the vertices that are adjacent to any vertex in <!-- MATH $W_i^{\delta-1}$ --> <IMG WIDTH="48" HEIGHT="41" ALIGN="MIDDLE" BORDER="0" SRC="img16.png" ALT="$W_i^{\delta-1}$">. <P> Let <IMG WIDTH="22" HEIGHT="39" ALIGN="MIDDLE" BORDER="0" SRC="img17.png" ALT="$n_i^\delta$"> be the size of <IMG WIDTH="31" HEIGHT="39" ALIGN="MIDDLE" BORDER="0" SRC="img18.png" ALT="$W_i^\delta$"> and <!-- MATH $R_i^{\delta} \in \Re^{n_i^\delta \times n}$ --> <IMG WIDTH="93" HEIGHT="45" ALIGN="MIDDLE" BORDER="0" SRC="img19.png" ALT="$R_i^{\delta} \in \Re^{n_i^\delta \times n}$"> the restriction operator that maps a vector <IMG WIDTH="57" HEIGHT="34" ALIGN="MIDDLE" BORDER="0" SRC="img20.png" ALT="$v \in \Re^n$"> onto the vector <!-- MATH $v_i^{\delta} \in \Re^{n_i^\delta}$ --> <IMG WIDTH="70" HEIGHT="45" ALIGN="MIDDLE" BORDER="0" SRC="img21.png" ALT="$v_i^{\delta} \in \Re^{n_i^\delta}$"> containing the components of <IMG WIDTH="14" HEIGHT="18" ALIGN="BOTTOM" BORDER="0" SRC="img22.png" ALT="$v$"> corresponding to the vertices in <IMG WIDTH="31" HEIGHT="39" ALIGN="MIDDLE" BORDER="0" SRC="img18.png" ALT="$W_i^\delta$">. The transpose of <IMG WIDTH="25" HEIGHT="39" ALIGN="MIDDLE" BORDER="0" SRC="img23.png" ALT="$R_i^{\delta}$"> is a prolongation operator from <!-- MATH $\Re^{n_i^\delta}$ --> <IMG WIDTH="33" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" SRC="img24.png" ALT="$\Re^{n_i^\delta}$"> to <IMG WIDTH="26" HEIGHT="16" ALIGN="BOTTOM" BORDER="0" SRC="img25.png" ALT="$\Re^n$">. The matrix <!-- MATH $A_i^\delta=R_i^\delta A (R_i^\delta)^T \in \Re^{n_i^\delta \times n_i^\delta}$ --> <IMG WIDTH="201" HEIGHT="45" ALIGN="MIDDLE" BORDER="0" SRC="img26.png" ALT="$A_i^\delta=R_i^\delta A (R_i^\delta)^T \in \Re^{n_i^\delta \times n_i^\delta}$"> can be considered as a restriction of <IMG WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" SRC="img2.png" ALT="$A$"> corresponding to the set <IMG WIDTH="30" HEIGHT="39" ALIGN="MIDDLE" BORDER="0" SRC="img27.png" ALT="$W_i^{\delta}$">. <P> The <I>classical one-level AS</I> preconditioner is defined by <BR><P></P> <DIV ALIGN="CENTER"> <!-- MATH \begin{displaymath} M_{AS}^{-1}= \sum_{i=1}^m (R_i^{\delta})^T (A_i^\delta)^{-1} R_i^{\delta}, \end{displaymath} --> <IMG WIDTH="207" HEIGHT="58" BORDER="0" SRC="img28.png" ALT="\begin{displaymath} M_{AS}^{-1}= \sum_{i=1}^m (R_i^{\delta})^T (A_i^\delta)^{-1} R_i^{\delta}, \end{displaymath}"> </DIV> <BR CLEAR="ALL"> <P></P> where <IMG WIDTH="25" HEIGHT="39" ALIGN="MIDDLE" BORDER="0" SRC="img29.png" ALT="$A_i^\delta$"> is assumed to be nonsingular. Its application to a vector <IMG WIDTH="57" HEIGHT="34" ALIGN="MIDDLE" BORDER="0" SRC="img20.png" ALT="$v \in \Re^n$"> within a Krylov solver requires the following three steps: <OL> <LI>restriction of <IMG WIDTH="14" HEIGHT="18" ALIGN="BOTTOM" BORDER="0" SRC="img22.png" ALT="$v$"> as <!-- MATH $v_i = R_i^{\delta} v$ --> <IMG WIDTH="71" HEIGHT="39" ALIGN="MIDDLE" BORDER="0" SRC="img30.png" ALT="$v_i = R_i^{\delta} v$">, <IMG WIDTH="96" HEIGHT="33" ALIGN="MIDDLE" BORDER="0" SRC="img31.png" ALT="$i=1,\ldots,m$">; </LI> <LI>solution of the linear systems <!-- MATH $A_i^\delta w_i = v_i$ --> <IMG WIDTH="80" HEIGHT="39" ALIGN="MIDDLE" BORDER="0" SRC="img32.png" ALT="$A_i^\delta w_i = v_i$">, <IMG WIDTH="96" HEIGHT="33" ALIGN="MIDDLE" BORDER="0" SRC="img31.png" ALT="$i=1,\ldots,m$">; </LI> <LI>prolongation and sum of the <IMG WIDTH="22" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" SRC="img33.png" ALT="$w_i$">'s, i.e. <!-- MATH $w = \sum_{i=1}^m (R_i^{\delta})^T w_i$ --> <IMG WIDTH="145" HEIGHT="39" ALIGN="MIDDLE" BORDER="0" SRC="img34.png" ALT="$w = \sum_{i=1}^m (R_i^{\delta})^T w_i$">. </LI> </OL> Note that the linear systems at step 2 are usually solved approximately, e.g. using incomplete LU factorizations such as ILU(<IMG WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" SRC="img35.png" ALT="$p$">), MILU(<IMG WIDTH="13" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" SRC="img35.png" ALT="$p$">) and ILU(<IMG WIDTH="27" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" SRC="img36.png" ALT="$p,t$">) [<A HREF="node27.html#Saad_book">22</A>, Chapter 10]. <P> A variant of the classical AS preconditioner that outperforms it in terms of convergence rate and of computation and communication time on parallel distributed-memory computers is the so-called <I>Restricted AS (RAS)</I> preconditioner [<A HREF="node27.html#CAI_SARKIS">5</A>,<A HREF="node27.html#EFSTATHIOU">15</A>]. It is obtained by zeroing the components of <IMG WIDTH="22" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" SRC="img33.png" ALT="$w_i$"> corresponding to the overlapping vertices when applying the prolongation. Therefore, RAS differs from classical AS by the prolongation operators, which are substituted by <!-- MATH $(\tilde{R}_i^0)^T \in \Re^{n_i^\delta \times n}$ --> <IMG WIDTH="117" HEIGHT="45" ALIGN="MIDDLE" BORDER="0" SRC="img37.png" ALT="$(\tilde{R}_i^0)^T \in \Re^{n_i^\delta \times n}$">, where <IMG WIDTH="26" HEIGHT="42" ALIGN="MIDDLE" BORDER="0" SRC="img38.png" ALT="$\tilde{R}_i^0$"> is obtained by zeroing the rows of <IMG WIDTH="25" HEIGHT="39" ALIGN="MIDDLE" BORDER="0" SRC="img39.png" ALT="$R_i^\delta$"> corresponding to the vertices in <!-- MATH $W_i^\delta \backslash W_i^0$ --> <IMG WIDTH="66" HEIGHT="39" ALIGN="MIDDLE" BORDER="0" SRC="img40.png" ALT="$W_i^\delta \backslash W_i^0$">: <BR><P></P> <DIV ALIGN="CENTER"> <!-- MATH \begin{displaymath} M_{RAS}^{-1}= \sum_{i=1}^m (\tilde{R}_i^0)^T (A_i^\delta)^{-1} R_i^{\delta}. \end{displaymath} --> <IMG WIDTH="217" HEIGHT="58" BORDER="0" SRC="img41.png" ALT="\begin{displaymath} M_{RAS}^{-1}= \sum_{i=1}^m (\tilde{R}_i^0)^T (A_i^\delta)^{-1} R_i^{\delta}. \end{displaymath}"> </DIV> <BR CLEAR="ALL"> <P></P> Analogously, the AS variant called <I>AS with Harmonic extension (ASH)</I> is defined by <BR><P></P> <DIV ALIGN="CENTER"> <!-- MATH \begin{displaymath} M_{ASH}^{-1}= \sum_{i=1}^m (R_i^{\delta})^T (A_i^\delta)^{-1} \tilde{R}_i^0. \end{displaymath} --> <IMG WIDTH="219" HEIGHT="58" BORDER="0" SRC="img42.png" ALT="\begin{displaymath}M_{ASH}^{-1}= \sum_{i=1}^m (R_i^{\delta})^T (A_i^\delta)^{-1} \tilde{R}_i^0. \end{displaymath}"> </DIV> <BR CLEAR="ALL"> <P></P> We note that for <IMG WIDTH="45" HEIGHT="16" ALIGN="BOTTOM" BORDER="0" SRC="img43.png" ALT="$\delta=0$"> the three variants of the AS preconditioner are all equal to the block-Jacobi preconditioner. <P> As already observed, the convergence rate of the one-level Schwarz preconditioned iterative solvers deteriorates as the number <IMG WIDTH="20" HEIGHT="18" ALIGN="BOTTOM" BORDER="0" SRC="img12.png" ALT="$m$"> of partitions of <IMG WIDTH="23" HEIGHT="16" ALIGN="BOTTOM" BORDER="0" SRC="img11.png" ALT="$W$"> increases [<A HREF="node27.html#dd1_94">7</A>,<A HREF="node27.html#dd2_96">23</A>]. To reduce the dependency of the number of iterations on the degree of parallelism we may introduce a global coupling among the overlapping partitions by defining a coarse-space approximation <IMG WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" SRC="img44.png" ALT="$A_C$"> of the matrix <IMG WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" SRC="img2.png" ALT="$A$">. In a pure algebraic setting, <IMG WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" SRC="img44.png" ALT="$A_C$"> is usually built with the Galerkin approach. Given a set <IMG WIDTH="32" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" SRC="img45.png" ALT="$W_C$"> of <I>coarse vertices</I>, with size <IMG WIDTH="26" HEIGHT="31" ALIGN="MIDDLE" BORDER="0" SRC="img46.png" ALT="$n_C$">, and a suitable restriction operator <!-- MATH $R_C \in \Re^{n_C \times n}$ --> <IMG WIDTH="100" HEIGHT="38" ALIGN="MIDDLE" BORDER="0" SRC="img47.png" ALT="$R_C \in \Re^{n_C \times n}$">, <IMG WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" SRC="img44.png" ALT="$A_C$"> is defined as <BR><P></P> <DIV ALIGN="CENTER"> <!-- MATH \begin{displaymath} A_C=R_C A R_C^T \end{displaymath} --> <IMG WIDTH="109" HEIGHT="31" BORDER="0" SRC="img48.png" ALT="\begin{displaymath} A_C=R_C A R_C^T \end{displaymath}"> </DIV> <BR CLEAR="ALL"> <P></P> and the coarse-level correction matrix to be combined with a generic one-level AS preconditioner <IMG WIDTH="38" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" SRC="img49.png" ALT="$M_{1L}$"> is obtained as <BR><P></P> <DIV ALIGN="CENTER"> <!-- MATH \begin{displaymath} M_{C}^{-1}= R_C^T A_C^{-1} R_C, \end{displaymath} --> <IMG WIDTH="145" HEIGHT="32" BORDER="0" SRC="img50.png" ALT="\begin{displaymath} M_{C}^{-1}= R_C^T A_C^{-1} R_C, \end{displaymath}"> </DIV> <BR CLEAR="ALL"> <P></P> where <IMG WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" SRC="img44.png" ALT="$A_C$"> is assumed to be nonsingular. The application of <IMG WIDTH="41" HEIGHT="41" ALIGN="MIDDLE" BORDER="0" SRC="img51.png" ALT="$M_{C}^{-1}$"> to a vector <IMG WIDTH="14" HEIGHT="18" ALIGN="BOTTOM" BORDER="0" SRC="img22.png" ALT="$v$"> corresponds to a restriction, a solution and a prolongation step; the solution step, involving the matrix <IMG WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" SRC="img44.png" ALT="$A_C$">, may be carried out also approximately. <P> The combination of <IMG WIDTH="33" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" SRC="img52.png" ALT="$M_{C}$"> and <IMG WIDTH="38" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" SRC="img49.png" ALT="$M_{1L}$"> may be performed in either an additive or a multiplicative framework. In the former case, the <I>two-level additive</I> Schwarz preconditioner is obtained: <BR><P></P> <DIV ALIGN="CENTER"> <!-- MATH \begin{displaymath} M_{2LA}^{-1} = M_{C}^{-1} + M_{1L}^{-1}. \end{displaymath} --> <IMG WIDTH="166" HEIGHT="32" BORDER="0" SRC="img53.png" ALT="\begin{displaymath} M_{2LA}^{-1} = M_{C}^{-1} + M_{1L}^{-1}. \end{displaymath}"> </DIV> <BR CLEAR="ALL"> <P></P> Applying <IMG WIDTH="59" HEIGHT="41" ALIGN="MIDDLE" BORDER="0" SRC="img54.png" ALT="$M_{2L-A}^{-1}$"> to a vector <IMG WIDTH="14" HEIGHT="18" ALIGN="BOTTOM" BORDER="0" SRC="img22.png" ALT="$v$"> within a Krylov solver corresponds to applying <IMG WIDTH="41" HEIGHT="41" ALIGN="MIDDLE" BORDER="0" SRC="img51.png" ALT="$M_{C}^{-1}$"> and <IMG WIDTH="41" HEIGHT="41" ALIGN="MIDDLE" BORDER="0" SRC="img55.png" ALT="$M_{1L}^{-1}$"> to <IMG WIDTH="14" HEIGHT="18" ALIGN="BOTTOM" BORDER="0" SRC="img22.png" ALT="$v$"> independently and then summing up the results. <P> In the multiplicative case, the combination can be performed by first applying the smoother <IMG WIDTH="41" HEIGHT="41" ALIGN="MIDDLE" BORDER="0" SRC="img55.png" ALT="$M_{1L}^{-1}$"> and then the coarse-level correction operator <IMG WIDTH="41" HEIGHT="41" ALIGN="MIDDLE" BORDER="0" SRC="img51.png" ALT="$M_{C}^{-1}$">: <BR><P></P> <DIV ALIGN="CENTER"> <!-- MATH \begin{displaymath} \begin{array}{l} w = M_{1L}^{-1} v, \\ z = w + M_{C}^{-1} (v-Aw); \end{array} \end{displaymath} --> <IMG WIDTH="177" HEIGHT="51" BORDER="0" SRC="img56.png" ALT="\begin{displaymath} \begin{array}{l} w = M_{1L}^{-1} v, \\ z = w + M_{C}^{-1} (v-Aw); \end{array}\end{displaymath}"> </DIV> <BR CLEAR="ALL"> <P></P> this corresponds to the following <I>two-level hybrid pre-smoothed</I> Schwarz preconditioner: <BR><P></P> <DIV ALIGN="CENTER"> <!-- MATH \begin{displaymath} M_{2LH-PRE}^{-1} = M_{C}^{-1} + \left( I - M_{C}^{-1}A \right) M_{1L}^{-1}. \end{displaymath} --> <IMG WIDTH="309" HEIGHT="34" BORDER="0" SRC="img57.png" ALT="\begin{displaymath} M_{2LH-PRE}^{-1} = M_{C}^{-1} + \left( I - M_{C}^{-1}A \right) M_{1L}^{-1}. \end{displaymath}"> </DIV> <BR CLEAR="ALL"> <P></P> On the other hand, by applying the smoother after the coarse-level correction, i.e. by computing <BR><P></P> <DIV ALIGN="CENTER"> <!-- MATH \begin{displaymath} \begin{array}{l} w = M_{C}^{-1} v , \\ z = w + M_{1L}^{-1} (v-Aw) , \end{array} \end{displaymath} --> <IMG WIDTH="177" HEIGHT="51" BORDER="0" SRC="img58.png" ALT="\begin{displaymath} \begin{array}{l} w = M_{C}^{-1} v , \\ z = w + M_{1L}^{-1} (v-Aw) , \end{array}\end{displaymath}"> </DIV> <BR CLEAR="ALL"> <P></P> the <I>two-level hybrid post-smoothed</I> Schwarz preconditioner is obtained: <BR><P></P> <DIV ALIGN="CENTER"> <!-- MATH \begin{displaymath} M_{2LH-POST}^{-1} = M_{1L}^{-1} + \left( I - M_{1L}^{-1}A \right) M_{C}^{-1}. \end{displaymath} --> <IMG WIDTH="318" HEIGHT="34" BORDER="0" SRC="img59.png" ALT="\begin{displaymath} M_{2LH-POST}^{-1} = M_{1L}^{-1} + \left( I - M_{1L}^{-1}A \right) M_{C}^{-1}. \end{displaymath}"> </DIV> <BR CLEAR="ALL"> <P></P> One more variant of two-level hybrid preconditioner is obtained by applying the smoother before and after the coarse-level correction. In this case, the preconditioner is symmetric if <IMG WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" SRC="img2.png" ALT="$A$">, <IMG WIDTH="38" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" SRC="img49.png" ALT="$M_{1L}$"> and <IMG WIDTH="33" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" SRC="img52.png" ALT="$M_{C}$"> are symmetric. <P> As previously noted, on parallel computers the number of submatrices usually matches the number of available processors. When the size of the system to be preconditioned is very large, the use of many processors, i.e. of many small submatrices, often leads to a large coarse-level system, whose solution may be computationally expensive. On the other hand, the use of few processors often leads to local sumatrices that are too expensive to be processed on single processors, because of memory and/or computing requirements. Therefore, it seems natural to use a recursive approach, in which the coarse-level correction is re-applied starting from the current coarse-level system. The corresponding preconditioners, called <I>multi-level</I> preconditioners, can significantly reduce the computational cost of preconditioning with respect to the two-level case (see [<A HREF="node27.html#dd2_96">23</A>, Chapter 3]). Additive and hybrid multilevel preconditioners are obtained as direct extensions of the two-level counterparts. For a detailed descrition of them, the reader is referred to [<A HREF="node27.html#dd2_96">23</A>, Chapter 3]. The algorithm for the application of a multi-level hybrid post-smoothed preconditioner <IMG WIDTH="23" HEIGHT="15" ALIGN="BOTTOM" BORDER="0" SRC="img60.png" ALT="$M$"> to a vector <IMG WIDTH="14" HEIGHT="18" ALIGN="BOTTOM" BORDER="0" SRC="img22.png" ALT="$v$">, i.e. for the computation of <IMG WIDTH="86" HEIGHT="21" ALIGN="BOTTOM" BORDER="0" SRC="img61.png" ALT="$w=M^{-1}v$">, is reported, for example, in Figure <A HREF="#fig:mlhpost_alg">1</A>. Here the number of levels is denoted by <IMG WIDTH="38" HEIGHT="16" ALIGN="BOTTOM" BORDER="0" SRC="img62.png" ALT="$nlev$"> and the levels are numbered in increasing order starting from the finest one, i.e. the finest level is level 1; the coarse matrix and the corresponding basic preconditioner at each level <IMG WIDTH="10" HEIGHT="16" ALIGN="BOTTOM" BORDER="0" SRC="img63.png" ALT="$l$"> are denoted by <IMG WIDTH="23" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" SRC="img64.png" ALT="$A_l$"> and <IMG WIDTH="26" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" SRC="img65.png" ALT="$M_l$">, respectively, with <IMG WIDTH="62" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" SRC="img66.png" ALT="$A_1=A$">, while the related restriction operator is denoted by <IMG WIDTH="23" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" SRC="img67.png" ALT="$R_l$">. <DIV ALIGN="CENTER"><A NAME="fig:mlhpost_alg"></A><A NAME="514"></A> <TABLE> <CAPTION ALIGN="BOTTOM"><STRONG>Figure 1:</STRONG> Application of the multi-level hybrid post-smoothed preconditioner.</CAPTION> <TR><TD> <DIV ALIGN="CENTER"> <!-- MATH $\framebox{ \begin{minipage}{.85\textwidth} {\small \begin{tabbing} \quad \=\quad \=\quad \=\quad \\[-1mm]$v_1 = v$; \\[2mm] \textbf{for $l=2, nlev$\ do}\\[1mm] \> ! transfer $v_{l-1}$\ to the next coarser level\\ \> $v_l = R_lv_{l-1}$\ \\[1mm] \textbf{endfor} \\[2mm] ! apply the coarsest-level correction\\[1mm] $y_{nlev} = A_{nlev}^{-1} v_{nlev}$\\[2mm] \textbf{for $l=nlev -1 , 1, -1$\ do}\\[1mm] \> ! transfer $y_{l+1}$\ to the next finer level\\ \> $y_l = R_{l+1}^T y_{l+1}$;\\[1mm] \> ! compute the residual at the current level\\ \> $r_l = v_l-A_l^{-1} y_l$;\\[1mm] \> ! apply the basic Schwarz preconditioner to the residual\\ \> $r_l = M_l^{-1} r_l$\\[1mm] \> ! update $y_l$\\ \> $y_l = y_l+r_l$\\ \textbf{endfor} \\[1mm] $w = y_1$; \end{tabbing} } \end{minipage} }$ --> <IMG WIDTH="430" HEIGHT="435" ALIGN="BOTTOM" BORDER="0" SRC="img68.png" ALT="\framebox{ \begin{minipage}{.85\textwidth} {\small \begin{tabbing} \quad \=\quad... ...= y_l+r_l$\\ \textbf{endfor} [1mm] $w = y_1$; \end{tabbing}} \end{minipage}}"> </DIV></TD></TR> </TABLE> </DIV> <P> <HR> <!--Navigation Panel--> <A NAME="tex2html215" HREF="node13.html"> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A> <A NAME="tex2html211" HREF="node11.html"> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A> <A NAME="tex2html205" HREF="node11.html"> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A> <A NAME="tex2html213" HREF="node2.html"> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A> <BR> <B> Next:</B> <A NAME="tex2html216" HREF="node13.html">Smoothed Aggregation</A> <B> Up:</B> <A NAME="tex2html212" HREF="node11.html">Multi-level Domain Decomposition Background</A> <B> Previous:</B> <A NAME="tex2html206" HREF="node11.html">Multi-level Domain Decomposition Background</A> <B> <A NAME="tex2html214" HREF="node2.html">Contents</A></B> <!--End of Navigation Panel--> </BODY> </HTML>