Doc updates.

documentation
Salvatore Filippone 4 years ago
parent 44acd20726
commit eb6ba73525

Binary file not shown.

@ -32,15 +32,18 @@ class="cmr-12">4 </span></span> <a
id="x13-120004"></a><span id="x13-120004"></a><span
class="cmr-12">Getting Started</span></h3> class="cmr-12">Getting Started</span></h3>
<!--l. 5--><p class="noindent" ><span <!--l. 5--><p class="noindent" ><span
class="cmr-12">We describe the basics for building and applying AMG4PSBLAS one-level and</span> class="cmr-12">This section describes the basics for building and applying AMG4PSBLAS one-level</span>
<span <span
class="cmr-12">multilevel (i.e., AMG) preconditioners with the Krylov solvers included in PSBLAS</span> class="cmr-12">and multilevel (i.e., AMG) preconditioners with the Krylov solvers included in</span>
<span class="cite"><span <span
class="cmr-12">PSBLAS </span><span class="cite"><span
class="cmr-12">[</span><a class="cmr-12">[</span><a
href="userhtmlli4.html#XPSBLASGUIDE"><span href="userhtmlli4.html#XPSBLASGUIDE"><span
class="cmr-12">17</span></a><span class="cmr-12">17</span></a><span
class="cmr-12">]</span></span><span class="cmr-12">]</span></span><span
class="cmr-12">. The following steps are required:</span> class="cmr-12">.</span>
<!--l. 9--><p class="indent" > <span
class="cmr-12">The following steps are required:</span>
<ol class="enumerate1" > <ol class="enumerate1" >
<li <li
class="enumerate" id="x13-12002x1"><span class="enumerate" id="x13-12002x1"><span
@ -111,7 +114,7 @@ class="cmr-12">This is performed by the routine </span><span class="lstinline"><
class="cmtt-12">set</span><span class="cmtt-12">set</span><span
class="cmr-12">. This routine must be</span> class="cmr-12">. This routine must be</span>
<span <span
class="cmr-12">called only if the user wants to modify the default values of the parameters</span> class="cmr-12">called if the user wants to modify the default values of the parameters</span>
<span <span
class="cmr-12">associated with the selected preconditioner type, to obtain a variant of that</span> class="cmr-12">associated with the selected preconditioner type, to obtain a variant of that</span>
<span <span
@ -144,14 +147,14 @@ class="cmti-12">Build the preconditioner for a given matrix</span><span
class="cmr-12">. If the selected preconditioner is</span> class="cmr-12">. If the selected preconditioner is</span>
<span <span
class="cmr-12">multilevel, then two steps must be performed, as specified next.</span> class="cmr-12">multilevel, then two steps must be performed, as specified next.</span>
<ol class="enumerate2" > <ol class="enumerate2" >
<li <li
class="enumerate" id="x13-12009x0"><span class="enumerate" id="x13-12009x0"><span
class="cmti-12">Build the AMG hierarchy for a given matrix. </span><span class="cmti-12">Build the AMG hierarchy for a given matrix. </span><span
class="cmr-12">This is performed by the</span> class="cmr-12">This is performed by the</span>
<span <span
class="cmr-12">routine </span><span class="lstinline"></span><span class="cmr-12">routine </span><span class="lstinline"></span><span
class="cmtt-12">hierarchy_build</span><span class="cmtt-12">hierarchy_build</span><span
@ -165,7 +168,7 @@ class="cmr-12">This is performed by the</span>
class="cmr-12">routine </span><span class="lstinline"></span><span class="cmr-12">routine </span><span class="lstinline"></span><span
class="cmtt-12">smoothers_build</span><span class="cmtt-12">smoothers_build</span><span
class="cmr-12">.</span></li></ol> class="cmr-12">.</span></li></ol>
<!--l. 41--><p class="noindent" ><span <!--l. 48--><p class="noindent" ><span
class="cmr-12">If the selected preconditioner is one-level, it is built in a single step, performed by</span> class="cmr-12">If the selected preconditioner is one-level, it is built in a single step, performed by</span>
<span <span
class="cmr-12">the routine </span><span class="lstinline"></span><span class="cmr-12">the routine </span><span class="lstinline"></span><span
@ -199,7 +202,7 @@ class="cmr-12">.</span>
class="cmr-12">This step is complementary to step 1 and should be performed when the</span> class="cmr-12">This step is complementary to step 1 and should be performed when the</span>
<span <span
class="cmr-12">preconditioner is no more used.</span></li></ol> class="cmr-12">preconditioner is no more used.</span></li></ol>
<!--l. 52--><p class="indent" > <span <!--l. 59--><p class="indent" > <span
class="cmr-12">All the previous routines are available as methods of the preconditioner object. A</span> class="cmr-12">All the previous routines are available as methods of the preconditioner object. A</span>
<span <span
class="cmr-12">detailed description of them is given in Section</span><span class="cmr-12">detailed description of them is given in Section</span><span
@ -217,7 +220,7 @@ class="cmr-12">.</span>
<!--l. 56--><p class="indent" > <a <!--l. 63--><p class="indent" > <a
id="x13-12015r1"></a><hr class="float"><div class="float" id="x13-12015r1"></a><hr class="float"><div class="float"
> >
@ -225,7 +228,7 @@ class="cmr-12">.</span>
<div class="center" <div class="center"
> >
<!--l. 57--><p class="noindent" > <!--l. 64--><p class="noindent" >
<div class="tabular"> <table id="TBL-1" class="tabular" <div class="tabular"> <table id="TBL-1" class="tabular"
cellspacing="0" cellpadding="0" cellspacing="0" cellpadding="0"
><colgroup id="TBL-1-1g"><col ><colgroup id="TBL-1-1g"><col
@ -240,7 +243,7 @@ class="small-caps">t</span><span
class="small-caps">y</span><span class="small-caps">y</span><span
class="small-caps">p</span><span class="small-caps">p</span><span
class="small-caps">e</span> </span></td><td style="white-space:normal; text-align:left;" id="TBL-1-1-2" class="small-caps">e</span> </span></td><td style="white-space:normal; text-align:left;" id="TBL-1-1-2"
class="td11"><!--l. 61--><p class="noindent" ><span class="td11"><!--l. 68--><p class="noindent" ><span
class="cmcsc-10x-x-109"><span class="cmcsc-10x-x-109"><span
class="small-caps">s</span><span class="small-caps">s</span><span
class="small-caps">t</span><span class="small-caps">t</span><span
@ -248,7 +251,7 @@ class="small-caps">r</span><span
class="small-caps">i</span><span class="small-caps">i</span><span
class="small-caps">n</span><span class="small-caps">n</span><span
class="small-caps">g</span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-1-1-3" class="small-caps">g</span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-1-1-3"
class="td11"><!--l. 61--><p class="noindent" ><span class="td11"><!--l. 68--><p class="noindent" ><span
class="cmcsc-10x-x-109"><span class="cmcsc-10x-x-109"><span
class="small-caps">d</span><span class="small-caps">d</span><span
class="small-caps">e</span><span class="small-caps">e</span><span
@ -274,17 +277,17 @@ class="small-caps">r</span></span> </td></tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td></tr><tr class="hline"><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-1-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-1-2-1" style="vertical-align:baseline;" id="TBL-1-2-"><td style="white-space:nowrap; text-align:left;" id="TBL-1-2-1"
class="td11">No preconditioner </td><td style="white-space:normal; text-align:left;" id="TBL-1-2-2" class="td11">No preconditioner </td><td style="white-space:normal; text-align:left;" id="TBL-1-2-2"
class="td11"><!--l. 62--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 69--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-10x-x-109">&#8217;</span><span class="cmtt-10x-x-109">&#8217;</span><span
class="cmtt-10x-x-109">NONE</span><span class="cmtt-10x-x-109">NONE</span><span
class="cmtt-10x-x-109">&#8217;</span> </td><td style="white-space:normal; text-align:left;" id="TBL-1-2-3" class="cmtt-10x-x-109">&#8217;</span> </td><td style="white-space:normal; text-align:left;" id="TBL-1-2-3"
class="td11"><!--l. 62--><p class="noindent" >Considered to use the PSBLAS Krylov class="td11"><!--l. 69--><p class="noindent" >Considered to use the PSBLAS Krylov
solvers with no preconditioner. </td> solvers with no preconditioner. </td>
</tr><tr </tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td></tr><tr class="hline"><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-1-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-1-3-1" style="vertical-align:baseline;" id="TBL-1-3-"><td style="white-space:nowrap; text-align:left;" id="TBL-1-3-1"
class="td11">Diagonal </td><td style="white-space:normal; text-align:left;" id="TBL-1-3-2" class="td11">Diagonal </td><td style="white-space:normal; text-align:left;" id="TBL-1-3-2"
class="td11"><!--l. 64--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 71--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-10x-x-109">&#8217;</span><span class="cmtt-10x-x-109">&#8217;</span><span
class="cmtt-10x-x-109">DIAG</span><span class="cmtt-10x-x-109">DIAG</span><span
class="cmtt-10x-x-109">&#8217;</span>, class="cmtt-10x-x-109">&#8217;</span>,
@ -298,7 +301,7 @@ class="cmtt-10x-x-109">L1</span><span
class="cmtt-10x-x-109">-</span><span class="cmtt-10x-x-109">-</span><span
class="cmtt-10x-x-109">JACOBI</span><span class="cmtt-10x-x-109">JACOBI</span><span
class="cmtt-10x-x-109">&#8217;</span> </td><td style="white-space:normal; text-align:left;" id="TBL-1-3-3" class="cmtt-10x-x-109">&#8217;</span> </td><td style="white-space:normal; text-align:left;" id="TBL-1-3-3"
class="td11"><!--l. 64--><p class="noindent" >Diagonal preconditioner. For any zero class="td11"><!--l. 71--><p class="noindent" >Diagonal preconditioner. For any zero
diagonal entry of the matrix to be diagonal entry of the matrix to be
preconditioned, the corresponding entry preconditioned, the corresponding entry
of the preconditioner is set to&#x00A0;1. </td> of the preconditioner is set to&#x00A0;1. </td>
@ -306,7 +309,7 @@ of the preconditioner is set to&#x00A0;1. </td>
class="hline"><td><hr></td><td><hr></td><td><hr></td></tr><tr class="hline"><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-1-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-1-4-1" style="vertical-align:baseline;" id="TBL-1-4-"><td style="white-space:nowrap; text-align:left;" id="TBL-1-4-1"
class="td11">Gauss-Seidel </td><td style="white-space:normal; text-align:left;" id="TBL-1-4-2" class="td11">Gauss-Seidel </td><td style="white-space:normal; text-align:left;" id="TBL-1-4-2"
class="td11"><!--l. 67--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 74--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-10x-x-109">&#8217;</span><span class="cmtt-10x-x-109">&#8217;</span><span
class="cmtt-10x-x-109">GS</span><span class="cmtt-10x-x-109">GS</span><span
class="cmtt-10x-x-109">&#8217;</span>, class="cmtt-10x-x-109">&#8217;</span>,
@ -316,14 +319,14 @@ class="cmtt-10x-x-109">L1</span><span
class="cmtt-10x-x-109">-</span><span class="cmtt-10x-x-109">-</span><span
class="cmtt-10x-x-109">GS</span><span class="cmtt-10x-x-109">GS</span><span
class="cmtt-10x-x-109">&#8217;</span> </td><td style="white-space:normal; text-align:left;" id="TBL-1-4-3" class="cmtt-10x-x-109">&#8217;</span> </td><td style="white-space:normal; text-align:left;" id="TBL-1-4-3"
class="td11"><!--l. 67--><p class="noindent" >Hybrid Gauss-Seidel (forward), that is, class="td11"><!--l. 74--><p class="noindent" >Hybrid Gauss-Seidel (forward), that is,
global block Jacobi with Gauss-Seidel as global block Jacobi with Gauss-Seidel as
local solver. </td> local solver. </td>
</tr><tr </tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td></tr><tr class="hline"><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-1-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-1-5-1" style="vertical-align:baseline;" id="TBL-1-5-"><td style="white-space:nowrap; text-align:left;" id="TBL-1-5-1"
class="td11">Symmetrized Gauss-Seidel</td><td style="white-space:normal; text-align:left;" id="TBL-1-5-2" class="td11">Symmetrized Gauss-Seidel</td><td style="white-space:normal; text-align:left;" id="TBL-1-5-2"
class="td11"><!--l. 70--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 77--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-10x-x-109">&#8217;</span><span class="cmtt-10x-x-109">&#8217;</span><span
class="cmtt-10x-x-109">FBGS</span><span class="cmtt-10x-x-109">FBGS</span><span
class="cmtt-10x-x-109">&#8217;</span>, class="cmtt-10x-x-109">&#8217;</span>,
@ -333,14 +336,14 @@ class="cmtt-10x-x-109">L1</span><span
class="cmtt-10x-x-109">-</span><span class="cmtt-10x-x-109">-</span><span
class="cmtt-10x-x-109">FBGS</span><span class="cmtt-10x-x-109">FBGS</span><span
class="cmtt-10x-x-109">&#8217;</span> </td><td style="white-space:normal; text-align:left;" id="TBL-1-5-3" class="cmtt-10x-x-109">&#8217;</span> </td><td style="white-space:normal; text-align:left;" id="TBL-1-5-3"
class="td11"><!--l. 70--><p class="noindent" >Symmetrized hybrid Gauss-Seidel, that class="td11"><!--l. 77--><p class="noindent" >Symmetrized hybrid Gauss-Seidel, that
is, forward Gauss-Seidel followed by is, forward Gauss-Seidel followed by
backward Gauss-Seidel. </td> backward Gauss-Seidel. </td>
</tr><tr </tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td></tr><tr class="hline"><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-1-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-1-6-1" style="vertical-align:baseline;" id="TBL-1-6-"><td style="white-space:nowrap; text-align:left;" id="TBL-1-6-1"
class="td11">Block Jacobi </td><td style="white-space:normal; text-align:left;" id="TBL-1-6-2" class="td11">Block Jacobi </td><td style="white-space:normal; text-align:left;" id="TBL-1-6-2"
class="td11"><!--l. 73--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 80--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-10x-x-109">&#8217;</span><span class="cmtt-10x-x-109">&#8217;</span><span
class="cmtt-10x-x-109">BJAC</span><span class="cmtt-10x-x-109">BJAC</span><span
class="cmtt-10x-x-109">&#8217;</span>, class="cmtt-10x-x-109">&#8217;</span>,
@ -350,27 +353,27 @@ class="cmtt-10x-x-109">L1</span><span
class="cmtt-10x-x-109">-</span><span class="cmtt-10x-x-109">-</span><span
class="cmtt-10x-x-109">BJAC</span><span class="cmtt-10x-x-109">BJAC</span><span
class="cmtt-10x-x-109">&#8217;</span> </td><td style="white-space:normal; text-align:left;" id="TBL-1-6-3" class="cmtt-10x-x-109">&#8217;</span> </td><td style="white-space:normal; text-align:left;" id="TBL-1-6-3"
class="td11"><!--l. 73--><p class="noindent" >Block-Jacobi with ILU(0) on the local class="td11"><!--l. 80--><p class="noindent" >Block-Jacobi with ILU(0) on the local
blocks. </td> blocks. </td>
</tr><tr </tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td></tr><tr class="hline"><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-1-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-1-7-1" style="vertical-align:baseline;" id="TBL-1-7-"><td style="white-space:nowrap; text-align:left;" id="TBL-1-7-1"
class="td11">Additive Schwarz </td><td style="white-space:normal; text-align:left;" id="TBL-1-7-2" class="td11">Additive Schwarz </td><td style="white-space:normal; text-align:left;" id="TBL-1-7-2"
class="td11"><!--l. 74--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 81--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-10x-x-109">&#8217;</span><span class="cmtt-10x-x-109">&#8217;</span><span
class="cmtt-10x-x-109">AS</span><span class="cmtt-10x-x-109">AS</span><span
class="cmtt-10x-x-109">&#8217;</span> </td><td style="white-space:normal; text-align:left;" id="TBL-1-7-3" class="cmtt-10x-x-109">&#8217;</span> </td><td style="white-space:normal; text-align:left;" id="TBL-1-7-3"
class="td11"><!--l. 74--><p class="noindent" >Additive Schwarz (AS), with overlap&#x00A0;1 class="td11"><!--l. 81--><p class="noindent" >Additive Schwarz (AS), with overlap&#x00A0;1
and ILU(0) on the local blocks. </td> and ILU(0) on the local blocks. </td>
</tr><tr </tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td></tr><tr class="hline"><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-1-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-1-8-1" style="vertical-align:baseline;" id="TBL-1-8-"><td style="white-space:nowrap; text-align:left;" id="TBL-1-8-1"
class="td11">Multilevel </td><td style="white-space:normal; text-align:left;" id="TBL-1-8-2" class="td11">Multilevel </td><td style="white-space:normal; text-align:left;" id="TBL-1-8-2"
class="td11"><!--l. 76--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 83--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-10x-x-109">&#8217;</span><span class="cmtt-10x-x-109">&#8217;</span><span
class="cmtt-10x-x-109">ML</span><span class="cmtt-10x-x-109">ML</span><span
class="cmtt-10x-x-109">&#8217;</span> </td><td style="white-space:normal; text-align:left;" id="TBL-1-8-3" class="cmtt-10x-x-109">&#8217;</span> </td><td style="white-space:normal; text-align:left;" id="TBL-1-8-3"
class="td11"><!--l. 76--><p class="noindent" >V-cycle with one hybrid class="td11"><!--l. 83--><p class="noindent" >V-cycle with one hybrid
forward Gauss-Seidel (GS) sweep as forward Gauss-Seidel (GS) sweep as
pre-smoother and one hybrid backward pre-smoother and one hybrid backward
GS sweep as post-smoother, decoupled GS sweep as post-smoother, decoupled
@ -394,7 +397,7 @@ class="content">Preconditioner types, corresponding strings and default choices.
</div><hr class="endfloat" /> </div><hr class="endfloat" />
</div> </div>
<!--l. 91--><p class="indent" > <span <!--l. 98--><p class="indent" > <span
class="cmr-12">Note that the module </span><span class="lstinline"></span><span class="cmr-12">Note that the module </span><span class="lstinline"></span><span
class="cmtt-12">amg_prec_mod</span><span class="cmtt-12">amg_prec_mod</span><span
class="cmr-12">, containing the definition of the preconditioner</span> class="cmr-12">, containing the definition of the preconditioner</span>
@ -416,7 +419,7 @@ class="cmr-12">4.1</span><!--tex4ht:ref: sec:examples --></a><span
class="cmr-12">).</span> class="cmr-12">).</span>
<br <br
class="newline" /> class="newline" />
<!--l. 98--><p class="indent" > <span <!--l. 105--><p class="indent" > <span
class="cmbx-12">Remark 1. </span><span class="cmbx-12">Remark 1. </span><span
class="cmr-12">Coarsest-level solvers based on the LU factorization, such as those</span> class="cmr-12">Coarsest-level solvers based on the LU factorization, such as those</span>
<span <span

@ -61,9 +61,9 @@ class="cmr-12">setup by the user. For backward compatibility, methods are also a
<span <span
class="cmr-12">stand-alone subroutines.</span> class="cmr-12">stand-alone subroutines.</span>
<!--l. 16--><p class="indent" > <span <!--l. 16--><p class="indent" > <span
class="cmr-12">For each method, the same user interface is overloaded with respect to the real/</span> class="cmr-12">For each method, the same user interface is overloaded with respect to the</span>
<span <span
class="cmr-12">complex case and the single/double precision; arguments with appropriate data types</span> class="cmr-12">real/complex and single/double precision data; arguments with appropriate data types</span>
<span <span
class="cmr-12">must be passed to the method, i.e.,</span> class="cmr-12">must be passed to the method, i.e.,</span>
<ul class="itemize1"> <ul class="itemize1">
@ -154,7 +154,7 @@ class="cmr-12">&#x00A0;</span><a
href="userhtmlsu8.html#x17-160005.2"><span href="userhtmlsu8.html#x17-160005.2"><span
class="cmr-12">5.2</span><!--tex4ht:ref: sec:precset --></a><span class="cmr-12">5.2</span><!--tex4ht:ref: sec:precset --></a><span
class="cmr-12">).</span></li></ul> class="cmr-12">).</span></li></ul>
<!--l. 39--><p class="noindent" ><span <!--l. 38--><p class="noindent" ><span
class="cmr-12">A description of each method is given in the remainder of this section.</span> class="cmr-12">A description of each method is given in the remainder of this section.</span>

@ -165,38 +165,38 @@ class="cmr-12">The interfaces for the calls shown above are defined using</span>
<div class="center" <div class="center"
> >
<!--l. 56--><p class="noindent" > <!--l. 56--><p class="noindent" >
<div class="tabular"> <table id="TBL-20" class="tabular" <div class="tabular"> <table id="TBL-21" class="tabular"
cellspacing="0" cellpadding="0" cellspacing="0" cellpadding="0"
><colgroup id="TBL-20-1g"><col ><colgroup id="TBL-21-1g"><col
id="TBL-20-1"><col id="TBL-21-1"><col
id="TBL-20-2"></colgroup><tr id="TBL-21-2"></colgroup><tr
style="vertical-align:baseline;" id="TBL-20-1-"><td style="white-space:normal; text-align:left;" id="TBL-20-1-1" style="vertical-align:baseline;" id="TBL-21-1-"><td style="white-space:normal; text-align:left;" id="TBL-21-1-1"
class="td11"><!--l. 58--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 58--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">smoother</span> </td><td style="white-space:normal; text-align:left;" id="TBL-20-1-2" class="cmtt-12">smoother</span> </td><td style="white-space:normal; text-align:left;" id="TBL-21-1-2"
class="td11"><!--l. 58--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 58--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">class</span><span class="cmtt-12">class</span><span
class="cmtt-12">(</span><span class="cmtt-12">(</span><span
class="cmtt-12">amg_x_base_smoother_type</span><span class="cmtt-12">amg_x_base_smoother_type</span><span
class="cmtt-12">)</span> </td> class="cmtt-12">)</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-20-2-"><td style="white-space:normal; text-align:left;" id="TBL-20-2-1" style="vertical-align:baseline;" id="TBL-21-2-"><td style="white-space:normal; text-align:left;" id="TBL-21-2-1"
class="td11"><!--l. 59--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-20-2-2" class="td11"><!--l. 59--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-21-2-2"
class="td11"><!--l. 59--><p class="noindent" ><span class="td11"><!--l. 59--><p class="noindent" ><span
class="cmr-12">The user-defined new smoother to be employed in the</span> class="cmr-12">The user-defined new smoother to be employed in the</span>
<span <span
class="cmr-12">preconditioner.</span> </td> class="cmr-12">preconditioner.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-20-3-"><td style="white-space:normal; text-align:left;" id="TBL-20-3-1" style="vertical-align:baseline;" id="TBL-21-3-"><td style="white-space:normal; text-align:left;" id="TBL-21-3-1"
class="td11"><!--l. 61--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 61--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">solver</span> </td><td style="white-space:normal; text-align:left;" id="TBL-20-3-2" class="cmtt-12">solver</span> </td><td style="white-space:normal; text-align:left;" id="TBL-21-3-2"
class="td11"><!--l. 61--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 61--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">class</span><span class="cmtt-12">class</span><span
class="cmtt-12">(</span><span class="cmtt-12">(</span><span
class="cmtt-12">amg_x_base_solver_type</span><span class="cmtt-12">amg_x_base_solver_type</span><span
class="cmtt-12">)</span> </td> class="cmtt-12">)</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-20-4-"><td style="white-space:normal; text-align:left;" id="TBL-20-4-1" style="vertical-align:baseline;" id="TBL-21-4-"><td style="white-space:normal; text-align:left;" id="TBL-21-4-1"
class="td11"><!--l. 62--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-20-4-2" class="td11"><!--l. 62--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-21-4-2"
class="td11"><!--l. 62--><p class="noindent" ><span class="td11"><!--l. 62--><p class="noindent" ><span
class="cmr-12">The user-defined new solver to be employed in the preconditioner.</span></td></tr></table></div></div> class="cmr-12">The user-defined new solver to be employed in the preconditioner.</span></td></tr></table></div></div>
<!--l. 66--><p class="noindent" ><span <!--l. 66--><p class="noindent" ><span

@ -62,39 +62,28 @@ class="cmr-12">) are meant to define the standard behaviour of</span>
<span <span
class="cmr-12">the BLAS interface, so they are not optimized for any particular platform,</span> class="cmr-12">the BLAS interface, so they are not optimized for any particular platform,</span>
<span <span
class="cmr-12">and should only be used as a last resort. Note that BLAS computations</span> class="cmr-12">and should only be used as a last resort. Note that BLAS computations form</span>
<span <span
class="cmr-12">form a relatively small part of ¡¡¡¡¡¡¡ HEAD the AMG4PSBLAS/PSBLAS;</span> class="cmr-12">a relatively small part of the AMG4PSBLAS/PSBLAS; however they are</span>
<span <span
class="cmr-12">however they are critical when using preconditioners based on the MUMPS,</span> class="cmr-12">critical when using preconditioners based on the MUMPS, UMFPACK or</span>
<span <span
class="cmr-12">UMFPACK or SuperLU third party libraries. UMFPACK requires a</span> class="cmr-12">SuperLU third party libraries. UMFPACK requires a full LAPACK library;</span>
<span <span
class="cmr-12">full LAPACK library; our experience is that configuring ATLAS for</span> class="cmr-12">our experience is that configuring ATLAS for building full LAPACK does</span>
<span <span
class="cmr-12">building full LAPACK does not always work in the expected way. Our</span> class="cmr-12">not always work in the expected way. Our advice is first to download the</span>
<span <span
class="cmr-12">advice is first to download the LAPACK tarfile from ======= the</span> class="cmr-12">LAPACK tarfile from </span><a
<span
class="cmr-12">AMG4PSBLAS/PSBLAS computations; they are however critical when</span>
<span
class="cmr-12">using preconditioners based on MUMPS, UMFPACK or SuperLU third</span>
<span
class="cmr-12">party libraries. Note that UMFPACK requires a full LAPACK library;</span>
<span
class="cmr-12">our experience is that configuring ATLAS for building full LAPACK</span>
<span
class="cmr-12">does not work in the correct way. Our advice is first to download the</span>
<span
class="cmr-12">LAPACK tarfile from ¿¿¿¿¿¿¿ ea6411c730befe4e0e4091caa6f03379ad3712cc</span>
<a
href="http://www.netlib.org/lapack" ><span href="http://www.netlib.org/lapack" ><span
class="cmr-12">www.netlib.org/lapack</span></a> <span class="cmr-12">www.netlib.org/lapack</span></a> <span
class="cmr-12">and install it independently of ATLAS. In this case,</span> class="cmr-12">and install it independently of</span>
<span
class="cmr-12">ATLAS. In this case, you need to modify the OPTS and NOOPT definitions</span>
<span <span
class="cmr-12">you need to modify the OPTS and NOOPT definitions for including -fPIC</span> class="cmr-12">for including -fPIC compilation option in the make.inc file of the LAPACK</span>
<span <span
class="cmr-12">compilation option in the make.inc file of the LAPACK library.</span> class="cmr-12">library.</span>
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-12">MPI</span> </dt><dd class="cmbx-12">MPI</span> </dt><dd
@ -129,7 +118,7 @@ class="cmr-12">psctoolkit.github.io/ products/psblas/</span></a><span
class="cmr-12">; version 3.7.0 (or later) is required.</span> class="cmr-12">; version 3.7.0 (or later) is required.</span>
<span <span
class="cmr-12">Indeed, all the prerequisites listed so far are also prerequisites of PSBLAS.</span></dd></dl> class="cmr-12">Indeed, all the prerequisites listed so far are also prerequisites of PSBLAS.</span></dd></dl>
<!--l. 68--><p class="noindent" ><span <!--l. 60--><p class="noindent" ><span
class="cmr-12">Please note that the four previous libraries must have Fortran interfaces compatible with</span> class="cmr-12">Please note that the four previous libraries must have Fortran interfaces compatible with</span>
<span <span
class="cmr-12">AMG4PSBLAS; usually this means that they should all be built with the same</span> class="cmr-12">AMG4PSBLAS; usually this means that they should all be built with the same</span>
@ -138,7 +127,7 @@ class="cmr-12">compiler being used for AMG4PSBLAS.</span>
<!--l. 72--><div class="crosslinks"><p class="noindent"><span <!--l. 64--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a class="cmr-12">[</span><a
href="userhtmlsu2.html" ><span href="userhtmlsu2.html" ><span
class="cmr-12">next</span></a><span class="cmr-12">next</span></a><span
@ -149,6 +138,6 @@ class="cmr-12">] [</span><a
href="userhtmlse3.html#userhtmlsu1.html" ><span href="userhtmlse3.html#userhtmlsu1.html" ><span
class="cmr-12">up</span></a><span class="cmr-12">up</span></a><span
class="cmr-12">] </span></p></div> class="cmr-12">] </span></p></div>
<!--l. 72--><p class="indent" > <a <!--l. 64--><p class="indent" > <a
id="tailuserhtmlsu1.html"></a> id="tailuserhtmlsu1.html"></a>
</body></html> </body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 624--><div class="crosslinks"><p class="noindent"><span <!--l. 622--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a class="cmr-12">[</span><a
href="userhtmlsu11.html" ><span href="userhtmlsu11.html" ><span
class="cmr-12">next</span></a><span class="cmr-12">next</span></a><span
@ -34,8 +34,8 @@ class="cmr-12">Method smoothers</span><span
class="cmr-12">_build</span></h4> class="cmr-12">_build</span></h4>
<div class="center" <div class="center"
> >
<!--l. 627--><p class="noindent" > <!--l. 625--><p class="noindent" >
<!--l. 628--><p class="noindent" ><span class="lstinline"></span><span <!--l. 626--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">call</span><span class="cmtt-12">call</span><span
class="cmtt-12">&#x00A0;</span><span class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">p</span><span class="cmtt-12">p</span><span
@ -57,7 +57,7 @@ class="cmtt-12">,</span><span
class="cmtt-12">imold</span><span class="cmtt-12">imold</span><span
class="cmtt-12">])</span><br /> class="cmtt-12">])</span><br />
</div> </div>
<!--l. 631--><p class="noindent" ><span <!--l. 629--><p class="noindent" ><span
class="cmr-12">This method builds the smoothers and the coarsest-level solvers for the multilevel</span> class="cmr-12">This method builds the smoothers and the coarsest-level solvers for the multilevel</span>
<span <span
class="cmr-12">preconditioner </span><span class="lstinline"></span><span class="cmr-12">preconditioner </span><span class="lstinline"></span><span
@ -75,7 +75,7 @@ class="cmr-12">&#x00A0;</span><a
href="userhtmlsu9.html#x18-170005.3"><span href="userhtmlsu9.html#x18-170005.3"><span
class="cmr-12">5.3</span><!--tex4ht:ref: sec:hier_bld --></a><span class="cmr-12">5.3</span><!--tex4ht:ref: sec:hier_bld --></a><span
class="cmr-12">).</span> class="cmr-12">).</span>
<!--l. 638--><p class="noindent" ><span <!--l. 636--><p class="noindent" ><span
class="cmbx-12">Arguments</span> class="cmbx-12">Arguments</span>
<div class="tabular"> <table id="TBL-11" class="tabular" <div class="tabular"> <table id="TBL-11" class="tabular"
cellspacing="0" cellpadding="0" cellspacing="0" cellpadding="0"
@ -83,9 +83,9 @@ cellspacing="0" cellpadding="0"
id="TBL-11-1"><col id="TBL-11-1"><col
id="TBL-11-2"></colgroup><tr id="TBL-11-2"></colgroup><tr
style="vertical-align:baseline;" id="TBL-11-1-"><td style="white-space:normal; text-align:left;" id="TBL-11-1-1" style="vertical-align:baseline;" id="TBL-11-1-"><td style="white-space:normal; text-align:left;" id="TBL-11-1-1"
class="td11"><!--l. 641--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 639--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">a</span> </td><td style="white-space:normal; text-align:left;" id="TBL-11-1-2" class="cmtt-12">a</span> </td><td style="white-space:normal; text-align:left;" id="TBL-11-1-2"
class="td11"><!--l. 641--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 639--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">type</span><span class="cmtt-12">type</span><span
class="cmtt-12">(</span><span class="cmtt-12">(</span><span
class="cmtt-12">psb_</span><span class="cmtt-12">psb_</span><span
@ -100,8 +100,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-11-2-"><td style="white-space:normal; text-align:left;" id="TBL-11-2-1" style="vertical-align:baseline;" id="TBL-11-2-"><td style="white-space:normal; text-align:left;" id="TBL-11-2-1"
class="td11"><!--l. 642--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-11-2-2" class="td11"><!--l. 640--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-11-2-2"
class="td11"><!--l. 642--><p class="noindent" ><span class="td11"><!--l. 640--><p class="noindent" ><span
class="cmr-12">The sparse matrix structure containing the local part of the matrix</span> class="cmr-12">The sparse matrix structure containing the local part of the matrix</span>
<span <span
class="cmr-12">to be preconditioned. Note that </span><span class="cmr-12">to be preconditioned. Note that </span><span
@ -121,9 +121,9 @@ class="cmr-12">]</span></span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-11-3-"><td style="white-space:normal; text-align:left;" id="TBL-11-3-1" style="vertical-align:baseline;" id="TBL-11-3-"><td style="white-space:normal; text-align:left;" id="TBL-11-3-1"
class="td11"><!--l. 646--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 644--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">desc_a</span></td><td style="white-space:normal; text-align:left;" id="TBL-11-3-2" class="cmtt-12">desc_a</span></td><td style="white-space:normal; text-align:left;" id="TBL-11-3-2"
class="td11"><!--l. 646--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 644--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">type</span><span class="cmtt-12">type</span><span
class="cmtt-12">(</span><span class="cmtt-12">(</span><span
class="cmtt-12">psb_desc_type</span><span class="cmtt-12">psb_desc_type</span><span
@ -136,8 +136,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-11-4-"><td style="white-space:normal; text-align:left;" id="TBL-11-4-1" style="vertical-align:baseline;" id="TBL-11-4-"><td style="white-space:normal; text-align:left;" id="TBL-11-4-1"
class="td11"><!--l. 647--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-11-4-2" class="td11"><!--l. 645--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-11-4-2"
class="td11"><!--l. 647--><p class="noindent" ><span class="td11"><!--l. 645--><p class="noindent" ><span
class="cmr-12">The communication descriptor of </span><span class="lstinline"></span><span class="cmr-12">The communication descriptor of </span><span class="lstinline"></span><span
class="cmtt-12">a</span><span class="cmtt-12">a</span><span
class="cmr-12">. See the PSBLAS User&#8217;s Guide</span> class="cmr-12">. See the PSBLAS User&#8217;s Guide</span>
@ -150,9 +150,9 @@ class="cmr-12">]</span></span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-11-5-"><td style="white-space:normal; text-align:left;" id="TBL-11-5-1" style="vertical-align:baseline;" id="TBL-11-5-"><td style="white-space:normal; text-align:left;" id="TBL-11-5-1"
class="td11"><!--l. 649--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 647--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">info</span> </td><td style="white-space:normal; text-align:left;" id="TBL-11-5-2" class="cmtt-12">info</span> </td><td style="white-space:normal; text-align:left;" id="TBL-11-5-2"
class="td11"><!--l. 649--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 647--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">integer</span><span class="cmtt-12">integer</span><span
class="cmtt-12">,</span><span class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span class="cmtt-12">&#x00A0;</span><span
@ -163,8 +163,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-11-6-"><td style="white-space:normal; text-align:left;" id="TBL-11-6-1" style="vertical-align:baseline;" id="TBL-11-6-"><td style="white-space:normal; text-align:left;" id="TBL-11-6-1"
class="td11"><!--l. 650--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-11-6-2" class="td11"><!--l. 648--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-11-6-2"
class="td11"><!--l. 650--><p class="noindent" ><span class="td11"><!--l. 648--><p class="noindent" ><span
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
class="cmr-12">&#x00A0;</span><a class="cmr-12">&#x00A0;</span><a
href="userhtmlse7.html#x26-300007"><span href="userhtmlse7.html#x26-300007"><span
@ -172,9 +172,9 @@ class="cmr-12">7</span><!--tex4ht:ref: sec:errors --></a> <span
class="cmr-12">for details.</span> </td> class="cmr-12">for details.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-11-7-"><td style="white-space:normal; text-align:left;" id="TBL-11-7-1" style="vertical-align:baseline;" id="TBL-11-7-"><td style="white-space:normal; text-align:left;" id="TBL-11-7-1"
class="td11"><!--l. 651--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 649--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">amold</span> </td><td style="white-space:normal; text-align:left;" id="TBL-11-7-2" class="cmtt-12">amold</span> </td><td style="white-space:normal; text-align:left;" id="TBL-11-7-2"
class="td11"><!--l. 651--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 649--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">class</span><span class="cmtt-12">class</span><span
class="cmtt-12">(</span><span class="cmtt-12">(</span><span
class="cmtt-12">psb_</span><span class="cmtt-12">psb_</span><span
@ -191,8 +191,8 @@ class="cmtt-12">optional</span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-11-8-"><td style="white-space:normal; text-align:left;" id="TBL-11-8-1" style="vertical-align:baseline;" id="TBL-11-8-"><td style="white-space:normal; text-align:left;" id="TBL-11-8-1"
class="td11"><!--l. 652--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-11-8-2" class="td11"><!--l. 650--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-11-8-2"
class="td11"><!--l. 652--><p class="noindent" ><span class="td11"><!--l. 650--><p class="noindent" ><span
class="cmr-12">The desired dynamic type for internal matrix components; this</span> class="cmr-12">The desired dynamic type for internal matrix components; this</span>
<span <span
class="cmr-12">allows e.g. running on GPUs; it needs not be the same on all</span> class="cmr-12">allows e.g. running on GPUs; it needs not be the same on all</span>
@ -205,9 +205,9 @@ class="cmr-12">]</span></span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-11-9-"><td style="white-space:normal; text-align:left;" id="TBL-11-9-1" style="vertical-align:baseline;" id="TBL-11-9-"><td style="white-space:normal; text-align:left;" id="TBL-11-9-1"
class="td11"><!--l. 656--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 654--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">vmold</span> </td><td style="white-space:normal; text-align:left;" id="TBL-11-9-2" class="cmtt-12">vmold</span> </td><td style="white-space:normal; text-align:left;" id="TBL-11-9-2"
class="td11"><!--l. 656--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 654--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">class</span><span class="cmtt-12">class</span><span
class="cmtt-12">(</span><span class="cmtt-12">(</span><span
class="cmtt-12">psb_</span><span class="cmtt-12">psb_</span><span
@ -224,16 +224,16 @@ class="cmtt-12">optional</span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-11-10-"><td style="white-space:normal; text-align:left;" id="TBL-11-10-1" style="vertical-align:baseline;" id="TBL-11-10-"><td style="white-space:normal; text-align:left;" id="TBL-11-10-1"
class="td11"><!--l. 657--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-11-10-2" class="td11"><!--l. 655--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-11-10-2"
class="td11"><!--l. 657--><p class="noindent" ><span class="td11"><!--l. 655--><p class="noindent" ><span
class="cmr-12">The desired dynamic type for internal vector components; this</span> class="cmr-12">The desired dynamic type for internal vector components; this</span>
<span <span
class="cmr-12">allows e.g. running on GPUs.</span> </td> class="cmr-12">allows e.g. running on GPUs.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-11-11-"><td style="white-space:normal; text-align:left;" id="TBL-11-11-1" style="vertical-align:baseline;" id="TBL-11-11-"><td style="white-space:normal; text-align:left;" id="TBL-11-11-1"
class="td11"><!--l. 659--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 657--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">imold</span> </td><td style="white-space:normal; text-align:left;" id="TBL-11-11-2" class="cmtt-12">imold</span> </td><td style="white-space:normal; text-align:left;" id="TBL-11-11-2"
class="td11"><!--l. 659--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 657--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">class</span><span class="cmtt-12">class</span><span
class="cmtt-12">(</span><span class="cmtt-12">(</span><span
class="cmtt-12">psb_i_base_vect_type</span><span class="cmtt-12">psb_i_base_vect_type</span><span
@ -248,8 +248,8 @@ class="cmtt-12">optional</span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-11-12-"><td style="white-space:normal; text-align:left;" id="TBL-11-12-1" style="vertical-align:baseline;" id="TBL-11-12-"><td style="white-space:normal; text-align:left;" id="TBL-11-12-1"
class="td11"><!--l. 660--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-11-12-2" class="td11"><!--l. 658--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-11-12-2"
class="td11"><!--l. 660--><p class="noindent" ><span class="td11"><!--l. 658--><p class="noindent" ><span
class="cmr-12">The desired dynamic type for internal integer vector components;</span> class="cmr-12">The desired dynamic type for internal integer vector components;</span>
<span <span
class="cmr-12">this allows e.g. running on GPUs.</span> </td> class="cmr-12">this allows e.g. running on GPUs.</span> </td>
@ -262,7 +262,7 @@ class="td11"> </td> </tr></table></div>
<!--l. 666--><div class="crosslinks"><p class="noindent"><span <!--l. 664--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a class="cmr-12">[</span><a
href="userhtmlsu11.html" ><span href="userhtmlsu11.html" ><span
class="cmr-12">next</span></a><span class="cmr-12">next</span></a><span
@ -279,6 +279,6 @@ class="cmr-12">] [</span><a
href="userhtmlse5.html#userhtmlsu10.html" ><span href="userhtmlse5.html#userhtmlsu10.html" ><span
class="cmr-12">up</span></a><span class="cmr-12">up</span></a><span
class="cmr-12">] </span></p></div> class="cmr-12">] </span></p></div>
<!--l. 666--><p class="indent" > <a <!--l. 664--><p class="indent" > <a
id="tailuserhtmlsu10.html"></a> id="tailuserhtmlsu10.html"></a>
</body></html> </body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 666--><div class="crosslinks"><p class="noindent"><span <!--l. 664--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a class="cmr-12">[</span><a
href="userhtmlsu12.html" ><span href="userhtmlsu12.html" ><span
class="cmr-12">next</span></a><span class="cmr-12">next</span></a><span
@ -33,8 +33,8 @@ class="cmr-12">5.5 </span></span> <a
class="cmr-12">Method build</span></h4> class="cmr-12">Method build</span></h4>
<div class="center" <div class="center"
> >
<!--l. 668--><p class="noindent" > <!--l. 666--><p class="noindent" >
<!--l. 669--><p class="noindent" ><span class="lstinline"></span><span <!--l. 667--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">call</span><span class="cmtt-12">call</span><span
class="cmtt-12">&#x00A0;</span><span class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">p</span><span class="cmtt-12">p</span><span
@ -54,7 +54,7 @@ class="cmtt-12">,</span><span
class="cmtt-12">imold</span><span class="cmtt-12">imold</span><span
class="cmtt-12">])</span><br /> class="cmtt-12">])</span><br />
</div> </div>
<!--l. 672--><p class="noindent" ><span <!--l. 670--><p class="noindent" ><span
class="cmr-12">This method builds the preconditioner </span><span class="lstinline"></span><span class="cmr-12">This method builds the preconditioner </span><span class="lstinline"></span><span
class="cmtt-12">p</span> <span class="cmtt-12">p</span> <span
class="cmr-12">according to the requirements made by the</span> class="cmr-12">according to the requirements made by the</span>
@ -83,7 +83,7 @@ class="cmtt-12">smoothers_build</span><span
class="cmr-12">, whose nomenclature would however be somewhat unnatural when</span> class="cmr-12">, whose nomenclature would however be somewhat unnatural when</span>
<span <span
class="cmr-12">dealing with simple one-level preconditioners.</span> class="cmr-12">dealing with simple one-level preconditioners.</span>
<!--l. 682--><p class="noindent" ><span <!--l. 680--><p class="noindent" ><span
class="cmbx-12">Arguments</span> class="cmbx-12">Arguments</span>
<div class="tabular"> <table id="TBL-12" class="tabular" <div class="tabular"> <table id="TBL-12" class="tabular"
cellspacing="0" cellpadding="0" cellspacing="0" cellpadding="0"
@ -91,9 +91,9 @@ cellspacing="0" cellpadding="0"
id="TBL-12-1"><col id="TBL-12-1"><col
id="TBL-12-2"></colgroup><tr id="TBL-12-2"></colgroup><tr
style="vertical-align:baseline;" id="TBL-12-1-"><td style="white-space:normal; text-align:left;" id="TBL-12-1-1" style="vertical-align:baseline;" id="TBL-12-1-"><td style="white-space:normal; text-align:left;" id="TBL-12-1-1"
class="td11"><!--l. 685--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 683--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">a</span> </td><td style="white-space:normal; text-align:left;" id="TBL-12-1-2" class="cmtt-12">a</span> </td><td style="white-space:normal; text-align:left;" id="TBL-12-1-2"
class="td11"><!--l. 685--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 683--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">type</span><span class="cmtt-12">type</span><span
class="cmtt-12">(</span><span class="cmtt-12">(</span><span
class="cmtt-12">psb_</span><span class="cmtt-12">psb_</span><span
@ -108,8 +108,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-12-2-"><td style="white-space:normal; text-align:left;" id="TBL-12-2-1" style="vertical-align:baseline;" id="TBL-12-2-"><td style="white-space:normal; text-align:left;" id="TBL-12-2-1"
class="td11"><!--l. 686--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-12-2-2" class="td11"><!--l. 684--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-12-2-2"
class="td11"><!--l. 686--><p class="noindent" ><span class="td11"><!--l. 684--><p class="noindent" ><span
class="cmr-12">The sparse matrix structure containing the local part of the matrix</span> class="cmr-12">The sparse matrix structure containing the local part of the matrix</span>
<span <span
class="cmr-12">to be preconditioned. Note that </span><span class="cmr-12">to be preconditioned. Note that </span><span
@ -129,9 +129,9 @@ class="cmr-12">]</span></span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-12-3-"><td style="white-space:normal; text-align:left;" id="TBL-12-3-1" style="vertical-align:baseline;" id="TBL-12-3-"><td style="white-space:normal; text-align:left;" id="TBL-12-3-1"
class="td11"><!--l. 690--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 688--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">desc_a</span></td><td style="white-space:normal; text-align:left;" id="TBL-12-3-2" class="cmtt-12">desc_a</span></td><td style="white-space:normal; text-align:left;" id="TBL-12-3-2"
class="td11"><!--l. 690--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 688--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">type</span><span class="cmtt-12">type</span><span
class="cmtt-12">(</span><span class="cmtt-12">(</span><span
class="cmtt-12">psb_desc_type</span><span class="cmtt-12">psb_desc_type</span><span
@ -144,8 +144,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-12-4-"><td style="white-space:normal; text-align:left;" id="TBL-12-4-1" style="vertical-align:baseline;" id="TBL-12-4-"><td style="white-space:normal; text-align:left;" id="TBL-12-4-1"
class="td11"><!--l. 691--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-12-4-2" class="td11"><!--l. 689--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-12-4-2"
class="td11"><!--l. 691--><p class="noindent" ><span class="td11"><!--l. 689--><p class="noindent" ><span
class="cmr-12">The communication descriptor of </span><span class="lstinline"></span><span class="cmr-12">The communication descriptor of </span><span class="lstinline"></span><span
class="cmtt-12">a</span><span class="cmtt-12">a</span><span
class="cmr-12">. See the PSBLAS User&#8217;s Guide</span> class="cmr-12">. See the PSBLAS User&#8217;s Guide</span>
@ -158,9 +158,9 @@ class="cmr-12">]</span></span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-12-5-"><td style="white-space:normal; text-align:left;" id="TBL-12-5-1" style="vertical-align:baseline;" id="TBL-12-5-"><td style="white-space:normal; text-align:left;" id="TBL-12-5-1"
class="td11"><!--l. 693--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 691--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">info</span> </td><td style="white-space:normal; text-align:left;" id="TBL-12-5-2" class="cmtt-12">info</span> </td><td style="white-space:normal; text-align:left;" id="TBL-12-5-2"
class="td11"><!--l. 693--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 691--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">integer</span><span class="cmtt-12">integer</span><span
class="cmtt-12">,</span><span class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span class="cmtt-12">&#x00A0;</span><span
@ -171,8 +171,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-12-6-"><td style="white-space:normal; text-align:left;" id="TBL-12-6-1" style="vertical-align:baseline;" id="TBL-12-6-"><td style="white-space:normal; text-align:left;" id="TBL-12-6-1"
class="td11"><!--l. 694--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-12-6-2" class="td11"><!--l. 692--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-12-6-2"
class="td11"><!--l. 694--><p class="noindent" ><span class="td11"><!--l. 692--><p class="noindent" ><span
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
class="cmr-12">&#x00A0;</span><a class="cmr-12">&#x00A0;</span><a
href="userhtmlse7.html#x26-300007"><span href="userhtmlse7.html#x26-300007"><span
@ -180,9 +180,9 @@ class="cmr-12">7</span><!--tex4ht:ref: sec:errors --></a> <span
class="cmr-12">for details.</span> </td> class="cmr-12">for details.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-12-7-"><td style="white-space:normal; text-align:left;" id="TBL-12-7-1" style="vertical-align:baseline;" id="TBL-12-7-"><td style="white-space:normal; text-align:left;" id="TBL-12-7-1"
class="td11"><!--l. 695--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 693--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">amold</span> </td><td style="white-space:normal; text-align:left;" id="TBL-12-7-2" class="cmtt-12">amold</span> </td><td style="white-space:normal; text-align:left;" id="TBL-12-7-2"
class="td11"><!--l. 695--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 693--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">class</span><span class="cmtt-12">class</span><span
class="cmtt-12">(</span><span class="cmtt-12">(</span><span
class="cmtt-12">psb_</span><span class="cmtt-12">psb_</span><span
@ -199,8 +199,8 @@ class="cmtt-12">optional</span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-12-8-"><td style="white-space:normal; text-align:left;" id="TBL-12-8-1" style="vertical-align:baseline;" id="TBL-12-8-"><td style="white-space:normal; text-align:left;" id="TBL-12-8-1"
class="td11"><!--l. 696--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-12-8-2" class="td11"><!--l. 694--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-12-8-2"
class="td11"><!--l. 696--><p class="noindent" ><span class="td11"><!--l. 694--><p class="noindent" ><span
class="cmr-12">The desired dynamic type for internal matrix components; this</span> class="cmr-12">The desired dynamic type for internal matrix components; this</span>
<span <span
class="cmr-12">allows e.g. running on GPUs; it needs not be the same on all</span> class="cmr-12">allows e.g. running on GPUs; it needs not be the same on all</span>
@ -213,9 +213,9 @@ class="cmr-12">]</span></span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-12-9-"><td style="white-space:normal; text-align:left;" id="TBL-12-9-1" style="vertical-align:baseline;" id="TBL-12-9-"><td style="white-space:normal; text-align:left;" id="TBL-12-9-1"
class="td11"><!--l. 700--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 698--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">vmold</span> </td><td style="white-space:normal; text-align:left;" id="TBL-12-9-2" class="cmtt-12">vmold</span> </td><td style="white-space:normal; text-align:left;" id="TBL-12-9-2"
class="td11"><!--l. 700--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 698--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">class</span><span class="cmtt-12">class</span><span
class="cmtt-12">(</span><span class="cmtt-12">(</span><span
class="cmtt-12">psb_</span><span class="cmtt-12">psb_</span><span
@ -232,16 +232,16 @@ class="cmtt-12">optional</span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-12-10-"><td style="white-space:normal; text-align:left;" id="TBL-12-10-1" style="vertical-align:baseline;" id="TBL-12-10-"><td style="white-space:normal; text-align:left;" id="TBL-12-10-1"
class="td11"><!--l. 701--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-12-10-2" class="td11"><!--l. 699--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-12-10-2"
class="td11"><!--l. 701--><p class="noindent" ><span class="td11"><!--l. 699--><p class="noindent" ><span
class="cmr-12">The desired dynamic type for internal vector components; this</span> class="cmr-12">The desired dynamic type for internal vector components; this</span>
<span <span
class="cmr-12">allows e.g. running on GPUs.</span> </td> class="cmr-12">allows e.g. running on GPUs.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-12-11-"><td style="white-space:normal; text-align:left;" id="TBL-12-11-1" style="vertical-align:baseline;" id="TBL-12-11-"><td style="white-space:normal; text-align:left;" id="TBL-12-11-1"
class="td11"><!--l. 703--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 701--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">imold</span> </td><td style="white-space:normal; text-align:left;" id="TBL-12-11-2" class="cmtt-12">imold</span> </td><td style="white-space:normal; text-align:left;" id="TBL-12-11-2"
class="td11"><!--l. 703--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 701--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">class</span><span class="cmtt-12">class</span><span
class="cmtt-12">(</span><span class="cmtt-12">(</span><span
class="cmtt-12">psb_i_base_vect_type</span><span class="cmtt-12">psb_i_base_vect_type</span><span
@ -256,15 +256,15 @@ class="cmtt-12">optional</span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-12-12-"><td style="white-space:normal; text-align:left;" id="TBL-12-12-1" style="vertical-align:baseline;" id="TBL-12-12-"><td style="white-space:normal; text-align:left;" id="TBL-12-12-1"
class="td11"><!--l. 704--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-12-12-2" class="td11"><!--l. 702--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-12-12-2"
class="td11"><!--l. 704--><p class="noindent" ><span class="td11"><!--l. 702--><p class="noindent" ><span
class="cmr-12">The desired dynamic type for internal integer vector components;</span> class="cmr-12">The desired dynamic type for internal integer vector components;</span>
<span <span
class="cmr-12">this allows e.g. running on GPUs.</span> </td> class="cmr-12">this allows e.g. running on GPUs.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-12-13-"><td style="white-space:normal; text-align:left;" id="TBL-12-13-1" style="vertical-align:baseline;" id="TBL-12-13-"><td style="white-space:normal; text-align:left;" id="TBL-12-13-1"
class="td11"> </td> </tr></table></div> class="td11"> </td> </tr></table></div>
<!--l. 709--><p class="noindent" ><span <!--l. 707--><p class="noindent" ><span
class="cmr-12">The method can be used to build multilevel preconditioners too.</span> class="cmr-12">The method can be used to build multilevel preconditioners too.</span>
@ -272,7 +272,7 @@ class="cmr-12">The method can be used to build multilevel preconditioners too.</
<!--l. 714--><div class="crosslinks"><p class="noindent"><span <!--l. 712--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a class="cmr-12">[</span><a
href="userhtmlsu12.html" ><span href="userhtmlsu12.html" ><span
class="cmr-12">next</span></a><span class="cmr-12">next</span></a><span
@ -289,6 +289,6 @@ class="cmr-12">] [</span><a
href="userhtmlse5.html#userhtmlsu11.html" ><span href="userhtmlse5.html#userhtmlsu11.html" ><span
class="cmr-12">up</span></a><span class="cmr-12">up</span></a><span
class="cmr-12">] </span></p></div> class="cmr-12">] </span></p></div>
<!--l. 714--><p class="indent" > <a <!--l. 712--><p class="indent" > <a
id="tailuserhtmlsu11.html"></a> id="tailuserhtmlsu11.html"></a>
</body></html> </body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 714--><div class="crosslinks"><p class="noindent"><span <!--l. 712--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a class="cmr-12">[</span><a
href="userhtmlsu13.html" ><span href="userhtmlsu13.html" ><span
class="cmr-12">next</span></a><span class="cmr-12">next</span></a><span
@ -33,8 +33,8 @@ class="cmr-12">5.6 </span></span> <a
class="cmr-12">Method apply</span></h4> class="cmr-12">Method apply</span></h4>
<div class="center" <div class="center"
> >
<!--l. 716--><p class="noindent" > <!--l. 714--><p class="noindent" >
<!--l. 717--><p class="noindent" ><span class="lstinline"></span><span <!--l. 715--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">call</span><span class="cmtt-12">call</span><span
class="cmtt-12">&#x00A0;</span><span class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">p</span><span class="cmtt-12">p</span><span
@ -55,7 +55,7 @@ class="cmtt-12">,</span><span
class="cmtt-12">work</span><span class="cmtt-12">work</span><span
class="cmtt-12">])</span><br /> class="cmtt-12">])</span><br />
</div> </div>
<!--l. 720--><p class="noindent" ><span <!--l. 718--><p class="noindent" ><span
class="cmr-12">This method computes </span><span class="cmr-12">This method computes </span><span
class="cmmi-12">y </span><span class="cmmi-12">y </span><span
class="cmr-12">= </span><span class="cmr-12">= </span><span
@ -89,7 +89,7 @@ class="cmtt-12">psb_krylov</span> <span
class="cmr-12">and hence it is</span> class="cmr-12">and hence it is</span>
<span <span
class="cmr-12">completely transparent to the user.</span> class="cmr-12">completely transparent to the user.</span>
<!--l. 729--><p class="noindent" ><span <!--l. 727--><p class="noindent" ><span
class="cmbx-12">Arguments</span> class="cmbx-12">Arguments</span>
<div class="tabular"> <table id="TBL-13" class="tabular" <div class="tabular"> <table id="TBL-13" class="tabular"
cellspacing="0" cellpadding="0" cellspacing="0" cellpadding="0"
@ -97,9 +97,9 @@ cellspacing="0" cellpadding="0"
id="TBL-13-1"><col id="TBL-13-1"><col
id="TBL-13-2"></colgroup><tr id="TBL-13-2"></colgroup><tr
style="vertical-align:baseline;" id="TBL-13-1-"><td style="white-space:normal; text-align:left;" id="TBL-13-1-1" style="vertical-align:baseline;" id="TBL-13-1-"><td style="white-space:normal; text-align:left;" id="TBL-13-1-1"
class="td11"><!--l. 732--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 730--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">x</span> </td><td style="white-space:normal; text-align:left;" id="TBL-13-1-2" class="cmtt-12">x</span> </td><td style="white-space:normal; text-align:left;" id="TBL-13-1-2"
class="td11"><!--l. 732--><p class="noindent" ><span class="td11"><!--l. 730--><p class="noindent" ><span
class="cmti-12">type</span><span class="lstinline"></span><span class="cmti-12">type</span><span class="lstinline"></span><span
class="cmtt-12">(</span><span class="cmtt-12">(</span><span
class="cmti-12">kind</span><span class="cmti-12">kind</span><span
@ -116,8 +116,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-13-2-"><td style="white-space:normal; text-align:left;" id="TBL-13-2-1" style="vertical-align:baseline;" id="TBL-13-2-"><td style="white-space:normal; text-align:left;" id="TBL-13-2-1"
class="td11"><!--l. 733--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-13-2-2" class="td11"><!--l. 731--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-13-2-2"
class="td11"><!--l. 733--><p class="noindent" ><span class="td11"><!--l. 731--><p class="noindent" ><span
class="cmr-12">The local part of the vector </span><span class="cmr-12">The local part of the vector </span><span
class="cmmi-12">x</span><span class="cmmi-12">x</span><span
class="cmr-12">. Note that </span><span class="cmr-12">. Note that </span><span
@ -135,9 +135,9 @@ class="cmr-12">, single/double</span>
class="cmr-12">precision version of AMG4PSBLAS under use.</span> </td> class="cmr-12">precision version of AMG4PSBLAS under use.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-13-3-"><td style="white-space:normal; text-align:left;" id="TBL-13-3-1" style="vertical-align:baseline;" id="TBL-13-3-"><td style="white-space:normal; text-align:left;" id="TBL-13-3-1"
class="td11"><!--l. 736--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 734--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">y</span> </td><td style="white-space:normal; text-align:left;" id="TBL-13-3-2" class="cmtt-12">y</span> </td><td style="white-space:normal; text-align:left;" id="TBL-13-3-2"
class="td11"><!--l. 736--><p class="noindent" ><span class="td11"><!--l. 734--><p class="noindent" ><span
class="cmti-12">type</span><span class="lstinline"></span><span class="cmti-12">type</span><span class="lstinline"></span><span
class="cmtt-12">(</span><span class="cmtt-12">(</span><span
class="cmti-12">kind</span><span class="cmti-12">kind</span><span
@ -154,8 +154,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-13-4-"><td style="white-space:normal; text-align:left;" id="TBL-13-4-1" style="vertical-align:baseline;" id="TBL-13-4-"><td style="white-space:normal; text-align:left;" id="TBL-13-4-1"
class="td11"><!--l. 737--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-13-4-2" class="td11"><!--l. 735--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-13-4-2"
class="td11"><!--l. 737--><p class="noindent" ><span class="td11"><!--l. 735--><p class="noindent" ><span
class="cmr-12">The local part of the vector </span><span class="cmr-12">The local part of the vector </span><span
class="cmmi-12">y</span><span class="cmmi-12">y</span><span
class="cmr-12">. Note that </span><span class="cmr-12">. Note that </span><span
@ -173,9 +173,9 @@ class="cmr-12">, single/double</span>
class="cmr-12">precision version of AMG4PSBLAS under use.</span> </td> class="cmr-12">precision version of AMG4PSBLAS under use.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-13-5-"><td style="white-space:normal; text-align:left;" id="TBL-13-5-1" style="vertical-align:baseline;" id="TBL-13-5-"><td style="white-space:normal; text-align:left;" id="TBL-13-5-1"
class="td11"><!--l. 740--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 738--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">desc_a</span></td><td style="white-space:normal; text-align:left;" id="TBL-13-5-2" class="cmtt-12">desc_a</span></td><td style="white-space:normal; text-align:left;" id="TBL-13-5-2"
class="td11"><!--l. 740--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 738--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">type</span><span class="cmtt-12">type</span><span
class="cmtt-12">(</span><span class="cmtt-12">(</span><span
class="cmtt-12">psb_desc_type</span><span class="cmtt-12">psb_desc_type</span><span
@ -188,16 +188,16 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-13-6-"><td style="white-space:normal; text-align:left;" id="TBL-13-6-1" style="vertical-align:baseline;" id="TBL-13-6-"><td style="white-space:normal; text-align:left;" id="TBL-13-6-1"
class="td11"><!--l. 741--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-13-6-2" class="td11"><!--l. 739--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-13-6-2"
class="td11"><!--l. 741--><p class="noindent" ><span class="td11"><!--l. 739--><p class="noindent" ><span
class="cmr-12">The communication descriptor associated to the matrix to be</span> class="cmr-12">The communication descriptor associated to the matrix to be</span>
<span <span
class="cmr-12">preconditioned.</span> </td> class="cmr-12">preconditioned.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-13-7-"><td style="white-space:normal; text-align:left;" id="TBL-13-7-1" style="vertical-align:baseline;" id="TBL-13-7-"><td style="white-space:normal; text-align:left;" id="TBL-13-7-1"
class="td11"><!--l. 743--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 741--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">info</span> </td><td style="white-space:normal; text-align:left;" id="TBL-13-7-2" class="cmtt-12">info</span> </td><td style="white-space:normal; text-align:left;" id="TBL-13-7-2"
class="td11"><!--l. 743--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 741--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">integer</span><span class="cmtt-12">integer</span><span
class="cmtt-12">,</span><span class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span class="cmtt-12">&#x00A0;</span><span
@ -208,8 +208,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-13-8-"><td style="white-space:normal; text-align:left;" id="TBL-13-8-1" style="vertical-align:baseline;" id="TBL-13-8-"><td style="white-space:normal; text-align:left;" id="TBL-13-8-1"
class="td11"><!--l. 744--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-13-8-2" class="td11"><!--l. 742--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-13-8-2"
class="td11"><!--l. 744--><p class="noindent" ><span class="td11"><!--l. 742--><p class="noindent" ><span
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
class="cmr-12">&#x00A0;</span><a class="cmr-12">&#x00A0;</span><a
href="userhtmlse7.html#x26-300007"><span href="userhtmlse7.html#x26-300007"><span
@ -217,9 +217,9 @@ class="cmr-12">7</span><!--tex4ht:ref: sec:errors --></a> <span
class="cmr-12">for details.</span> </td> class="cmr-12">for details.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-13-9-"><td style="white-space:normal; text-align:left;" id="TBL-13-9-1" style="vertical-align:baseline;" id="TBL-13-9-"><td style="white-space:normal; text-align:left;" id="TBL-13-9-1"
class="td11"><!--l. 745--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 743--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">trans</span> </td><td style="white-space:normal; text-align:left;" id="TBL-13-9-2" class="cmtt-12">trans</span> </td><td style="white-space:normal; text-align:left;" id="TBL-13-9-2"
class="td11"><!--l. 745--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 743--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">character</span><span class="cmtt-12">character</span><span
class="cmtt-12">(</span><span class="cmtt-12">(</span><span
class="cmtt-12">len</span><span class="cmtt-12">len</span><span
@ -234,8 +234,8 @@ class="cmtt-12">in</span><span
class="cmtt-12">).</span> </td> class="cmtt-12">).</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-13-10-"><td style="white-space:normal; text-align:left;" id="TBL-13-10-1" style="vertical-align:baseline;" id="TBL-13-10-"><td style="white-space:normal; text-align:left;" id="TBL-13-10-1"
class="td11"><!--l. 746--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-13-10-2" class="td11"><!--l. 744--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-13-10-2"
class="td11"><!--l. 746--><p class="noindent" ><span class="td11"><!--l. 744--><p class="noindent" ><span
class="cmr-12">If </span><span class="lstinline"></span><span class="cmr-12">If </span><span class="lstinline"></span><span
class="cmtt-12">trans</span> <span class="cmtt-12">trans</span> <span
class="cmr-12">= </span><span class="lstinline"></span><span class="cmr-12">= </span><span class="lstinline"></span><span
@ -309,9 +309,9 @@ class="cmr-8">1</span></sup><span
class="cmr-12">).</span> </td> class="cmr-12">).</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-13-11-"><td style="white-space:normal; text-align:left;" id="TBL-13-11-1" style="vertical-align:baseline;" id="TBL-13-11-"><td style="white-space:normal; text-align:left;" id="TBL-13-11-1"
class="td11"><!--l. 750--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 748--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">work</span> </td><td style="white-space:normal; text-align:left;" id="TBL-13-11-2" class="cmtt-12">work</span> </td><td style="white-space:normal; text-align:left;" id="TBL-13-11-2"
class="td11"><!--l. 750--><p class="noindent" ><span class="td11"><!--l. 748--><p class="noindent" ><span
class="cmti-12">type</span><span class="lstinline"></span><span class="cmti-12">type</span><span class="lstinline"></span><span
class="cmtt-12">(</span><span class="cmtt-12">(</span><span
class="cmti-12">kind</span><span class="cmti-12">kind</span><span
@ -328,8 +328,8 @@ class="cmtt-12">target</span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-13-12-"><td style="white-space:normal; text-align:left;" id="TBL-13-12-1" style="vertical-align:baseline;" id="TBL-13-12-"><td style="white-space:normal; text-align:left;" id="TBL-13-12-1"
class="td11"><!--l. 751--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-13-12-2" class="td11"><!--l. 749--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-13-12-2"
class="td11"><!--l. 751--><p class="noindent" ><span class="td11"><!--l. 749--><p class="noindent" ><span
class="cmr-12">Workspace. Its size should be at least </span><span class="lstinline"></span><span class="cmr-12">Workspace. Its size should be at least </span><span class="lstinline"></span><span
class="cmtt-12">4</span><span class="cmtt-12">4</span><span
class="cmtt-12">&#x00A0;</span><span class="cmtt-12">&#x00A0;</span><span
@ -363,7 +363,7 @@ class="td11"> </td> </tr></table></div>
<!--l. 760--><div class="crosslinks"><p class="noindent"><span <!--l. 758--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a class="cmr-12">[</span><a
href="userhtmlsu13.html" ><span href="userhtmlsu13.html" ><span
class="cmr-12">next</span></a><span class="cmr-12">next</span></a><span
@ -380,6 +380,6 @@ class="cmr-12">] [</span><a
href="userhtmlse5.html#userhtmlsu12.html" ><span href="userhtmlse5.html#userhtmlsu12.html" ><span
class="cmr-12">up</span></a><span class="cmr-12">up</span></a><span
class="cmr-12">] </span></p></div> class="cmr-12">] </span></p></div>
<!--l. 760--><p class="indent" > <a <!--l. 758--><p class="indent" > <a
id="tailuserhtmlsu12.html"></a> id="tailuserhtmlsu12.html"></a>
</body></html> </body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 760--><div class="crosslinks"><p class="noindent"><span <!--l. 758--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a class="cmr-12">[</span><a
href="userhtmlsu14.html" ><span href="userhtmlsu14.html" ><span
class="cmr-12">next</span></a><span class="cmr-12">next</span></a><span
@ -33,8 +33,8 @@ class="cmr-12">5.7 </span></span> <a
class="cmr-12">Method free</span></h4> class="cmr-12">Method free</span></h4>
<div class="center" <div class="center"
> >
<!--l. 762--><p class="noindent" > <!--l. 760--><p class="noindent" >
<!--l. 763--><p class="noindent" ><span class="lstinline"></span><span <!--l. 761--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">call</span><span class="cmtt-12">call</span><span
class="cmtt-12">&#x00A0;</span><span class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">p</span><span class="cmtt-12">p</span><span
@ -46,11 +46,11 @@ class="cmtt-12">,</span><span
class="cmtt-12">info</span><span class="cmtt-12">info</span><span
class="cmtt-12">)</span><br /> class="cmtt-12">)</span><br />
</div> </div>
<!--l. 766--><p class="noindent" ><span <!--l. 764--><p class="noindent" ><span
class="cmr-12">This method deallocates the preconditioner data structure </span><span class="lstinline"></span><span class="cmr-12">This method deallocates the preconditioner data structure </span><span class="lstinline"></span><span
class="cmtt-12">p</span><span class="cmtt-12">p</span><span
class="cmr-12">.</span> class="cmr-12">.</span>
<!--l. 769--><p class="noindent" ><span <!--l. 767--><p class="noindent" ><span
class="cmbx-12">Arguments</span> class="cmbx-12">Arguments</span>
<div class="tabular"> <table id="TBL-14" class="tabular" <div class="tabular"> <table id="TBL-14" class="tabular"
cellspacing="0" cellpadding="0" cellspacing="0" cellpadding="0"
@ -58,9 +58,9 @@ cellspacing="0" cellpadding="0"
id="TBL-14-1"><col id="TBL-14-1"><col
id="TBL-14-2"></colgroup><tr id="TBL-14-2"></colgroup><tr
style="vertical-align:baseline;" id="TBL-14-1-"><td style="white-space:normal; text-align:left;" id="TBL-14-1-1" style="vertical-align:baseline;" id="TBL-14-1-"><td style="white-space:normal; text-align:left;" id="TBL-14-1-1"
class="td11"><!--l. 772--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 770--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">info</span> </td><td style="white-space:normal; text-align:left;" id="TBL-14-1-2" class="cmtt-12">info</span> </td><td style="white-space:normal; text-align:left;" id="TBL-14-1-2"
class="td11"><!--l. 772--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 770--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">integer</span><span class="cmtt-12">integer</span><span
class="cmtt-12">,</span><span class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span class="cmtt-12">&#x00A0;</span><span
@ -71,8 +71,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-14-2-"><td style="white-space:normal; text-align:left;" id="TBL-14-2-1" style="vertical-align:baseline;" id="TBL-14-2-"><td style="white-space:normal; text-align:left;" id="TBL-14-2-1"
class="td11"><!--l. 773--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-14-2-2" class="td11"><!--l. 771--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-14-2-2"
class="td11"><!--l. 773--><p class="noindent" ><span class="td11"><!--l. 771--><p class="noindent" ><span
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
class="cmr-12">&#x00A0;</span><a class="cmr-12">&#x00A0;</span><a
href="userhtmlse7.html#x26-300007"><span href="userhtmlse7.html#x26-300007"><span
@ -89,7 +89,7 @@ class="td11"> </td> </tr></table></div>
<!--l. 779--><div class="crosslinks"><p class="noindent"><span <!--l. 777--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a class="cmr-12">[</span><a
href="userhtmlsu14.html" ><span href="userhtmlsu14.html" ><span
class="cmr-12">next</span></a><span class="cmr-12">next</span></a><span
@ -106,6 +106,6 @@ class="cmr-12">] [</span><a
href="userhtmlse5.html#userhtmlsu13.html" ><span href="userhtmlse5.html#userhtmlsu13.html" ><span
class="cmr-12">up</span></a><span class="cmr-12">up</span></a><span
class="cmr-12">] </span></p></div> class="cmr-12">] </span></p></div>
<!--l. 779--><p class="indent" > <a <!--l. 777--><p class="indent" > <a
id="tailuserhtmlsu13.html"></a> id="tailuserhtmlsu13.html"></a>
</body></html> </body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 779--><div class="crosslinks"><p class="noindent"><span <!--l. 777--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a class="cmr-12">[</span><a
href="userhtmlsu15.html" ><span href="userhtmlsu15.html" ><span
class="cmr-12">next</span></a><span class="cmr-12">next</span></a><span
@ -33,8 +33,8 @@ class="cmr-12">5.8 </span></span> <a
class="cmr-12">Method descr</span></h4> class="cmr-12">Method descr</span></h4>
<div class="center" <div class="center"
> >
<!--l. 781--><p class="noindent" > <!--l. 779--><p class="noindent" >
<!--l. 782--><p class="noindent" ><span class="lstinline"></span><span <!--l. 780--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">call</span><span class="cmtt-12">call</span><span
class="cmtt-12">&#x00A0;</span><span class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">p</span><span class="cmtt-12">p</span><span
@ -54,7 +54,7 @@ class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">verbosity</span><span class="cmtt-12">verbosity</span><span
class="cmtt-12">])</span><br /> class="cmtt-12">])</span><br />
</div> </div>
<!--l. 785--><p class="noindent" ><span <!--l. 783--><p class="noindent" ><span
class="cmr-12">This method prints a description of the preconditioner </span><span class="lstinline"></span><span class="cmr-12">This method prints a description of the preconditioner </span><span class="lstinline"></span><span
class="cmtt-12">p</span> <span class="cmtt-12">p</span> <span
class="cmr-12">to the standard output or to a</span> class="cmr-12">to the standard output or to a</span>
@ -68,7 +68,7 @@ class="cmtt-12">build</span><span
class="cmr-12">, have</span> class="cmr-12">, have</span>
<span <span
class="cmr-12">been called.</span> class="cmr-12">been called.</span>
<!--l. 790--><p class="noindent" ><span <!--l. 788--><p class="noindent" ><span
class="cmbx-12">Arguments</span> class="cmbx-12">Arguments</span>
<div class="tabular"> <table id="TBL-15" class="tabular" <div class="tabular"> <table id="TBL-15" class="tabular"
cellspacing="0" cellpadding="0" cellspacing="0" cellpadding="0"
@ -76,9 +76,9 @@ cellspacing="0" cellpadding="0"
id="TBL-15-1"><col id="TBL-15-1"><col
id="TBL-15-2"></colgroup><tr id="TBL-15-2"></colgroup><tr
style="vertical-align:baseline;" id="TBL-15-1-"><td style="white-space:normal; text-align:left;" id="TBL-15-1-1" style="vertical-align:baseline;" id="TBL-15-1-"><td style="white-space:normal; text-align:left;" id="TBL-15-1-1"
class="td11"><!--l. 793--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 791--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">info</span> </td><td style="white-space:normal; text-align:left;" id="TBL-15-1-2" class="cmtt-12">info</span> </td><td style="white-space:normal; text-align:left;" id="TBL-15-1-2"
class="td11"><!--l. 793--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 791--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">integer</span><span class="cmtt-12">integer</span><span
class="cmtt-12">,</span><span class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span class="cmtt-12">&#x00A0;</span><span
@ -89,8 +89,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-15-2-"><td style="white-space:normal; text-align:left;" id="TBL-15-2-1" style="vertical-align:baseline;" id="TBL-15-2-"><td style="white-space:normal; text-align:left;" id="TBL-15-2-1"
class="td11"><!--l. 794--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-15-2-2" class="td11"><!--l. 792--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-15-2-2"
class="td11"><!--l. 794--><p class="noindent" ><span class="td11"><!--l. 792--><p class="noindent" ><span
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
class="cmr-12">&#x00A0;</span><a class="cmr-12">&#x00A0;</span><a
href="userhtmlse7.html#x26-300007"><span href="userhtmlse7.html#x26-300007"><span
@ -98,9 +98,9 @@ class="cmr-12">7</span><!--tex4ht:ref: sec:errors --></a> <span
class="cmr-12">for details.</span></td> class="cmr-12">for details.</span></td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-15-3-"><td style="white-space:normal; text-align:left;" id="TBL-15-3-1" style="vertical-align:baseline;" id="TBL-15-3-"><td style="white-space:normal; text-align:left;" id="TBL-15-3-1"
class="td11"><!--l. 795--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 793--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">iout</span> </td><td style="white-space:normal; text-align:left;" id="TBL-15-3-2" class="cmtt-12">iout</span> </td><td style="white-space:normal; text-align:left;" id="TBL-15-3-2"
class="td11"><!--l. 795--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 793--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">integer</span><span class="cmtt-12">integer</span><span
class="cmtt-12">,</span><span class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span class="cmtt-12">&#x00A0;</span><span
@ -113,16 +113,16 @@ class="cmtt-12">optional</span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-15-4-"><td style="white-space:normal; text-align:left;" id="TBL-15-4-1" style="vertical-align:baseline;" id="TBL-15-4-"><td style="white-space:normal; text-align:left;" id="TBL-15-4-1"
class="td11"><!--l. 796--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-15-4-2" class="td11"><!--l. 794--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-15-4-2"
class="td11"><!--l. 796--><p class="noindent" ><span class="td11"><!--l. 794--><p class="noindent" ><span
class="cmr-12">The id of the file where the preconditioner description will be</span> class="cmr-12">The id of the file where the preconditioner description will be</span>
<span <span
class="cmr-12">printed; the default is the standard output.</span> </td> class="cmr-12">printed; the default is the standard output.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-15-5-"><td style="white-space:normal; text-align:left;" id="TBL-15-5-1" style="vertical-align:baseline;" id="TBL-15-5-"><td style="white-space:normal; text-align:left;" id="TBL-15-5-1"
class="td11"><!--l. 798--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 796--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">root</span> </td><td style="white-space:normal; text-align:left;" id="TBL-15-5-2" class="cmtt-12">root</span> </td><td style="white-space:normal; text-align:left;" id="TBL-15-5-2"
class="td11"><!--l. 798--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 796--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">integer</span><span class="cmtt-12">integer</span><span
class="cmtt-12">,</span><span class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span class="cmtt-12">&#x00A0;</span><span
@ -135,8 +135,8 @@ class="cmtt-12">optional</span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-15-6-"><td style="white-space:normal; text-align:left;" id="TBL-15-6-1" style="vertical-align:baseline;" id="TBL-15-6-"><td style="white-space:normal; text-align:left;" id="TBL-15-6-1"
class="td11"><!--l. 799--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-15-6-2" class="td11"><!--l. 797--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-15-6-2"
class="td11"><!--l. 799--><p class="noindent" ><span class="td11"><!--l. 797--><p class="noindent" ><span
class="cmr-12">The id of the process where the preconditioner description</span> class="cmr-12">The id of the process where the preconditioner description</span>
<span <span
class="cmr-12">will be printed; the default is </span><span class="lstinline"></span><span class="cmr-12">will be printed; the default is </span><span class="lstinline"></span><span
@ -144,9 +144,9 @@ class="cmtt-12">psb_root_</span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-15-7-"><td style="white-space:normal; text-align:left;" id="TBL-15-7-1" style="vertical-align:baseline;" id="TBL-15-7-"><td style="white-space:normal; text-align:left;" id="TBL-15-7-1"
class="td11"><!--l. 801--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 799--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">verbosity</span> </td><td style="white-space:normal; text-align:left;" id="TBL-15-7-2" class="cmtt-12">verbosity</span> </td><td style="white-space:normal; text-align:left;" id="TBL-15-7-2"
class="td11"><!--l. 801--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 799--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">integer</span><span class="cmtt-12">integer</span><span
class="cmtt-12">,</span><span class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span class="cmtt-12">&#x00A0;</span><span
@ -159,8 +159,8 @@ class="cmtt-12">optional</span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-15-8-"><td style="white-space:normal; text-align:left;" id="TBL-15-8-1" style="vertical-align:baseline;" id="TBL-15-8-"><td style="white-space:normal; text-align:left;" id="TBL-15-8-1"
class="td11"><!--l. 802--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-15-8-2" class="td11"><!--l. 800--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-15-8-2"
class="td11"><!--l. 802--><p class="noindent" ><span class="td11"><!--l. 800--><p class="noindent" ><span
class="cmr-12">The verbosity level of the description. Default value is 0. For</span> class="cmr-12">The verbosity level of the description. Default value is 0. For</span>
<span <span
class="cmr-12">values higher than 0, it prints out further information, e.g., for</span> class="cmr-12">values higher than 0, it prints out further information, e.g., for</span>
@ -174,7 +174,7 @@ class="td11"> </td> </tr></table></div>
<!--l. 809--><div class="crosslinks"><p class="noindent"><span <!--l. 807--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a class="cmr-12">[</span><a
href="userhtmlsu15.html" ><span href="userhtmlsu15.html" ><span
class="cmr-12">next</span></a><span class="cmr-12">next</span></a><span
@ -191,6 +191,6 @@ class="cmr-12">] [</span><a
href="userhtmlse5.html#userhtmlsu14.html" ><span href="userhtmlse5.html#userhtmlsu14.html" ><span
class="cmr-12">up</span></a><span class="cmr-12">up</span></a><span
class="cmr-12">] </span></p></div> class="cmr-12">] </span></p></div>
<!--l. 809--><p class="indent" > <a <!--l. 807--><p class="indent" > <a
id="tailuserhtmlsu14.html"></a> id="tailuserhtmlsu14.html"></a>
</body></html> </body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 809--><div class="crosslinks"><p class="noindent"><span <!--l. 807--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a class="cmr-12">[</span><a
href="userhtmlsu14.html" ><span href="userhtmlsu14.html" ><span
class="cmr-12">prev</span></a><span class="cmr-12">prev</span></a><span
@ -28,19 +28,19 @@ class="cmr-12">] </span></p></div>
class="cmr-12">5.9 </span></span> <a class="cmr-12">5.9 </span></span> <a
id="x24-230005.9"></a><span id="x24-230005.9"></a><span
class="cmr-12">Auxiliary Methods</span></h4> class="cmr-12">Auxiliary Methods</span></h4>
<!--l. 810--><p class="noindent" ><span <!--l. 808--><p class="noindent" ><span
class="cmr-12">Various functionalities are implemented as additional methods of the preconditioner</span> class="cmr-12">Various functionalities are implemented as additional methods of the preconditioner</span>
<span <span
class="cmr-12">object.</span> class="cmr-12">object.</span>
<!--l. 813--><p class="noindent" > <!--l. 811--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark"><span <h5 class="subsubsectionHead"><span class="titlemark"><span
class="cmr-12">5.9.1 </span></span> <a class="cmr-12">5.9.1 </span></span> <a
id="x24-240005.9.1"></a><span id="x24-240005.9.1"></a><span
class="cmr-12">Method: dump</span></h5> class="cmr-12">Method: dump</span></h5>
<div class="center" <div class="center"
> >
<!--l. 815--><p class="noindent" > <!--l. 813--><p class="noindent" >
<!--l. 816--><p class="noindent" ><span class="lstinline"></span><span <!--l. 814--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">call</span><span class="cmtt-12">call</span><span
class="cmtt-12">&#x00A0;</span><span class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">p</span><span class="cmtt-12">p</span><span
@ -68,9 +68,9 @@ class="cmtt-12">,</span><span
class="cmtt-12">global_num</span><span class="cmtt-12">global_num</span><span
class="cmtt-12">])</span><br /> class="cmtt-12">])</span><br />
</div> </div>
<!--l. 819--><p class="noindent" ><span <!--l. 817--><p class="noindent" ><span
class="cmr-12">Dump on file.</span> class="cmr-12">Dump on file.</span>
<!--l. 822--><p class="noindent" ><span <!--l. 820--><p class="noindent" ><span
class="cmbx-12">Arguments</span> class="cmbx-12">Arguments</span>
<div class="tabular"> <table id="TBL-16" class="tabular" <div class="tabular"> <table id="TBL-16" class="tabular"
cellspacing="0" cellpadding="0" cellspacing="0" cellpadding="0"
@ -78,9 +78,9 @@ cellspacing="0" cellpadding="0"
id="TBL-16-1"><col id="TBL-16-1"><col
id="TBL-16-2"></colgroup><tr id="TBL-16-2"></colgroup><tr
style="vertical-align:baseline;" id="TBL-16-1-"><td style="white-space:normal; text-align:left;" id="TBL-16-1-1" style="vertical-align:baseline;" id="TBL-16-1-"><td style="white-space:normal; text-align:left;" id="TBL-16-1-1"
class="td11"><!--l. 825--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 823--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">info</span> </td><td style="white-space:normal; text-align:left;" id="TBL-16-1-2" class="cmtt-12">info</span> </td><td style="white-space:normal; text-align:left;" id="TBL-16-1-2"
class="td11"><!--l. 825--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 823--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">integer</span><span class="cmtt-12">integer</span><span
class="cmtt-12">,</span><span class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span class="cmtt-12">&#x00A0;</span><span
@ -91,8 +91,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-16-2-"><td style="white-space:normal; text-align:left;" id="TBL-16-2-1" style="vertical-align:baseline;" id="TBL-16-2-"><td style="white-space:normal; text-align:left;" id="TBL-16-2-1"
class="td11"><!--l. 826--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-16-2-2" class="td11"><!--l. 824--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-16-2-2"
class="td11"><!--l. 826--><p class="noindent" ><span class="td11"><!--l. 824--><p class="noindent" ><span
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
class="cmr-12">&#x00A0;</span><a class="cmr-12">&#x00A0;</span><a
href="userhtmlse7.html#x26-300007"><span href="userhtmlse7.html#x26-300007"><span
@ -100,9 +100,9 @@ class="cmr-12">7</span><!--tex4ht:ref: sec:errors --></a> <span
class="cmr-12">for details.</span> </td> class="cmr-12">for details.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-16-3-"><td style="white-space:normal; text-align:left;" id="TBL-16-3-1" style="vertical-align:baseline;" id="TBL-16-3-"><td style="white-space:normal; text-align:left;" id="TBL-16-3-1"
class="td11"><!--l. 827--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 825--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">amold</span> </td><td style="white-space:normal; text-align:left;" id="TBL-16-3-2" class="cmtt-12">amold</span> </td><td style="white-space:normal; text-align:left;" id="TBL-16-3-2"
class="td11"><!--l. 827--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 825--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">class</span><span class="cmtt-12">class</span><span
class="cmtt-12">(</span><span class="cmtt-12">(</span><span
class="cmtt-12">psb_</span><span class="cmtt-12">psb_</span><span
@ -119,8 +119,8 @@ class="cmtt-12">optional</span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-16-4-"><td style="white-space:normal; text-align:left;" id="TBL-16-4-1" style="vertical-align:baseline;" id="TBL-16-4-"><td style="white-space:normal; text-align:left;" id="TBL-16-4-1"
class="td11"><!--l. 828--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-16-4-2" class="td11"><!--l. 826--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-16-4-2"
class="td11"><!--l. 828--><p class="noindent" ><span class="td11"><!--l. 826--><p class="noindent" ><span
class="cmr-12">The desired dynamic type for internal matrix components; this</span> class="cmr-12">The desired dynamic type for internal matrix components; this</span>
<span <span
class="cmr-12">allows e.g. running on GPUs; it needs not be the same on all</span> class="cmr-12">allows e.g. running on GPUs; it needs not be the same on all</span>
@ -134,15 +134,15 @@ class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-16-5-"><td style="white-space:normal; text-align:left;" id="TBL-16-5-1" style="vertical-align:baseline;" id="TBL-16-5-"><td style="white-space:normal; text-align:left;" id="TBL-16-5-1"
class="td11"> </td> </tr></table></div> class="td11"> </td> </tr></table></div>
<!--l. 835--><p class="noindent" > <!--l. 833--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark"><span <h5 class="subsubsectionHead"><span class="titlemark"><span
class="cmr-12">5.9.2 </span></span> <a class="cmr-12">5.9.2 </span></span> <a
id="x24-250005.9.2"></a><span id="x24-250005.9.2"></a><span
class="cmr-12">Method: clone</span></h5> class="cmr-12">Method: clone</span></h5>
<div class="center" <div class="center"
> >
<!--l. 837--><p class="noindent" > <!--l. 835--><p class="noindent" >
<!--l. 838--><p class="noindent" ><span class="lstinline"></span><span <!--l. 836--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">call</span><span class="cmtt-12">call</span><span
class="cmtt-12">&#x00A0;</span><span class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">p</span><span class="cmtt-12">p</span><span
@ -157,9 +157,9 @@ class="cmtt-12">)</span><br />
<!--l. 841--><p class="noindent" ><span <!--l. 839--><p class="noindent" ><span
class="cmr-12">Create a (deep) copy of the preconditioner object.</span> class="cmr-12">Create a (deep) copy of the preconditioner object.</span>
<!--l. 844--><p class="noindent" ><span <!--l. 842--><p class="noindent" ><span
class="cmbx-12">Arguments</span> class="cmbx-12">Arguments</span>
<div class="tabular"> <table id="TBL-17" class="tabular" <div class="tabular"> <table id="TBL-17" class="tabular"
cellspacing="0" cellpadding="0" cellspacing="0" cellpadding="0"
@ -167,9 +167,9 @@ cellspacing="0" cellpadding="0"
id="TBL-17-1"><col id="TBL-17-1"><col
id="TBL-17-2"></colgroup><tr id="TBL-17-2"></colgroup><tr
style="vertical-align:baseline;" id="TBL-17-1-"><td style="white-space:normal; text-align:left;" id="TBL-17-1-1" style="vertical-align:baseline;" id="TBL-17-1-"><td style="white-space:normal; text-align:left;" id="TBL-17-1-1"
class="td11"><!--l. 847--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 845--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">pout</span> </td><td style="white-space:normal; text-align:left;" id="TBL-17-1-2" class="cmtt-12">pout</span> </td><td style="white-space:normal; text-align:left;" id="TBL-17-1-2"
class="td11"><!--l. 847--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 845--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">type</span><span class="cmtt-12">type</span><span
class="cmtt-12">(</span><span class="cmtt-12">(</span><span
class="cmtt-12">amg_</span><span class="cmtt-12">amg_</span><span
@ -184,8 +184,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-17-2-"><td style="white-space:normal; text-align:left;" id="TBL-17-2-1" style="vertical-align:baseline;" id="TBL-17-2-"><td style="white-space:normal; text-align:left;" id="TBL-17-2-1"
class="td11"><!--l. 848--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-17-2-2" class="td11"><!--l. 846--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-17-2-2"
class="td11"><!--l. 848--><p class="noindent" ><span class="td11"><!--l. 846--><p class="noindent" ><span
class="cmr-12">The copy of the preconditioner data structure. Note that </span><span class="cmr-12">The copy of the preconditioner data structure. Note that </span><span
class="cmti-12">x </span><span class="cmti-12">x </span><span
class="cmr-12">must</span> class="cmr-12">must</span>
@ -199,9 +199,9 @@ class="cmr-12">, single/double precision</span>
class="cmr-12">version of AMG4PSBLAS under use.</span> </td> class="cmr-12">version of AMG4PSBLAS under use.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-17-3-"><td style="white-space:normal; text-align:left;" id="TBL-17-3-1" style="vertical-align:baseline;" id="TBL-17-3-"><td style="white-space:normal; text-align:left;" id="TBL-17-3-1"
class="td11"><!--l. 851--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 849--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">info</span> </td><td style="white-space:normal; text-align:left;" id="TBL-17-3-2" class="cmtt-12">info</span> </td><td style="white-space:normal; text-align:left;" id="TBL-17-3-2"
class="td11"><!--l. 851--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 849--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">integer</span><span class="cmtt-12">integer</span><span
class="cmtt-12">,</span><span class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span class="cmtt-12">&#x00A0;</span><span
@ -212,8 +212,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-17-4-"><td style="white-space:normal; text-align:left;" id="TBL-17-4-1" style="vertical-align:baseline;" id="TBL-17-4-"><td style="white-space:normal; text-align:left;" id="TBL-17-4-1"
class="td11"><!--l. 852--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-17-4-2" class="td11"><!--l. 850--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-17-4-2"
class="td11"><!--l. 852--><p class="noindent" ><span class="td11"><!--l. 850--><p class="noindent" ><span
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
class="cmr-12">&#x00A0;</span><a class="cmr-12">&#x00A0;</span><a
href="userhtmlse7.html#x26-300007"><span href="userhtmlse7.html#x26-300007"><span
@ -222,15 +222,15 @@ class="cmr-12">for details.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-17-5-"><td style="white-space:normal; text-align:left;" id="TBL-17-5-1" style="vertical-align:baseline;" id="TBL-17-5-"><td style="white-space:normal; text-align:left;" id="TBL-17-5-1"
class="td11"> </td> </tr></table></div> class="td11"> </td> </tr></table></div>
<!--l. 857--><p class="noindent" > <!--l. 855--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark"><span <h5 class="subsubsectionHead"><span class="titlemark"><span
class="cmr-12">5.9.3 </span></span> <a class="cmr-12">5.9.3 </span></span> <a
id="x24-260005.9.3"></a><span id="x24-260005.9.3"></a><span
class="cmr-12">Method: sizeof</span></h5> class="cmr-12">Method: sizeof</span></h5>
<div class="center" <div class="center"
> >
<!--l. 859--><p class="noindent" > <!--l. 857--><p class="noindent" >
<!--l. 860--><p class="noindent" ><span class="lstinline"></span><span <!--l. 858--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">sz</span><span class="cmtt-12">sz</span><span
class="cmtt-12">&#x00A0;</span><span class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">=</span><span class="cmtt-12">=</span><span
@ -238,11 +238,40 @@ class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">p</span><span class="cmtt-12">p</span><span
class="cmtt-12">%</span><span class="cmtt-12">%</span><span
class="cmtt-12">sizeof</span><span class="cmtt-12">sizeof</span><span
class="cmtt-12">()</span><br /> class="cmtt-12">([</span><span
class="cmtt-12">global</span><span
class="cmtt-12">])</span><br />
</div> </div>
<!--l. 863--><p class="noindent" ><span <div class="tabular"> <table id="TBL-18" class="tabular"
cellspacing="0" cellpadding="0"
><colgroup id="TBL-18-1g"><col
id="TBL-18-1"><col
id="TBL-18-2"></colgroup><tr
style="vertical-align:baseline;" id="TBL-18-1-"><td style="white-space:normal; text-align:left;" id="TBL-18-1-1"
class="td11"><!--l. 862--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">global</span> </td> <td style="white-space:normal; text-align:left;" id="TBL-18-1-2"
class="td11"><!--l. 862--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">logical</span><span
class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">optional</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-18-2-"><td style="white-space:normal; text-align:left;" id="TBL-18-2-1"
class="td11"><!--l. 863--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-18-2-2"
class="td11"><!--l. 863--><p class="noindent" ><span
class="cmr-12">Whether the global or local preconditioner size is desired. Default:</span>
<span class="lstinline"></span><span
class="cmtt-12">.</span><span
class="cmtt-12">false</span><span
class="cmtt-12">.</span><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-18-3-"><td style="white-space:normal; text-align:left;" id="TBL-18-3-1"
class="td11"> </td> </tr></table>
</div> <span
class="cmr-12">Return memory footprint in bytes.</span> class="cmr-12">Return memory footprint in bytes.</span>
<!--l. 866--><p class="noindent" > <!--l. 869--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark"><span <h5 class="subsubsectionHead"><span class="titlemark"><span
class="cmr-12">5.9.4 </span></span> <a class="cmr-12">5.9.4 </span></span> <a
id="x24-270005.9.4"></a><span id="x24-270005.9.4"></a><span
@ -250,8 +279,8 @@ class="cmr-12">Method: allocate</span><span
class="cmr-12">_wrk</span></h5> class="cmr-12">_wrk</span></h5>
<div class="center" <div class="center"
> >
<!--l. 868--><p class="noindent" > <!--l. 871--><p class="noindent" >
<!--l. 869--><p class="noindent" ><span class="lstinline"></span><span <!--l. 872--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">call</span><span class="cmtt-12">call</span><span
class="cmtt-12">&#x00A0;</span><span class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">p</span><span class="cmtt-12">p</span><span
@ -264,7 +293,7 @@ class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">vmold</span><span class="cmtt-12">vmold</span><span
class="cmtt-12">])</span><br /> class="cmtt-12">])</span><br />
</div> </div>
<!--l. 872--><p class="noindent" ><span <!--l. 875--><p class="noindent" ><span
class="cmr-12">Allocate internal work vectors. Each application of the preconditioner uses a number of</span> class="cmr-12">Allocate internal work vectors. Each application of the preconditioner uses a number of</span>
<span <span
class="cmr-12">work vectors which are allocated internally as necessary; therefore allocation and</span> class="cmr-12">work vectors which are allocated internally as necessary; therefore allocation and</span>
@ -278,15 +307,15 @@ class="cmr-12">notably GPUs, memory allocation is a slow operation, and the defa
class="cmr-12">lead to a slowdown. This method allows to trade space for time by preallocating</span> class="cmr-12">lead to a slowdown. This method allows to trade space for time by preallocating</span>
<span <span
class="cmr-12">the internal workspace outside of the invocation of a Krylov method. When</span> class="cmr-12">the internal workspace outside of the invocation of a Krylov method. When</span>
<span <span
class="cmr-12">using GPUs or other specialized devices, the </span><span class="lstinline"></span><span class="cmr-12">using GPUs or other specialized devices, the </span><span class="lstinline"></span><span
class="cmtt-12">vmold</span> <span class="cmtt-12">vmold</span> <span
class="cmr-12">argument is also necessary</span> class="cmr-12">argument is also necessary</span>
<span <span
class="cmr-12">to ensure the internal work vectors are of the appropriate dynamic type to</span> class="cmr-12">to ensure the internal work vectors are of the appropriate dynamic type to</span>
<span <span
class="cmr-12">exploit the accelerator hardware; when allocation occurs internally this is</span> class="cmr-12">exploit the accelerator hardware; when allocation occurs internally this is</span>
<span <span
@ -296,17 +325,17 @@ class="cmr-12">argument to the </span><span class="lstinline"></span><span
class="cmtt-12">apply</span> class="cmtt-12">apply</span>
<span <span
class="cmr-12">method.</span> class="cmr-12">method.</span>
<!--l. 888--><p class="noindent" ><span <!--l. 891--><p class="noindent" ><span
class="cmbx-12">Arguments</span> class="cmbx-12">Arguments</span>
<div class="tabular"> <table id="TBL-18" class="tabular" <div class="tabular"> <table id="TBL-19" class="tabular"
cellspacing="0" cellpadding="0" cellspacing="0" cellpadding="0"
><colgroup id="TBL-18-1g"><col ><colgroup id="TBL-19-1g"><col
id="TBL-18-1"><col id="TBL-19-1"><col
id="TBL-18-2"></colgroup><tr id="TBL-19-2"></colgroup><tr
style="vertical-align:baseline;" id="TBL-18-1-"><td style="white-space:normal; text-align:left;" id="TBL-18-1-1" style="vertical-align:baseline;" id="TBL-19-1-"><td style="white-space:normal; text-align:left;" id="TBL-19-1-1"
class="td11"><!--l. 891--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 894--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">info</span> </td><td style="white-space:normal; text-align:left;" id="TBL-18-1-2" class="cmtt-12">info</span> </td><td style="white-space:normal; text-align:left;" id="TBL-19-1-2"
class="td11"><!--l. 891--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 894--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">integer</span><span class="cmtt-12">integer</span><span
class="cmtt-12">,</span><span class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span class="cmtt-12">&#x00A0;</span><span
@ -316,19 +345,19 @@ class="cmtt-12">out</span><span
class="cmtt-12">)</span><span class="cmtt-12">)</span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-18-2-"><td style="white-space:normal; text-align:left;" id="TBL-18-2-1" style="vertical-align:baseline;" id="TBL-19-2-"><td style="white-space:normal; text-align:left;" id="TBL-19-2-1"
class="td11"><!--l. 892--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-18-2-2" class="td11"><!--l. 895--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-19-2-2"
class="td11"><!--l. 892--><p class="noindent" ><span class="td11"><!--l. 895--><p class="noindent" ><span
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
class="cmr-12">&#x00A0;</span><a class="cmr-12">&#x00A0;</span><a
href="userhtmlse7.html#x26-300007"><span href="userhtmlse7.html#x26-300007"><span
class="cmr-12">7</span><!--tex4ht:ref: sec:errors --></a> <span class="cmr-12">7</span><!--tex4ht:ref: sec:errors --></a> <span
class="cmr-12">for details.</span> </td> class="cmr-12">for details.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-18-3-"><td style="white-space:normal; text-align:left;" id="TBL-18-3-1" style="vertical-align:baseline;" id="TBL-19-3-"><td style="white-space:normal; text-align:left;" id="TBL-19-3-1"
class="td11"><!--l. 893--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 896--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">vmold</span> </td><td style="white-space:normal; text-align:left;" id="TBL-18-3-2" class="cmtt-12">vmold</span> </td><td style="white-space:normal; text-align:left;" id="TBL-19-3-2"
class="td11"><!--l. 893--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 896--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">class</span><span class="cmtt-12">class</span><span
class="cmtt-12">(</span><span class="cmtt-12">(</span><span
class="cmtt-12">psb_</span><span class="cmtt-12">psb_</span><span
@ -344,16 +373,16 @@ class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">optional</span><span class="cmtt-12">optional</span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-18-4-"><td style="white-space:normal; text-align:left;" id="TBL-18-4-1" style="vertical-align:baseline;" id="TBL-19-4-"><td style="white-space:normal; text-align:left;" id="TBL-19-4-1"
class="td11"><!--l. 894--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-18-4-2" class="td11"><!--l. 897--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-19-4-2"
class="td11"><!--l. 894--><p class="noindent" ><span class="td11"><!--l. 897--><p class="noindent" ><span
class="cmr-12">The desired dynamic type for internal vector components; this</span> class="cmr-12">The desired dynamic type for internal vector components; this</span>
<span <span
class="cmr-12">allows e.g. running on GPUs.</span> </td> class="cmr-12">allows e.g. running on GPUs.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-18-5-"><td style="white-space:normal; text-align:left;" id="TBL-18-5-1" style="vertical-align:baseline;" id="TBL-19-5-"><td style="white-space:normal; text-align:left;" id="TBL-19-5-1"
class="td11"> </td> </tr></table></div> class="td11"> </td> </tr></table></div>
<!--l. 900--><p class="noindent" > <!--l. 903--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark"><span <h5 class="subsubsectionHead"><span class="titlemark"><span
class="cmr-12">5.9.5 </span></span> <a class="cmr-12">5.9.5 </span></span> <a
id="x24-280005.9.5"></a><span id="x24-280005.9.5"></a><span
@ -361,8 +390,8 @@ class="cmr-12">Method: free</span><span
class="cmr-12">_wrk</span></h5> class="cmr-12">_wrk</span></h5>
<div class="center" <div class="center"
> >
<!--l. 902--><p class="noindent" > <!--l. 905--><p class="noindent" >
<!--l. 903--><p class="noindent" ><span class="lstinline"></span><span <!--l. 906--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">call</span><span class="cmtt-12">call</span><span
class="cmtt-12">&#x00A0;</span><span class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">p</span><span class="cmtt-12">p</span><span
@ -372,19 +401,19 @@ class="cmtt-12">(</span><span
class="cmtt-12">info</span><span class="cmtt-12">info</span><span
class="cmtt-12">)</span><br /> class="cmtt-12">)</span><br />
</div> </div>
<!--l. 906--><p class="noindent" ><span
class="cmr-12">Deallocate internal work vectors.</span>
<!--l. 909--><p class="noindent" ><span <!--l. 909--><p class="noindent" ><span
class="cmr-12">Deallocate internal work vectors.</span>
<!--l. 912--><p class="noindent" ><span
class="cmbx-12">Arguments</span> class="cmbx-12">Arguments</span>
<div class="tabular"> <table id="TBL-19" class="tabular" <div class="tabular"> <table id="TBL-20" class="tabular"
cellspacing="0" cellpadding="0" cellspacing="0" cellpadding="0"
><colgroup id="TBL-19-1g"><col ><colgroup id="TBL-20-1g"><col
id="TBL-19-1"><col id="TBL-20-1"><col
id="TBL-19-2"></colgroup><tr id="TBL-20-2"></colgroup><tr
style="vertical-align:baseline;" id="TBL-19-1-"><td style="white-space:normal; text-align:left;" id="TBL-19-1-1" style="vertical-align:baseline;" id="TBL-20-1-"><td style="white-space:normal; text-align:left;" id="TBL-20-1-1"
class="td11"><!--l. 912--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 915--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">info</span> </td><td style="white-space:normal; text-align:left;" id="TBL-19-1-2" class="cmtt-12">info</span> </td><td style="white-space:normal; text-align:left;" id="TBL-20-1-2"
class="td11"><!--l. 912--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 915--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">integer</span><span class="cmtt-12">integer</span><span
class="cmtt-12">,</span><span class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span class="cmtt-12">&#x00A0;</span><span
@ -394,16 +423,16 @@ class="cmtt-12">out</span><span
class="cmtt-12">)</span><span class="cmtt-12">)</span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-19-2-"><td style="white-space:normal; text-align:left;" id="TBL-19-2-1" style="vertical-align:baseline;" id="TBL-20-2-"><td style="white-space:normal; text-align:left;" id="TBL-20-2-1"
class="td11"><!--l. 913--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-19-2-2" class="td11"><!--l. 916--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-20-2-2"
class="td11"><!--l. 913--><p class="noindent" ><span class="td11"><!--l. 916--><p class="noindent" ><span
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
class="cmr-12">&#x00A0;</span><a class="cmr-12">&#x00A0;</span><a
href="userhtmlse7.html#x26-300007"><span href="userhtmlse7.html#x26-300007"><span
class="cmr-12">7</span><!--tex4ht:ref: sec:errors --></a> <span class="cmr-12">7</span><!--tex4ht:ref: sec:errors --></a> <span
class="cmr-12">for details.</span> </td> class="cmr-12">for details.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-19-3-"><td style="white-space:normal; text-align:left;" id="TBL-19-3-1" style="vertical-align:baseline;" id="TBL-20-3-"><td style="white-space:normal; text-align:left;" id="TBL-20-3-1"
class="td11"> </td> </tr></table></div> class="td11"> </td> </tr></table></div>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 72--><div class="crosslinks"><p class="noindent"><span <!--l. 64--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a class="cmr-12">[</span><a
href="userhtmlsu3.html" ><span href="userhtmlsu3.html" ><span
class="cmr-12">next</span></a><span class="cmr-12">next</span></a><span
@ -31,13 +31,13 @@ class="cmr-12">] </span></p></div>
class="cmr-12">3.2 </span></span> <a class="cmr-12">3.2 </span></span> <a
id="x9-80003.2"></a><span id="x9-80003.2"></a><span
class="cmr-12">Optional third party libraries</span></h4> class="cmr-12">Optional third party libraries</span></h4>
<!--l. 74--><p class="noindent" ><span <!--l. 66--><p class="noindent" ><span
class="cmr-12">We provide interfaces to the following third-party software libraries; note that these are</span> class="cmr-12">We provide interfaces to the following third-party software libraries; note that these are</span>
<span <span
class="cmr-12">optional, but if you enable them some defaults for multilevel preconditioners may</span> class="cmr-12">optional, but if you enable them some defaults for multilevel preconditioners may</span>
<span <span
class="cmr-12">change to reflect their presence.</span> class="cmr-12">change to reflect their presence.</span>
<!--l. 78--><p class="indent" > <!--l. 70--><p class="indent" >
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-12">UMFPACK</span> </dt><dd class="cmbx-12">UMFPACK</span> </dt><dd
@ -133,7 +133,7 @@ class="cmr-12">.</span></dd></dl>
<!--l. 109--><div class="crosslinks"><p class="noindent"><span <!--l. 101--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a class="cmr-12">[</span><a
href="userhtmlsu3.html" ><span href="userhtmlsu3.html" ><span
class="cmr-12">next</span></a><span class="cmr-12">next</span></a><span
@ -150,6 +150,6 @@ class="cmr-12">] [</span><a
href="userhtmlse3.html#userhtmlsu2.html" ><span href="userhtmlse3.html#userhtmlsu2.html" ><span
class="cmr-12">up</span></a><span class="cmr-12">up</span></a><span
class="cmr-12">] </span></p></div> class="cmr-12">] </span></p></div>
<!--l. 109--><p class="indent" > <a <!--l. 101--><p class="indent" > <a
id="tailuserhtmlsu2.html"></a> id="tailuserhtmlsu2.html"></a>
</body></html> </body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 109--><div class="crosslinks"><p class="noindent"><span <!--l. 101--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a class="cmr-12">[</span><a
href="userhtmlsu4.html" ><span href="userhtmlsu4.html" ><span
class="cmr-12">next</span></a><span class="cmr-12">next</span></a><span
@ -31,15 +31,15 @@ class="cmr-12">] </span></p></div>
class="cmr-12">3.3 </span></span> <a class="cmr-12">3.3 </span></span> <a
id="x10-90003.3"></a><span id="x10-90003.3"></a><span
class="cmr-12">Configuration options</span></h4> class="cmr-12">Configuration options</span></h4>
<!--l. 111--><p class="noindent" ><span <!--l. 103--><p class="noindent" ><span
class="cmr-12">In order to build AMG4PSBLAS, the first step is to use the </span><span class="obeylines-h"><span class="verb"><span class="cmr-12">In order to build AMG4PSBLAS, the first step is to use the </span><span class="obeylines-h"><span class="verb"><span
class="cmtt-12">configure</span></span></span> <span class="cmtt-12">configure</span></span></span> <span
class="cmr-12">script in the</span> class="cmr-12">script in the</span>
<span <span
class="cmr-12">main directory to generate the necessary makefile.</span> class="cmr-12">main directory to generate the necessary makefile.</span>
<!--l. 116--><p class="indent" > <span <!--l. 108--><p class="indent" > <span
class="cmbx-12">DA RISCRIVERE</span> class="cmbx-12">DA RISCRIVERE</span>
<!--l. 118--><p class="indent" > <span <!--l. 110--><p class="indent" > <span
class="cmr-12">As a minimal example consider the following:</span> class="cmr-12">As a minimal example consider the following:</span>
@ -47,7 +47,7 @@ class="cmr-12">As a minimal example consider the following:</span>
<pre class="verbatim" id="verbatim-1"> <pre class="verbatim" id="verbatim-1">
./configure&#x00A0;--with-psblas=PSB-INSTALL-DIR ./configure&#x00A0;--with-psblas=PSB-INSTALL-DIR
</pre> </pre>
<!--l. 126--><p class="nopar" > <span <!--l. 118--><p class="nopar" > <span
class="cmr-12">which assumes that the various MPI compilers and support libraries are available in</span> class="cmr-12">which assumes that the various MPI compilers and support libraries are available in</span>
<span <span
class="cmr-12">the standard directories on the system, and specifies only the PSBLAS install directory</span> class="cmr-12">the standard directories on the system, and specifies only the PSBLAS install directory</span>
@ -61,7 +61,7 @@ class="cmtt-12">./configure</span><span
class="cmtt-12">&#x00A0;--help</span></span></span><span class="cmtt-12">&#x00A0;--help</span></span></span><span
class="cmr-12">, which</span> class="cmr-12">, which</span>
<span <span
class="cmr-12">produces: </span><!--l. 137--><div class="lstinputlisting"> class="cmr-12">produces: </span><!--l. 129--><div class="lstinputlisting">
<a <a
id="x10-9001"></a> id="x10-9001"></a>
<span <span
@ -4238,7 +4238,7 @@ class="cmtt-12">issues</span><span
class="cmtt-12">&#x003E;.</span> class="cmtt-12">&#x003E;.</span>
</div> </div>
<!--l. 139--><p class="noindent" ><span <!--l. 131--><p class="noindent" ><span
class="cmr-12">For instance, if a user has built and installed PSBLAS 3.7 under the </span><span class="obeylines-h"><span class="verb"><span class="cmr-12">For instance, if a user has built and installed PSBLAS 3.7 under the </span><span class="obeylines-h"><span class="verb"><span
class="cmtt-12">/opt</span></span></span> <span class="cmtt-12">/opt</span></span></span> <span
class="cmr-12">directory and is</span> class="cmr-12">directory and is</span>
@ -4253,7 +4253,7 @@ class="cmr-12">might be configured with:</span>
./configure&#x00A0;--with-psblas=/opt/psblas-3.5/&#x00A0;\ ./configure&#x00A0;--with-psblas=/opt/psblas-3.5/&#x00A0;\
--with-umfpackincdir=/usr/include/suitesparse/ --with-umfpackincdir=/usr/include/suitesparse/
</pre> </pre>
<!--l. 151--><p class="nopar" > <span <!--l. 143--><p class="nopar" > <span
class="cmr-12">Once the configure script has completed execution, it will have generated the file</span> class="cmr-12">Once the configure script has completed execution, it will have generated the file</span>
<span class="obeylines-h"><span class="verb"><span <span class="obeylines-h"><span class="verb"><span
class="cmtt-12">Make.inc</span></span></span> <span class="cmtt-12">Make.inc</span></span></span> <span
@ -4262,7 +4262,7 @@ class="cmr-12">which will then be used by all Makefiles in the directory tree; t
class="cmr-12">copied in the install directory under the name </span><span class="obeylines-h"><span class="verb"><span class="cmr-12">copied in the install directory under the name </span><span class="obeylines-h"><span class="verb"><span
class="cmtt-12">Make.inc.AMG4PSBLAS</span></span></span><span class="cmtt-12">Make.inc.AMG4PSBLAS</span></span></span><span
class="cmr-12">.</span> class="cmr-12">.</span>
<!--l. 158--><p class="indent" > <span <!--l. 150--><p class="indent" > <span
class="cmr-12">To use the MUMPS solver package, the user has to add the appropriate options to</span> class="cmr-12">To use the MUMPS solver package, the user has to add the appropriate options to</span>
<span <span
class="cmr-12">the configure script; by default we are looking for the libraries </span><span class="obeylines-h"><span class="verb"><span class="cmr-12">the configure script; by default we are looking for the libraries </span><span class="obeylines-h"><span class="verb"><span
@ -4282,7 +4282,7 @@ class="cmtt-12">--with-extra-libs</span></span></span> <span
class="cmr-12">configure</span> class="cmr-12">configure</span>
<span <span
class="cmr-12">option.</span> class="cmr-12">option.</span>
<!--l. 166--><p class="indent" > <span <!--l. 158--><p class="indent" > <span
class="cmr-12">To build the library the user will now enter</span> class="cmr-12">To build the library the user will now enter</span>
@ -4290,7 +4290,7 @@ class="cmr-12">To build the library the user will now enter</span>
<pre class="verbatim" id="verbatim-3"> <pre class="verbatim" id="verbatim-3">
make make
</pre> </pre>
<!--l. 174--><p class="nopar" > <span <!--l. 166--><p class="nopar" > <span
class="cmr-12">followed (optionally) by</span> class="cmr-12">followed (optionally) by</span>
@ -4298,11 +4298,11 @@ class="cmr-12">followed (optionally) by</span>
<pre class="verbatim" id="verbatim-4"> <pre class="verbatim" id="verbatim-4">
make&#x00A0;install make&#x00A0;install
</pre> </pre>
<!--l. 184--><p class="nopar" > <!--l. 176--><p class="nopar" >
<!--l. 186--><div class="crosslinks"><p class="noindent"><span <!--l. 178--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a class="cmr-12">[</span><a
href="userhtmlsu4.html" ><span href="userhtmlsu4.html" ><span
class="cmr-12">next</span></a><span class="cmr-12">next</span></a><span
@ -4319,6 +4319,6 @@ class="cmr-12">] [</span><a
href="userhtmlse3.html#userhtmlsu3.html" ><span href="userhtmlse3.html#userhtmlsu3.html" ><span
class="cmr-12">up</span></a><span class="cmr-12">up</span></a><span
class="cmr-12">] </span></p></div> class="cmr-12">] </span></p></div>
<!--l. 186--><p class="indent" > <a <!--l. 178--><p class="indent" > <a
id="tailuserhtmlsu3.html"></a> id="tailuserhtmlsu3.html"></a>
</body></html> </body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 186--><div class="crosslinks"><p class="noindent"><span <!--l. 178--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a class="cmr-12">[</span><a
href="userhtmlsu5.html" ><span href="userhtmlsu5.html" ><span
class="cmr-12">next</span></a><span class="cmr-12">next</span></a><span
@ -31,7 +31,7 @@ class="cmr-12">] </span></p></div>
class="cmr-12">3.4 </span></span> <a class="cmr-12">3.4 </span></span> <a
id="x11-100003.4"></a><span id="x11-100003.4"></a><span
class="cmr-12">Bug reporting</span></h4> class="cmr-12">Bug reporting</span></h4>
<!--l. 187--><p class="noindent" ><span <!--l. 179--><p class="noindent" ><span
class="cmr-12">If you find any bugs in our codes, please report them through our issues page</span> class="cmr-12">If you find any bugs in our codes, please report them through our issues page</span>
<span <span
class="cmr-12">on</span><br class="cmr-12">on</span><br
@ -39,7 +39,7 @@ class="newline" /> <a
href="https://github.com/psctoolkit/amg4psblas/issues" class="url" ><span href="https://github.com/psctoolkit/amg4psblas/issues" class="url" ><span
class="cmtt-12">https://github.com/psctoolkit/amg4psblas/issues</span></a><br class="cmtt-12">https://github.com/psctoolkit/amg4psblas/issues</span></a><br
class="newline" /> class="newline" />
<!--l. 191--><p class="indent" > <span <!--l. 183--><p class="indent" > <span
class="cmr-12">To enable us to track the bug, please provide a log from the failing application, the</span> class="cmr-12">To enable us to track the bug, please provide a log from the failing application, the</span>
<span <span
class="cmr-12">test conditions, and ideally a self-contained test program reproducing the</span> class="cmr-12">test conditions, and ideally a self-contained test program reproducing the</span>
@ -48,7 +48,7 @@ class="cmr-12">issue.</span>
<!--l. 195--><div class="crosslinks"><p class="noindent"><span <!--l. 187--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a class="cmr-12">[</span><a
href="userhtmlsu5.html" ><span href="userhtmlsu5.html" ><span
class="cmr-12">next</span></a><span class="cmr-12">next</span></a><span
@ -65,6 +65,6 @@ class="cmr-12">] [</span><a
href="userhtmlse3.html#userhtmlsu4.html" ><span href="userhtmlse3.html#userhtmlsu4.html" ><span
class="cmr-12">up</span></a><span class="cmr-12">up</span></a><span
class="cmr-12">] </span></p></div> class="cmr-12">] </span></p></div>
<!--l. 195--><p class="indent" > <a <!--l. 187--><p class="indent" > <a
id="tailuserhtmlsu4.html"></a> id="tailuserhtmlsu4.html"></a>
</body></html> </body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 195--><div class="crosslinks"><p class="noindent"><span <!--l. 187--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a class="cmr-12">[</span><a
href="userhtmlsu4.html" ><span href="userhtmlsu4.html" ><span
class="cmr-12">prev</span></a><span class="cmr-12">prev</span></a><span
@ -28,7 +28,7 @@ class="cmr-12">] </span></p></div>
class="cmr-12">3.5 </span></span> <a class="cmr-12">3.5 </span></span> <a
id="x12-110003.5"></a><span id="x12-110003.5"></a><span
class="cmr-12">Example and test programs</span></h4> class="cmr-12">Example and test programs</span></h4>
<!--l. 196--><p class="noindent" ><span <!--l. 188--><p class="noindent" ><span
class="cmr-12">The package contains the </span><span class="obeylines-h"><span class="verb"><span class="cmr-12">The package contains the </span><span class="obeylines-h"><span class="verb"><span
class="cmtt-12">examples</span></span></span> <span class="cmtt-12">examples</span></span></span> <span
class="cmr-12">and </span><span class="obeylines-h"><span class="verb"><span class="cmr-12">and </span><span class="obeylines-h"><span class="verb"><span
@ -62,7 +62,7 @@ class="cmtt-12">runs</span></span></span> <span
class="cmr-12">subdirectories, to experiment with the full range</span> class="cmr-12">subdirectories, to experiment with the full range</span>
<span <span
class="cmr-12">of preconditioners implemented in the package.</span></dd></dl> class="cmr-12">of preconditioners implemented in the package.</span></dd></dl>
<!--l. 209--><p class="noindent" ><span <!--l. 201--><p class="noindent" ><span
class="cmr-12">The </span><span class="obeylines-h"><span class="verb"><span class="cmr-12">The </span><span class="obeylines-h"><span class="verb"><span
class="cmtt-12">fileread</span></span></span> <span class="cmtt-12">fileread</span></span></span> <span
class="cmr-12">directories contain sample programs that read sparse matrices from files,</span> class="cmr-12">directories contain sample programs that read sparse matrices from files,</span>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 107--><div class="crosslinks"><p class="noindent"><span <!--l. 114--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a class="cmr-12">[</span><a
href="#tailuserhtmlsu6.html"><span href="#tailuserhtmlsu6.html"><span
class="cmr-12">tail</span></a><span class="cmr-12">tail</span></a><span
@ -22,7 +22,7 @@ class="cmr-12">] </span></p></div>
class="cmr-12">4.1 </span></span> <a class="cmr-12">4.1 </span></span> <a
id="x14-130004.1"></a><span id="x14-130004.1"></a><span
class="cmr-12">Examples</span></h4> class="cmr-12">Examples</span></h4>
<!--l. 109--><p class="noindent" ><span <!--l. 116--><p class="noindent" ><span
class="cmr-12">The code reported in Figure</span><span class="cmr-12">The code reported in Figure</span><span
class="cmr-12">&#x00A0;</span><a class="cmr-12">&#x00A0;</span><a
href="#x14-13001r1"><span href="#x14-13001r1"><span
@ -63,46 +63,45 @@ class="cmtt-12">psb_krylov_mod</span> <span
class="cmr-12">must be used by the example</span> class="cmr-12">must be used by the example</span>
<span <span
class="cmr-12">program.</span> class="cmr-12">program.</span>
<!--l. 119--><p class="indent" > <span <!--l. 126--><p class="indent" > <span
class="cmr-12">The part of the code concerning the reading and assembling of the sparse matrix</span> class="cmr-12">The part of the code dealing with reading and assembling the sparse matrix and the</span>
<span <span
class="cmr-12">and the right-hand side vector, performed through the PSBLAS routines for sparse</span> class="cmr-12">right-hand side vector and the deallocation of the relevant data structured, performed</span>
<span <span
class="cmr-12">matrix and vector management, is not reported here for brevity; the statements</span> class="cmr-12">through the PSBLAS routines for sparse matrix and vector management, is not</span>
<span <span
class="cmr-12">concerning the deallocation of the PSBLAS data structure are neglected too. The</span> class="cmr-12">reported here for the sake of conciseness. The complete code can be found in the</span>
<span <span
class="cmr-12">complete code can be found in the example program file </span><span class="obeylines-h"><span class="verb"><span class="cmr-12">example program file </span><span class="obeylines-h"><span class="verb"><span
class="cmtt-12">amg_dexample_ml.f90</span></span></span><span class="cmtt-12">amg_dexample_ml.f90</span></span></span><span
class="cmr-12">, in the</span> class="cmr-12">, in the directory </span><span class="obeylines-h"><span class="verb"><span
<span
class="cmr-12">directory </span><span class="obeylines-h"><span class="verb"><span
class="cmtt-12">examples/fileread</span></span></span> <span class="cmtt-12">examples/fileread</span></span></span> <span
class="cmr-12">of the AMG4PSBLAS implementation (see</span> class="cmr-12">of</span>
<span <span
class="cmr-12">Section</span><span class="cmr-12">the AMG4PSBLAS implementation (see Section</span><span
class="cmr-12">&#x00A0;</span><a class="cmr-12">&#x00A0;</span><a
href="userhtmlsu5.html#x12-110003.5"><span href="userhtmlsu5.html#x12-110003.5"><span
class="cmr-12">3.5</span><!--tex4ht:ref: sec:ex_and_test --></a><span class="cmr-12">3.5</span><!--tex4ht:ref: sec:ex_and_test --></a><span
class="cmr-12">). A sample test problem along with the relevant input data is available in</span> class="cmr-12">). A sample test problem along</span>
<span class="obeylines-h"><span class="verb"><span <span
class="cmr-12">with the relevant input data is available in </span><span class="obeylines-h"><span class="verb"><span
class="cmtt-12">examples/fileread/runs</span></span></span><span class="cmtt-12">examples/fileread/runs</span></span></span><span
class="cmr-12">. For details on the use of the PSBLAS routines, see the</span> class="cmr-12">. For details on</span>
<span <span
class="cmr-12">PSBLAS User&#8217;s Guide</span><span class="cmr-12">the use of the PSBLAS routines, see the PSBLAS User&#8217;s Guide</span><span
class="cmr-12">&#x00A0;</span><span class="cite"><span class="cmr-12">&#x00A0;</span><span class="cite"><span
class="cmr-12">[</span><a class="cmr-12">[</span><a
href="userhtmlli4.html#XPSBLASGUIDE"><span href="userhtmlli4.html#XPSBLASGUIDE"><span
class="cmr-12">17</span></a><span class="cmr-12">17</span></a><span
class="cmr-12">]</span></span><span class="cmr-12">]</span></span><span
class="cmr-12">.</span> class="cmr-12">.</span>
<!--l. 131--><p class="indent" > <span <!--l. 138--><p class="indent" > <span
class="cmr-12">The setup and application of the default multilevel preconditioner for the real single</span> class="cmr-12">The setup and application of the default multilevel preconditioner for the real single</span>
<span
class="cmr-12">precision and the complex, single and double precision, versions are obtained</span>
<span
class="cmr-12">precision and the complex, single and double precision, versions are obtained</span>
<span <span
class="cmr-12">with straightforward modifications of the previous example (see Section</span><span class="cmr-12">with straightforward modifications of the previous example (see Section</span><span
class="cmr-12">&#x00A0;</span><a class="cmr-12">&#x00A0;</span><a
@ -117,7 +116,7 @@ class="cmr-12">.</span>
<!--l. 137--><p class="indent" > <a <!--l. 144--><p class="indent" > <a
id="x14-13001r1"></a><hr class="float"><div class="float" id="x14-13001r1"></a><hr class="float"><div class="float"
> >
@ -125,7 +124,7 @@ class="cmr-12">.</span>
<div class="center" <div class="center"
> >
<!--l. 138--><p class="noindent" > <!--l. 145--><p class="noindent" >
@ -181,7 +180,7 @@ class="cmr-12">.</span>
&#x00A0;&#x00A0;call&#x00A0;psb_exit(ctxt) &#x00A0;&#x00A0;call&#x00A0;psb_exit(ctxt)
&#x00A0;&#x00A0;stop &#x00A0;&#x00A0;stop
</pre> </pre>
<!--l. 248--><p class="nopar" > <!--l. 255--><p class="nopar" >
</div> </div>
@ -194,7 +193,7 @@ class="content">setup and application of the default multilevel preconditioner (
</div><hr class="endfloat" /> </div><hr class="endfloat" />
<!--l. 257--><p class="indent" > <span <!--l. 264--><p class="indent" > <span
class="cmr-12">Different versions of the multilevel preconditioner can be obtained by changing the</span> class="cmr-12">Different versions of the multilevel preconditioner can be obtained by changing the</span>
<span <span
class="cmr-12">default values of the preconditioner parameters. The code reported in Figure</span><span class="cmr-12">default values of the preconditioner parameters. The code reported in Figure</span><span
@ -250,7 +249,7 @@ class="cmr-12">too. </span><span
class="cmbx-12">DA CORREGGERE NEL CODICE ESEMPIO</span> class="cmbx-12">DA CORREGGERE NEL CODICE ESEMPIO</span>
<span <span
class="cmbx-12">3</span> class="cmbx-12">3</span>
<!--l. 281--><p class="indent" > <span <!--l. 288--><p class="indent" > <span
class="cmr-12">Finally, Figure</span><span class="cmr-12">Finally, Figure</span><span
class="cmr-12">&#x00A0;</span><a class="cmr-12">&#x00A0;</span><a
href="#x14-13004r4"><span href="#x14-13004r4"><span
@ -265,7 +264,7 @@ class="cmr-12">nonsymmetric. The corresponding example program is available in t
<span class="obeylines-h"><span class="verb"><span <span class="obeylines-h"><span class="verb"><span
class="cmtt-12">amg_dexample_1lev.f90</span></span></span><span class="cmtt-12">amg_dexample_1lev.f90</span></span></span><span
class="cmr-12">.</span> class="cmr-12">.</span>
<!--l. 288--><p class="indent" > <span <!--l. 295--><p class="indent" > <span
class="cmr-12">For all the previous preconditioners, example programs where the sparse matrix</span> class="cmr-12">For all the previous preconditioners, example programs where the sparse matrix</span>
<span <span
class="cmr-12">and the right-hand side are generated by discretizing a PDE with Dirichlet</span> class="cmr-12">and the right-hand side are generated by discretizing a PDE with Dirichlet</span>
@ -276,7 +275,7 @@ class="cmr-12">.</span>
<!--l. 291--><p class="indent" > <a <!--l. 298--><p class="indent" > <a
id="x14-13002r2"></a><hr class="float"><div class="float" id="x14-13002r2"></a><hr class="float"><div class="float"
> >
@ -284,7 +283,7 @@ class="cmr-12">.</span>
<div class="center" <div class="center"
> >
<!--l. 305--><p class="noindent" > <!--l. 312--><p class="noindent" >
<div class="minipage"><pre class="verbatim" id="verbatim-6"> <div class="minipage"><pre class="verbatim" id="verbatim-6">
...&#x00A0;... ...&#x00A0;...
!&#x00A0;build&#x00A0;a&#x00A0;V-cycle&#x00A0;preconditioner&#x00A0;with&#x00A0;1&#x00A0;block-Jacobi&#x00A0;sweep&#x00A0;(with !&#x00A0;build&#x00A0;a&#x00A0;V-cycle&#x00A0;preconditioner&#x00A0;with&#x00A0;1&#x00A0;block-Jacobi&#x00A0;sweep&#x00A0;(with
@ -298,7 +297,7 @@ class="cmr-12">.</span>
&#x00A0;&#x00A0;call&#x00A0;P%smoothers_build(A,desc_A,info) &#x00A0;&#x00A0;call&#x00A0;P%smoothers_build(A,desc_A,info)
...&#x00A0;... ...&#x00A0;...
</pre> </pre>
<!--l. 320--><p class="nopar" ></div></div> <!--l. 327--><p class="nopar" ></div></div>
<br /><div class="caption" <br /><div class="caption"
><span class="id">Listing 2: </span><span ><span class="id">Listing 2: </span><span
class="content">setup of a multilevel preconditioner based on the default decoupled coarsening</span></div><!--tex4ht:label?: x14-13002r2 --> class="content">setup of a multilevel preconditioner based on the default decoupled coarsening</span></div><!--tex4ht:label?: x14-13002r2 -->
@ -309,7 +308,7 @@ class="content">setup of a multilevel preconditioner based on the default decoup
<!--l. 327--><p class="indent" > <a <!--l. 334--><p class="indent" > <a
id="x14-13003r3"></a><hr class="float"><div class="float" id="x14-13003r3"></a><hr class="float"><div class="float"
> >
@ -317,7 +316,7 @@ class="content">setup of a multilevel preconditioner based on the default decoup
<div class="center" <div class="center"
> >
<!--l. 344--><p class="noindent" > <!--l. 351--><p class="noindent" >
<div class="minipage"><pre class="verbatim" id="verbatim-7"> <div class="minipage"><pre class="verbatim" id="verbatim-7">
...&#x00A0;... ...&#x00A0;...
!&#x00A0;build&#x00A0;a&#x00A0;W-cycle&#x00A0;preconditioner&#x00A0;with&#x00A0;2&#x00A0;hybrid&#x00A0;Gauss-Seidel&#x00A0;sweeps !&#x00A0;build&#x00A0;a&#x00A0;W-cycle&#x00A0;preconditioner&#x00A0;with&#x00A0;2&#x00A0;hybrid&#x00A0;Gauss-Seidel&#x00A0;sweeps
@ -334,7 +333,7 @@ class="content">setup of a multilevel preconditioner based on the default decoup
&#x00A0;&#x00A0;call&#x00A0;P%smoothers_build(A,desc_A,info) &#x00A0;&#x00A0;call&#x00A0;P%smoothers_build(A,desc_A,info)
...&#x00A0;... ...&#x00A0;...
</pre> </pre>
<!--l. 362--><p class="nopar" ></div></div> <!--l. 369--><p class="nopar" ></div></div>
<br /> <div class="caption" <br /> <div class="caption"
><span class="id">Listing 3: </span><span ><span class="id">Listing 3: </span><span
class="content">setup of a multilevel preconditioner based on the coupled coarsening based class="content">setup of a multilevel preconditioner based on the coupled coarsening based
@ -346,7 +345,7 @@ on weighted matching</span></div><!--tex4ht:label?: x14-13003r3 -->
<!--l. 369--><p class="indent" > <a <!--l. 376--><p class="indent" > <a
id="x14-13004r4"></a><hr class="float"><div class="float" id="x14-13004r4"></a><hr class="float"><div class="float"
> >
@ -354,7 +353,7 @@ on weighted matching</span></div><!--tex4ht:label?: x14-13003r3 -->
<div class="center" <div class="center"
> >
<!--l. 386--><p class="noindent" > <!--l. 393--><p class="noindent" >
<div class="minipage"><pre class="verbatim" id="verbatim-8"> <div class="minipage"><pre class="verbatim" id="verbatim-8">
...&#x00A0;... ...&#x00A0;...
!&#x00A0;set&#x00A0;RAS&#x00A0;with&#x00A0;overlap&#x00A0;2&#x00A0;and&#x00A0;ILU(0)&#x00A0;on&#x00A0;the&#x00A0;local&#x00A0;blocks !&#x00A0;set&#x00A0;RAS&#x00A0;with&#x00A0;overlap&#x00A0;2&#x00A0;and&#x00A0;ILU(0)&#x00A0;on&#x00A0;the&#x00A0;local&#x00A0;blocks
@ -365,7 +364,7 @@ on weighted matching</span></div><!--tex4ht:label?: x14-13003r3 -->
!&#x00A0;solve&#x00A0;Ax=b&#x00A0;with&#x00A0;preconditioned&#x00A0;BiCGSTAB !&#x00A0;solve&#x00A0;Ax=b&#x00A0;with&#x00A0;preconditioned&#x00A0;BiCGSTAB
&#x00A0;&#x00A0;call&#x00A0;psb_krylov(&#8217;BICGSTAB&#8217;,A,P,b,x,tol,desc_A,info) &#x00A0;&#x00A0;call&#x00A0;psb_krylov(&#8217;BICGSTAB&#8217;,A,P,b,x,tol,desc_A,info)
</pre> </pre>
<!--l. 398--><p class="nopar" ></div></div> <!--l. 405--><p class="nopar" ></div></div>
<br /> <div class="caption" <br /> <div class="caption"
><span class="id">Listing 4: </span><span ><span class="id">Listing 4: </span><span
class="content">setup of a one-level Schwarz preconditioner.</span></div><!--tex4ht:label?: x14-13004r4 --> class="content">setup of a one-level Schwarz preconditioner.</span></div><!--tex4ht:label?: x14-13004r4 -->

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 43--><div class="crosslinks"><p class="noindent"><span <!--l. 42--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a class="cmr-12">[</span><a
href="userhtmlsu8.html" ><span href="userhtmlsu8.html" ><span
class="cmr-12">next</span></a><span class="cmr-12">next</span></a><span
@ -27,8 +27,8 @@ class="cmr-12">5.1 </span></span> <a
class="cmr-12">Method init</span></h4> class="cmr-12">Method init</span></h4>
<div class="center" <div class="center"
> >
<!--l. 45--><p class="noindent" > <!--l. 44--><p class="noindent" >
<!--l. 46--><p class="noindent" ><span class="lstinline"></span><span <!--l. 45--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">call</span><span class="cmtt-12">call</span><span
class="cmtt-12">&#x00A0;</span><span class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">p</span><span class="cmtt-12">p</span><span
@ -41,13 +41,13 @@ class="cmtt-12">ptype</span><span
class="cmtt-12">,</span><span class="cmtt-12">,</span><span
class="cmtt-12">info</span><span class="cmtt-12">info</span><span
class="cmtt-12">)</span></div> class="cmtt-12">)</span></div>
<!--l. 49--><p class="noindent" ><span <!--l. 48--><p class="noindent" ><span
class="cmr-12">This method allocates and initializes the preconditioner </span><span class="lstinline"></span><span class="cmr-12">This method allocates and initializes the preconditioner </span><span class="lstinline"></span><span
class="cmtt-12">p</span><span class="cmtt-12">p</span><span
class="cmr-12">, according to the</span> class="cmr-12">, according to the</span>
<span <span
class="cmr-12">preconditioner type chosen by the user.</span> class="cmr-12">preconditioner type chosen by the user.</span>
<!--l. 53--><p class="noindent" ><span <!--l. 52--><p class="noindent" ><span
class="cmbx-12">Arguments</span> class="cmbx-12">Arguments</span>
<div class="tabular"> <table id="TBL-2" class="tabular" <div class="tabular"> <table id="TBL-2" class="tabular"
cellspacing="0" cellpadding="0" cellspacing="0" cellpadding="0"
@ -55,9 +55,9 @@ cellspacing="0" cellpadding="0"
id="TBL-2-1"><col id="TBL-2-1"><col
id="TBL-2-2"></colgroup><tr id="TBL-2-2"></colgroup><tr
style="vertical-align:baseline;" id="TBL-2-1-"><td style="white-space:normal; text-align:left;" id="TBL-2-1-1" style="vertical-align:baseline;" id="TBL-2-1-"><td style="white-space:normal; text-align:left;" id="TBL-2-1-1"
class="td11"><!--l. 57--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 56--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">contxt</span> </td> <td style="white-space:normal; text-align:left;" id="TBL-2-1-2" class="cmtt-12">contxt</span> </td> <td style="white-space:normal; text-align:left;" id="TBL-2-1-2"
class="td11"><!--l. 57--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 56--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">type</span><span class="cmtt-12">type</span><span
class="cmtt-12">(</span><span class="cmtt-12">(</span><span
class="cmtt-12">psb_ctxt_type</span><span class="cmtt-12">psb_ctxt_type</span><span
@ -70,13 +70,13 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-2-2-"><td style="white-space:normal; text-align:left;" id="TBL-2-2-1" style="vertical-align:baseline;" id="TBL-2-2-"><td style="white-space:normal; text-align:left;" id="TBL-2-2-1"
class="td11"><!--l. 58--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-2-2-2" class="td11"><!--l. 57--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-2-2-2"
class="td11"><!--l. 58--><p class="noindent" ><span class="td11"><!--l. 57--><p class="noindent" ><span
class="cmr-12">The communication context.</span> </td></tr><tr class="cmr-12">The communication context.</span> </td></tr><tr
style="vertical-align:baseline;" id="TBL-2-3-"><td style="white-space:normal; text-align:left;" id="TBL-2-3-1" style="vertical-align:baseline;" id="TBL-2-3-"><td style="white-space:normal; text-align:left;" id="TBL-2-3-1"
class="td11"><!--l. 59--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 58--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">ptype</span> </td> <td style="white-space:normal; text-align:left;" id="TBL-2-3-2" class="cmtt-12">ptype</span> </td> <td style="white-space:normal; text-align:left;" id="TBL-2-3-2"
class="td11"><!--l. 59--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 58--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">character</span><span class="cmtt-12">character</span><span
class="cmtt-12">(</span><span class="cmtt-12">(</span><span
class="cmtt-12">len</span><span class="cmtt-12">len</span><span
@ -89,8 +89,8 @@ class="cmtt-12">)</span> <span
class="cmr-12">.</span></td> class="cmr-12">.</span></td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-2-4-"><td style="white-space:normal; text-align:left;" id="TBL-2-4-1" style="vertical-align:baseline;" id="TBL-2-4-"><td style="white-space:normal; text-align:left;" id="TBL-2-4-1"
class="td11"><!--l. 60--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-2-4-2" class="td11"><!--l. 59--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-2-4-2"
class="td11"><!--l. 60--><p class="noindent" ><span class="td11"><!--l. 59--><p class="noindent" ><span
class="cmr-12">The type of preconditioner. Its values are specified in Table</span><span class="cmr-12">The type of preconditioner. Its values are specified in Table</span><span
class="cmr-12">&#x00A0;</span><a class="cmr-12">&#x00A0;</span><a
href="userhtmlse4.html#x13-12015r1"><span href="userhtmlse4.html#x13-12015r1"><span
@ -98,14 +98,14 @@ class="cmr-12">1</span><!--tex4ht:ref: tab:precinit --></a><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-2-5-"><td style="white-space:normal; text-align:left;" id="TBL-2-5-1" style="vertical-align:baseline;" id="TBL-2-5-"><td style="white-space:normal; text-align:left;" id="TBL-2-5-1"
class="td11"><!--l. 62--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-2-5-2" class="td11"><!--l. 61--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-2-5-2"
class="td11"><!--l. 62--><p class="noindent" ><span class="td11"><!--l. 61--><p class="noindent" ><span
class="cmr-12">Note that the strings are case insensitive.</span> </td> class="cmr-12">Note that strings are case insensitive.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-2-6-"><td style="white-space:normal; text-align:left;" id="TBL-2-6-1" style="vertical-align:baseline;" id="TBL-2-6-"><td style="white-space:normal; text-align:left;" id="TBL-2-6-1"
class="td11"><!--l. 63--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 62--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">info</span> </td><td style="white-space:normal; text-align:left;" id="TBL-2-6-2" class="cmtt-12">info</span> </td><td style="white-space:normal; text-align:left;" id="TBL-2-6-2"
class="td11"><!--l. 63--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 62--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">integer</span><span class="cmtt-12">integer</span><span
class="cmtt-12">,</span><span class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span class="cmtt-12">&#x00A0;</span><span
@ -116,8 +116,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-2-7-"><td style="white-space:normal; text-align:left;" id="TBL-2-7-1" style="vertical-align:baseline;" id="TBL-2-7-"><td style="white-space:normal; text-align:left;" id="TBL-2-7-1"
class="td11"><!--l. 64--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-2-7-2" class="td11"><!--l. 63--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-2-7-2"
class="td11"><!--l. 64--><p class="noindent" ><span class="td11"><!--l. 63--><p class="noindent" ><span
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
class="cmr-12">&#x00A0;</span><a class="cmr-12">&#x00A0;</span><a
href="userhtmlse7.html#x26-300007"><span href="userhtmlse7.html#x26-300007"><span
@ -132,7 +132,7 @@ class="td11"> </td> </tr></table></div>
<!--l. 73--><div class="crosslinks"><p class="noindent"><span <!--l. 72--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a class="cmr-12">[</span><a
href="userhtmlsu8.html" ><span href="userhtmlsu8.html" ><span
class="cmr-12">next</span></a><span class="cmr-12">next</span></a><span
@ -143,6 +143,6 @@ class="cmr-12">] [</span><a
href="userhtmlse5.html#userhtmlsu7.html" ><span href="userhtmlse5.html#userhtmlsu7.html" ><span
class="cmr-12">up</span></a><span class="cmr-12">up</span></a><span
class="cmr-12">] </span></p></div> class="cmr-12">] </span></p></div>
<!--l. 73--><p class="indent" > <a <!--l. 72--><p class="indent" > <a
id="tailuserhtmlsu7.html"></a> id="tailuserhtmlsu7.html"></a>
</body></html> </body></html>

File diff suppressed because it is too large Load Diff

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 594--><div class="crosslinks"><p class="noindent"><span <!--l. 592--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a class="cmr-12">[</span><a
href="userhtmlsu10.html" ><span href="userhtmlsu10.html" ><span
class="cmr-12">next</span></a><span class="cmr-12">next</span></a><span
@ -34,8 +34,8 @@ class="cmr-12">Method hierarchy</span><span
class="cmr-12">_build</span></h4> class="cmr-12">_build</span></h4>
<div class="center" <div class="center"
> >
<!--l. 596--><p class="noindent" > <!--l. 594--><p class="noindent" >
<!--l. 597--><p class="noindent" ><span class="lstinline"></span><span <!--l. 595--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">call</span><span class="cmtt-12">call</span><span
class="cmtt-12">&#x00A0;</span><span class="cmtt-12">&#x00A0;</span><span
class="cmtt-12">p</span><span class="cmtt-12">p</span><span
@ -49,7 +49,7 @@ class="cmtt-12">,</span><span
class="cmtt-12">info</span><span class="cmtt-12">info</span><span
class="cmtt-12">)</span><br /> class="cmtt-12">)</span><br />
</div> </div>
<!--l. 600--><p class="noindent" ><span <!--l. 598--><p class="noindent" ><span
class="cmr-12">This method builds the hierarchy of matrices and restriction/prolongation operators for</span> class="cmr-12">This method builds the hierarchy of matrices and restriction/prolongation operators for</span>
<span <span
class="cmr-12">the multilevel preconditioner </span><span class="lstinline"></span><span class="cmr-12">the multilevel preconditioner </span><span class="lstinline"></span><span
@ -61,7 +61,7 @@ class="cmtt-12">init</span> <span
class="cmr-12">and </span><span class="lstinline"></span><span class="cmr-12">and </span><span class="lstinline"></span><span
class="cmtt-12">set</span><span class="cmtt-12">set</span><span
class="cmr-12">.</span> class="cmr-12">.</span>
<!--l. 605--><p class="noindent" ><span <!--l. 603--><p class="noindent" ><span
class="cmbx-12">Arguments</span> class="cmbx-12">Arguments</span>
<div class="tabular"> <table id="TBL-10" class="tabular" <div class="tabular"> <table id="TBL-10" class="tabular"
cellspacing="0" cellpadding="0" cellspacing="0" cellpadding="0"
@ -69,9 +69,9 @@ cellspacing="0" cellpadding="0"
id="TBL-10-1"><col id="TBL-10-1"><col
id="TBL-10-2"></colgroup><tr id="TBL-10-2"></colgroup><tr
style="vertical-align:baseline;" id="TBL-10-1-"><td style="white-space:normal; text-align:left;" id="TBL-10-1-1" style="vertical-align:baseline;" id="TBL-10-1-"><td style="white-space:normal; text-align:left;" id="TBL-10-1-1"
class="td11"><!--l. 608--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 606--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">a</span> </td><td style="white-space:normal; text-align:left;" id="TBL-10-1-2" class="cmtt-12">a</span> </td><td style="white-space:normal; text-align:left;" id="TBL-10-1-2"
class="td11"><!--l. 608--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 606--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">type</span><span class="cmtt-12">type</span><span
class="cmtt-12">(</span><span class="cmtt-12">(</span><span
class="cmtt-12">psb_</span><span class="cmtt-12">psb_</span><span
@ -86,8 +86,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-10-2-"><td style="white-space:normal; text-align:left;" id="TBL-10-2-1" style="vertical-align:baseline;" id="TBL-10-2-"><td style="white-space:normal; text-align:left;" id="TBL-10-2-1"
class="td11"><!--l. 609--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-10-2-2" class="td11"><!--l. 607--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-10-2-2"
class="td11"><!--l. 609--><p class="noindent" ><span class="td11"><!--l. 607--><p class="noindent" ><span
class="cmr-12">The sparse matrix structure containing the local part of the matrix</span> class="cmr-12">The sparse matrix structure containing the local part of the matrix</span>
<span <span
class="cmr-12">to be preconditioned. Note that </span><span class="cmr-12">to be preconditioned. Note that </span><span
@ -107,9 +107,9 @@ class="cmr-12">]</span></span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-10-3-"><td style="white-space:normal; text-align:left;" id="TBL-10-3-1" style="vertical-align:baseline;" id="TBL-10-3-"><td style="white-space:normal; text-align:left;" id="TBL-10-3-1"
class="td11"><!--l. 614--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 612--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">desc_a</span></td><td style="white-space:normal; text-align:left;" id="TBL-10-3-2" class="cmtt-12">desc_a</span></td><td style="white-space:normal; text-align:left;" id="TBL-10-3-2"
class="td11"><!--l. 614--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 612--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">type</span><span class="cmtt-12">type</span><span
class="cmtt-12">(</span><span class="cmtt-12">(</span><span
class="cmtt-12">psb_desc_type</span><span class="cmtt-12">psb_desc_type</span><span
@ -122,8 +122,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-10-4-"><td style="white-space:normal; text-align:left;" id="TBL-10-4-1" style="vertical-align:baseline;" id="TBL-10-4-"><td style="white-space:normal; text-align:left;" id="TBL-10-4-1"
class="td11"><!--l. 615--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-10-4-2" class="td11"><!--l. 613--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-10-4-2"
class="td11"><!--l. 615--><p class="noindent" ><span class="td11"><!--l. 613--><p class="noindent" ><span
class="cmr-12">The communication descriptor of </span><span class="lstinline"></span><span class="cmr-12">The communication descriptor of </span><span class="lstinline"></span><span
class="cmtt-12">a</span><span class="cmtt-12">a</span><span
class="cmr-12">. See the PSBLAS User&#8217;s Guide</span> class="cmr-12">. See the PSBLAS User&#8217;s Guide</span>
@ -136,9 +136,9 @@ class="cmr-12">]</span></span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-10-5-"><td style="white-space:normal; text-align:left;" id="TBL-10-5-1" style="vertical-align:baseline;" id="TBL-10-5-"><td style="white-space:normal; text-align:left;" id="TBL-10-5-1"
class="td11"><!--l. 617--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 615--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">info</span> </td><td style="white-space:normal; text-align:left;" id="TBL-10-5-2" class="cmtt-12">info</span> </td><td style="white-space:normal; text-align:left;" id="TBL-10-5-2"
class="td11"><!--l. 617--><p class="noindent" ><span class="lstinline"></span><span class="td11"><!--l. 615--><p class="noindent" ><span class="lstinline"></span><span
class="cmtt-12">integer</span><span class="cmtt-12">integer</span><span
class="cmtt-12">,</span><span class="cmtt-12">,</span><span
class="cmtt-12">&#x00A0;</span><span class="cmtt-12">&#x00A0;</span><span
@ -149,8 +149,8 @@ class="cmtt-12">)</span><span
class="cmr-12">.</span> </td> class="cmr-12">.</span> </td>
</tr><tr </tr><tr
style="vertical-align:baseline;" id="TBL-10-6-"><td style="white-space:normal; text-align:left;" id="TBL-10-6-1" style="vertical-align:baseline;" id="TBL-10-6-"><td style="white-space:normal; text-align:left;" id="TBL-10-6-1"
class="td11"><!--l. 618--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-10-6-2" class="td11"><!--l. 616--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-10-6-2"
class="td11"><!--l. 618--><p class="noindent" ><span class="td11"><!--l. 616--><p class="noindent" ><span
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
class="cmr-12">&#x00A0;</span><a class="cmr-12">&#x00A0;</span><a
href="userhtmlse7.html#x26-300007"><span href="userhtmlse7.html#x26-300007"><span
@ -165,7 +165,7 @@ class="td11"> </td> </tr></table></div>
<!--l. 624--><div class="crosslinks"><p class="noindent"><span <!--l. 622--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a class="cmr-12">[</span><a
href="userhtmlsu10.html" ><span href="userhtmlsu10.html" ><span
class="cmr-12">next</span></a><span class="cmr-12">next</span></a><span
@ -182,6 +182,6 @@ class="cmr-12">] [</span><a
href="userhtmlse5.html#userhtmlsu9.html" ><span href="userhtmlse5.html#userhtmlsu9.html" ><span
class="cmr-12">up</span></a><span class="cmr-12">up</span></a><span
class="cmr-12">] </span></p></div> class="cmr-12">] </span></p></div>
<!--l. 624--><p class="indent" > <a <!--l. 622--><p class="indent" > <a
id="tailuserhtmlsu9.html"></a> id="tailuserhtmlsu9.html"></a>
</body></html> </body></html>

@ -2,34 +2,41 @@
\markboth{\textsc{AMG4PSBLAS User's and Reference Guide}} \markboth{\textsc{AMG4PSBLAS User's and Reference Guide}}
{\textsc{\ref{sec:started} Getting Started}} {\textsc{\ref{sec:started} Getting Started}}
We describe the basics for building and applying AMG4PSBLAS one-level and multilevel This section describes the basics for building and applying
(i.e., AMG) preconditioners with the Krylov solvers included in PSBLAS \cite{PSBLASGUIDE}. AMG4PSBLAS one-level and multilevel (i.e., AMG) preconditioners with
the Krylov solvers included in PSBLAS \cite{PSBLASGUIDE}.
The following steps are required: The following steps are required:
\begin{enumerate} \begin{enumerate}
\item \emph{Declare the preconditioner data structure}. It is a derived data type, \item \emph{Declare the preconditioner data structure}. It is a derived data type,
\verb|amg_|\-\emph{x}\verb|prec_| \verb|type|, where \emph{x} may be \verb|s|, \verb|d|, \verb|c| \verb|amg_|\-\emph{x}\verb|prec_| \verb|type|, where \emph{x} may be
or \verb|z|, according to the basic data type of the sparse matrix \verb|s|, \verb|d|, \verb|c| or \verb|z|, according to the basic
(\verb|s| = real single precision; \verb|d| = real double precision; data type of the sparse matrix (\verb|s| = real single precision;
\verb|c| = complex single precision; \verb|z| = complex double precision). \verb|d| = real double precision; \verb|c| = complex single
This data structure is accessed by the user only through the AMG4PSBLAS routines, precision; \verb|z| = complex double precision). This data
following an object-oriented approach. structure is accessed by the user only through the AMG4PSBLAS
\item \emph{Allocate and initialize the preconditioner data structure, according to routines, following an object-oriented approach.
a preconditioner type chosen by the user}. This is performed by the routine \item \emph{Allocate and initialize the preconditioner data structure,
\fortinline|init|, which also sets defaults for each preconditioner according to a preconditioner type chosen by the user}. This is
type selected by the user. The preconditioner types and the defaults associated performed by the routine \fortinline|init|, which also sets
with them are given in Table~\ref{tab:precinit}, where the strings used by defaults for each preconditioner type selected by the user. The
\fortinline|init| to identify the preconditioner types are also given. preconditioner types and the defaults associated with them are
Note that these strings are valid also if uppercase letters are substituted by given in Table~\ref{tab:precinit}, where the strings used by
corresponding lowercase ones. \fortinline|init| to identify the preconditioner types are also
given. Note that these strings are valid also if uppercase
letters are substituted by corresponding lowercase ones.
\item \emph{Modify the selected preconditioner type, by properly setting \item \emph{Modify the selected preconditioner type, by properly
preconditioner parameters.} This is performed by the routine \fortinline|set|. setting preconditioner parameters.} This is performed by the
This routine must be called only if the user wants to modify the default values routine \fortinline|set|. This routine must be called if the
of the parameters associated with the selected preconditioner type, to obtain a variant user wants to modify the default values of the parameters
of that preconditioner. Examples of use of \fortinline|set| are given in associated with the selected preconditioner type, to obtain a
Section~\ref{sec:examples}; a complete list of all the variant of that preconditioner. Examples of use of
preconditioner parameters and their allowed and default values is provided in \fortinline|set| are given in Section~\ref{sec:examples}; a
Section~\ref{sec:userinterface}, Tables~\ref{tab:p_cycle}-\ref{tab:p_smoother_1}. complete list of all the preconditioner parameters and their
allowed and default values is provided in
Section~\ref{sec:userinterface},
Tables~\ref{tab:p_cycle}-\ref{tab:p_smoother_1}.
\item \emph{Build the preconditioner for a given matrix}. If the selected preconditioner \item \emph{Build the preconditioner for a given matrix}. If the selected preconditioner
is multilevel, then two steps must be performed, as specified next. is multilevel, then two steps must be performed, as specified next.
\begin{enumerate} \begin{enumerate}
@ -116,11 +123,11 @@ assumed to be positive definite). As previously observed, the modules
\fortinline|psb_base_mod|, \fortinline|amg_prec_mod| and \fortinline|psb_krylov_mod| \fortinline|psb_base_mod|, \fortinline|amg_prec_mod| and \fortinline|psb_krylov_mod|
must be used by the example program. must be used by the example program.
The part of the code concerning the The part of the code dealing with reading and assembling the sparse
reading and assembling of the sparse matrix and the right-hand side vector, performed matrix and the right-hand side vector and the deallocation of the
relevant data structured, performed
through the PSBLAS routines for sparse matrix and vector management, is not reported through the PSBLAS routines for sparse matrix and vector management, is not reported
here for brevity; the statements concerning the deallocation of the PSBLAS here for the sake of conciseness.
data structure are neglected too.
The complete code can be found in the example program file \verb|amg_dexample_ml.f90|, The complete code can be found in the example program file \verb|amg_dexample_ml.f90|,
in the directory \verb|examples/fileread| of the AMG4PSBLAS implementation (see in the directory \verb|examples/fileread| of the AMG4PSBLAS implementation (see
Section~\ref{sec:ex_and_test}). A sample test problem along with the relevant Section~\ref{sec:ex_and_test}). A sample test problem along with the relevant

@ -14,15 +14,14 @@ For backward compatibility, methods are also accessible as
stand-alone subroutines. stand-alone subroutines.
For each method, the same user interface is overloaded with For each method, the same user interface is overloaded with
respect to the real/ complex case and the single/double precision; respect to the real/complex and single/double precision data;
arguments with appropriate data types must be passed to the method, arguments with appropriate data types must be passed to the method, i.e.,
i.e.,
\begin{itemize} \begin{itemize}
\item the sparse matrix data structure, containing the matrix to be \item the sparse matrix data structure, containing the matrix to be
preconditioned, must be of type \verb|psb_|\emph{x}\verb|spmat_type| preconditioned, must be of type \verb|psb_|\emph{x}\verb|spmat_type|
with \emph{x} = \verb|s| for real single precision, \emph{x} = \verb|d| with \emph{x} = \verb|s| for real single precision, \emph{x} =
for real double precision, \emph{x} = \verb|c| for complex single precision, \verb|d| for real double precision, \emph{x} = \verb|c| for complex
\emph{x} = \verb|z| for complex double precision; single precision, \emph{x} = \verb|z| for complex double precision;
\item the preconditioner data structure must be of type \item the preconditioner data structure must be of type
\verb|amg_|\emph{x}\verb|prec_type|, with \emph{x} = \verb|amg_|\emph{x}\verb|prec_type|, with \emph{x} =
\verb|s|, \verb|d|, \verb|c|, \verb|z|, according to the sparse \verb|s|, \verb|d|, \verb|c|, \verb|z|, according to the sparse
@ -59,7 +58,7 @@ This method allocates and initializes the preconditioner
\fortinline|ptype| & \fortinline|character(len=*), intent(in)|.\\ \fortinline|ptype| & \fortinline|character(len=*), intent(in)|.\\
& The type of preconditioner. Its values are specified & The type of preconditioner. Its values are specified
in Table~\ref{tab:precinit}.\\ in Table~\ref{tab:precinit}.\\
& Note that the strings are case insensitive.\\ & Note that strings are case insensitive.\\
\fortinline|info| & \fortinline|integer, intent(out)|.\\ \fortinline|info| & \fortinline|integer, intent(out)|.\\
& Error code. If no error, 0 is returned. See Section~\ref{sec:errors} for details.\\ & Error code. If no error, 0 is returned. See Section~\ref{sec:errors} for details.\\
@ -105,7 +104,7 @@ contained in \fortinline|val|.
The levels are numbered in increasing The levels are numbered in increasing
order starting from the finest one, i.e., level 1 is the finest level. order starting from the finest one, i.e., level 1 is the finest level.
If \fortinline|ilev| is not present, the parameter identified by \fortinline|what| If \fortinline|ilev| is not present, the parameter identified by \fortinline|what|
is set at all the appropriate levels (see is set at all levels that are appropriate (see
Tables~\ref{tab:p_cycle}-\ref{tab:p_smoother_1}).\\ Tables~\ref{tab:p_cycle}-\ref{tab:p_smoother_1}).\\
\fortinline|ilmax| & \fortinline|integer, optional, intent(in)|.\\ \fortinline|ilmax| & \fortinline|integer, optional, intent(in)|.\\
& For the multilevel preconditioner, when both & For the multilevel preconditioner, when both
@ -128,21 +127,20 @@ contained in \fortinline|val|.
\noindent \noindent
However, in this case the optional arguments \fortinline|ilev|, %However, in this case the optional arguments \fortinline|ilev|,
\fortinline|ilmax|, \fortinline|pos| and \fortinline|idx| %\fortinline|ilmax|, \fortinline|pos| and \fortinline|idx|
cannot be used. \\ %cannot be used. \\
A variety of preconditioners can be obtained A variety of preconditioners can be obtained by setting the
by a suitable setting of the preconditioner parameters. These parameters appropriate preconditioner parameters. These parameters can be
can be logically divided into four groups, i.e., parameters defining logically divided into four groups, i.e., parameters defining
\begin{enumerate} \begin{enumerate}
\item the type of multilevel cycle and how many cycles must be applied; \item the type of multilevel cycle and how many cycles must be applied;
\item the coarsening algorithm; \item the coarsening algorithm;
\item the coarse-space correction at the coarsest level (for multilevel \item the coarse-space correction at the coarsest level (for multilevel
preconditioners only); preconditioners only);
\item the smoother of the multilevel preconditioners, or the one-level \item the smoother of the multilevel preconditioners, or the one-level
preconditioner. preconditioner.
\end{enumerate} \end{enumerate}
A list of the parameters that can be set, along with their allowed and A list of the parameters that can be set, along with their allowed and
default values, is given in Tables~\ref{tab:p_cycle}-\ref{tab:p_smoother_1}.\\ default values, is given in Tables~\ref{tab:p_cycle}-\ref{tab:p_smoother_1}.\\
@ -160,9 +158,9 @@ result of combining the block-Jacobi smoother object with a single sweep
of the point-Jacobi solver object. However, for simplicity, shortcuts are of the point-Jacobi solver object. However, for simplicity, shortcuts are
provided to set point-Jacobi, hybrid (forward) Gauss-Seidel, and provided to set point-Jacobi, hybrid (forward) Gauss-Seidel, and
hybrid backward Gauss-Seidel, i.e., the previous smoothers can be defined hybrid backward Gauss-Seidel, i.e., the previous smoothers can be defined
by setting only \fortinline|'SMOOTHER_TYPE'| to appropriate values (see just by setting \fortinline|'SMOOTHER_TYPE'| to certain specific
Tables~\ref{tab:p_smoother}), i.e., without setting values (see Tables~\ref{tab:p_smoother}), without the need to set
\fortinline|'SUB_SOLVE'| too. \fortinline|'SUB_SOLVE'| as well.
The smoother and solver objects are arranged in a The smoother and solver objects are arranged in a
hierarchical manner. When specifying a smoother object, its parameters, hierarchical manner. When specifying a smoother object, its parameters,
@ -177,8 +175,8 @@ Similar considerations apply to the point-Jacobi, Gauss-Seidel and block-Jacobi
coarsest-level solvers, and shortcuts are available coarsest-level solvers, and shortcuts are available
in this case too (see Table~\ref{tab:p_coarse}). \\ in this case too (see Table~\ref{tab:p_coarse}). \\
\textbf{Remark 3.} In general, a coarsest-level solver cannot be used with \textbf{Remark 3.} Many of the coarsest-level solvers cannot be used
both the replicated and distributed coarsest-matrix layout; with both the replicated and distributed coarsest-matrix layout;
therefore, setting the solver after the layout may change the layout. therefore, setting the solver after the layout may change the layout.
Similarly, setting the layout after the solver may change the solver. Similarly, setting the layout after the solver may change the solver.
@ -857,9 +855,14 @@ Create a (deep) copy of the preconditioner object.
\subsubsection{Method: sizeof} \subsubsection{Method: sizeof}
\begin{center} \begin{center}
\fortinline|sz = p%sizeof()|\\ \fortinline|sz = p%sizeof([global])|\\
\end{center} \end{center}
\begin{tabular}{p{1.2cm}p{12cm}}
\fortinline|global| & \fortinline|logical, optional|.\\
& Whether the global or local preconditioner size is
desired. Default: \fortinline|.false.|.\\
\end{tabular}
\noindent \noindent
Return memory footprint in bytes. Return memory footprint in bytes.

Loading…
Cancel
Save