You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
amg4psblas/docs/html/userhtmlsu9.html

2385 lines
164 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html >
<head><title>Method set</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="generator" content="TeX4ht (https://tug.org/tex4ht/)">
<meta name="originator" content="TeX4ht (https://tug.org/tex4ht/)">
<!-- html,3 -->
<meta name="src" content="userhtml.tex">
<link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body
>
<!--l. 72--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a
href="userhtmlsu10.html" ><span
class="cmr-12">next</span></a><span
class="cmr-12">] [</span><a
href="userhtmlsu8.html" ><span
class="cmr-12">prev</span></a><span
class="cmr-12">] [</span><a
href="userhtmlsu8.html#tailuserhtmlsu8.html" ><span
class="cmr-12">prev-tail</span></a><span
class="cmr-12">] [</span><a
href="#tailuserhtmlsu9.html"><span
class="cmr-12">tail</span></a><span
class="cmr-12">] [</span><a
href="userhtmlse5.html#userhtmlsu9.html" ><span
class="cmr-12">up</span></a><span
class="cmr-12">] </span></p></div>
<h4 class="subsectionHead"><span class="titlemark"><span
class="cmr-12">5.2 </span></span> <a
id="x19-180005.2"></a><span
class="cmr-12">Method set</span></h4>
<div class="center"
>
<!--l. 74--><p class="noindent" >
<!--l. 75--><p class="noindent" ><code class="lstinline"><span style="color:#000000">call</span><span style="color:#000000"> </span><span style="color:#000000">p</span><span style="color:#000000">%</span><span style="color:#000000">set</span><span style="color:#000000">(</span><span style="color:#000000">what</span><span style="color:#000000">,</span><span style="color:#000000">val</span><span style="color:#000000">,</span><span style="color:#000000">info</span><span style="color:#000000"> </span><span style="color:#000000">[,</span><span style="color:#000000">ilev</span><span style="color:#000000">,</span><span style="color:#000000"> </span><span style="color:#000000">ilmax</span><span style="color:#000000">,</span><span style="color:#000000"> </span><span style="color:#000000">pos</span><span style="color:#000000">,</span><span style="color:#000000"> </span><span style="color:#000000">idx</span><span style="color:#000000">])</span></code></div>
<!--l. 78--><p class="noindent" ><span
class="cmr-12">This method sets the parameters defining the preconditioner </span><code class="lstinline"><span style="color:#000000">p</span></code><span
class="cmr-12">. More precisely, the</span>
<span
class="cmr-12">parameter identified by </span><code class="lstinline"><span style="color:#000000">what</span></code> <span
class="cmr-12">is assigned the value contained in </span><code class="lstinline"><span style="color:#000000">val</span></code><span
class="cmr-12">.</span>
<!--l. 83--><p class="noindent" ><span
class="cmbx-12">Arguments</span>
<div class="tabular"> <table id="TBL-3" class="tabular"
><colgroup id="TBL-3-1g"><col
id="TBL-3-1"><col
id="TBL-3-2"></colgroup><tr
style="vertical-align:baseline;" id="TBL-3-1-"><td style="white-space:normal; text-align:left;" id="TBL-3-1-1"
class="td11"> <!--l. 86--><p class="noindent" ><code class="lstinline"><span style="color:#000000">what</span></code> </td><td style="white-space:normal; text-align:left;" id="TBL-3-1-2"
class="td11"> <!--l. 86--><p class="noindent" ><code class="lstinline"><span style="color:#000000">character</span><span style="color:#000000">(</span><span style="color:#000000">len</span><span style="color:#000000">=*)</span></code><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-3-2-"><td style="white-space:normal; text-align:left;" id="TBL-3-2-1"
class="td11"> <!--l. 87--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-3-2-2"
class="td11"> <!--l. 87--><p class="noindent" ><span
class="cmr-12">The parameter to be set. It can be specified through its name; the</span>
<span
class="cmr-12">string is case-insensitive. See Tables</span><span
class="cmr-12">&#x00A0;</span><a
href="#x19-18009r2"><span
class="cmr-12">2</span><!--tex4ht:ref: tab:p_cycle --></a><span
class="cmr-12">-</span><a
href="#x19-18015r8"><span
class="cmr-12">8</span><!--tex4ht:ref: tab:p_smoother_1 --></a><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-3-3-"><td style="white-space:normal; text-align:left;" id="TBL-3-3-1"
class="td11"> <!--l. 90--><p class="noindent" ><code class="lstinline"><span style="color:#000000">val</span><span style="color:#000000"> </span></code> </td><td style="white-space:normal; text-align:left;" id="TBL-3-3-2"
class="td11"> <!--l. 90--><p class="noindent" ><code class="lstinline"><span style="color:#000000">integer</span></code> <span
class="cmti-12">or </span><code class="lstinline"><span style="color:#000000">character</span><span style="color:#000000">(</span><span style="color:#000000">len</span><span style="color:#000000">=*)</span></code> <span
class="cmti-12">or </span><code class="lstinline"><span style="color:#000000">real</span><span style="color:#000000">(</span><span style="color:#000000">psb_spk_</span><span style="color:#000000">)</span></code> <span
class="cmti-12">or</span>
<code class="lstinline"><span style="color:#000000">real</span><span style="color:#000000">(</span><span style="color:#000000">psb_dpk_</span><span style="color:#000000">)</span></code><span
class="cmr-12">, </span><code class="lstinline"><span style="color:#000000">intent</span><span style="color:#000000">(</span><span style="color:#000000">in</span><span style="color:#000000">)</span></code><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-3-4-"><td style="white-space:normal; text-align:left;" id="TBL-3-4-1"
class="td11"> <!--l. 93--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-3-4-2"
class="td11"> <!--l. 93--><p class="noindent" ><span
class="cmr-12">The value of the parameter to be set. The list of allowed values and</span>
<span
class="cmr-12">the corresponding data types is given in Tables</span><span
class="cmr-12">&#x00A0;</span><a
href="#x19-18009r2"><span
class="cmr-12">2</span><!--tex4ht:ref: tab:p_cycle --></a><span
class="cmr-12">-</span><a
href="#x19-18015r8"><span
class="cmr-12">8</span><!--tex4ht:ref: tab:p_smoother_1 --></a><span
class="cmr-12">. When the value</span>
<span
class="cmr-12">is of type </span><code class="lstinline"><span style="color:#000000">character</span><span style="color:#000000">(</span><span style="color:#000000">len</span><span style="color:#000000">=*)</span></code><span
class="cmr-12">, it is also treated as case insensitive.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-3-5-"><td style="white-space:normal; text-align:left;" id="TBL-3-5-1"
class="td11"> <!--l. 98--><p class="noindent" ><code class="lstinline"><span style="color:#000000">info</span></code> </td><td style="white-space:normal; text-align:left;" id="TBL-3-5-2"
class="td11"> <!--l. 98--><p class="noindent" ><code class="lstinline"><span style="color:#000000">integer</span><span style="color:#000000">,</span><span style="color:#000000"> </span><span style="color:#000000">intent</span><span style="color:#000000">(</span><span style="color:#000000">out</span><span style="color:#000000">)</span></code><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-3-6-"><td style="white-space:normal; text-align:left;" id="TBL-3-6-1"
class="td11"> <!--l. 99--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-3-6-2"
class="td11"> <!--l. 99--><p class="noindent" ><span
class="cmr-12">Error code. If no error, 0 is returned. See Section</span><span
class="cmr-12">&#x00A0;</span><a
href="userhtmlse7.html#x28-320007"><span
class="cmr-12">7</span><!--tex4ht:ref: sec:errors --></a> <span
class="cmr-12">for details.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-3-7-"><td style="white-space:normal; text-align:left;" id="TBL-3-7-1"
class="td11"> <!--l. 101--><p class="noindent" ><code class="lstinline"><span style="color:#000000">ilev</span></code> </td><td style="white-space:normal; text-align:left;" id="TBL-3-7-2"
class="td11"> <!--l. 101--><p class="noindent" ><code class="lstinline"><span style="color:#000000">integer</span><span style="color:#000000">,</span><span style="color:#000000"> </span><span style="color:#000000">optional</span><span style="color:#000000">,</span><span style="color:#000000"> </span><span style="color:#000000">intent</span><span style="color:#000000">(</span><span style="color:#000000">in</span><span style="color:#000000">)</span></code><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-3-8-"><td style="white-space:normal; text-align:left;" id="TBL-3-8-1"
class="td11"> <!--l. 102--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-3-8-2"
class="td11"> <!--l. 102--><p class="noindent" ><span
class="cmr-12">For the multilevel preconditioner, the level at which the</span>
<span
class="cmr-12">preconditioner parameter has to be set. The levels are numbered</span>
<span
class="cmr-12">in increasing order starting from the finest one, i.e., level 1 is the</span>
<span
class="cmr-12">finest level. If </span><code class="lstinline"><span style="color:#000000">ilev</span></code> <span
class="cmr-12">is not present, the parameter identified by </span><code class="lstinline"><span style="color:#000000">what</span></code>
<span
class="cmr-12">is set at all levels that are appropriate (see Tables</span><span
class="cmr-12">&#x00A0;</span><a
href="#x19-18009r2"><span
class="cmr-12">2</span><!--tex4ht:ref: tab:p_cycle --></a><span
class="cmr-12">-</span><a
href="#x19-18015r8"><span
class="cmr-12">8</span><!--tex4ht:ref: tab:p_smoother_1 --></a><span
class="cmr-12">).</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-3-9-"><td style="white-space:normal; text-align:left;" id="TBL-3-9-1"
class="td11"> <!--l. 109--><p class="noindent" ><code class="lstinline"><span style="color:#000000">ilmax</span></code> </td><td style="white-space:normal; text-align:left;" id="TBL-3-9-2"
class="td11"> <!--l. 109--><p class="noindent" ><code class="lstinline"><span style="color:#000000">integer</span><span style="color:#000000">,</span><span style="color:#000000"> </span><span style="color:#000000">optional</span><span style="color:#000000">,</span><span style="color:#000000"> </span><span style="color:#000000">intent</span><span style="color:#000000">(</span><span style="color:#000000">in</span><span style="color:#000000">)</span></code><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-3-10-"><td style="white-space:normal; text-align:left;" id="TBL-3-10-1"
class="td11"> <!--l. 110--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-3-10-2"
class="td11"> <!--l. 110--><p class="noindent" ><span
class="cmr-12">For the multilevel preconditioner, when both </span><code class="lstinline"><span style="color:#000000">ilev</span></code> <span
class="cmr-12">and </span><code class="lstinline"><span style="color:#000000">ilmax</span></code> <span
class="cmr-12">are</span>
<span
class="cmr-12">present, the settings are applied at all levels </span><code class="lstinline"><span style="color:#000000">ilev</span><span style="color:#000000">:</span><span style="color:#000000">ilmax</span></code><span
class="cmr-12">. When</span>
<code class="lstinline"><span style="color:#000000">ilev</span></code> <span
class="cmr-12">is present but </span><code class="lstinline"><span style="color:#000000">ilmax</span></code> <span
class="cmr-12">is not, then the default is </span><code class="lstinline"><span style="color:#000000">ilmax</span><span style="color:#000000">=</span><span style="color:#000000">ilev</span></code><span
class="cmr-12">.</span>
<span
class="cmr-12">The levels are numbered in increasing order starting from the finest</span>
<span
class="cmr-12">one, i.e., level 1 is the finest level.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-3-11-"><td style="white-space:normal; text-align:left;" id="TBL-3-11-1"
class="td11"> <!--l. 117--><p class="noindent" ><code class="lstinline"><span style="color:#000000">pos</span></code> </td><td style="white-space:normal; text-align:left;" id="TBL-3-11-2"
class="td11"> <!--l. 117--><p class="noindent" ><code class="lstinline"><span style="color:#000000">character</span><span style="color:#000000">(</span><span style="color:#000000">len</span><span style="color:#000000">=*),</span><span style="color:#000000"> </span><span style="color:#000000">optional</span><span style="color:#000000">,</span><span style="color:#000000"> </span><span style="color:#000000">intent</span><span style="color:#000000">(</span><span style="color:#000000">in</span><span style="color:#000000">)</span></code><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-3-12-"><td style="white-space:normal; text-align:left;" id="TBL-3-12-1"
class="td11"> <!--l. 118--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-3-12-2"
class="td11"> <!--l. 118--><p class="noindent" ><span
class="cmr-12">Whether the other arguments apply only to the pre-smoother</span>
<span
class="cmr-12">(</span><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">PRE</span><span style="color:#000000">&#8217;</span></code><span
class="cmr-12">) or to the post-smoother (</span><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">POST</span><span style="color:#000000">&#8217;</span></code><span
class="cmr-12">). If </span><code class="lstinline"><span style="color:#000000">pos</span></code> <span
class="cmr-12">is not present,</span>
<span
class="cmr-12">the other arguments are applied to both smoothers. If the</span>
<span
class="cmr-12">preconditioner is one-level or the parameter identified by </span><code class="lstinline"><span style="color:#000000">what</span></code> <span
class="cmr-12">does</span>
<span
class="cmr-12">not concern the smoothers, </span><code class="lstinline"><span style="color:#000000">pos</span></code> <span
class="cmr-12">is ignored.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-3-13-"><td style="white-space:normal; text-align:left;" id="TBL-3-13-1"
class="td11"> <!--l. 123--><p class="noindent" ><code class="lstinline"><span style="color:#000000">idx</span></code> </td><td style="white-space:normal; text-align:left;" id="TBL-3-13-2"
class="td11"> <!--l. 123--><p class="noindent" ><code class="lstinline"><span style="color:#000000">integer</span><span style="color:#000000">,</span><span style="color:#000000"> </span><span style="color:#000000">optional</span><span style="color:#000000">,</span><span style="color:#000000"> </span><span style="color:#000000">intent</span><span style="color:#000000">(</span><span style="color:#000000">in</span><span style="color:#000000">)</span></code><span
class="cmr-12">.</span> </td>
</tr><tr
style="vertical-align:baseline;" id="TBL-3-14-"><td style="white-space:normal; text-align:left;" id="TBL-3-14-1"
class="td11"> <!--l. 124--><p class="noindent" > </td><td style="white-space:normal; text-align:left;" id="TBL-3-14-2"
class="td11"> <!--l. 124--><p class="noindent" ><span
class="cmr-12">An auxiliary input argument that can be passed to the underlying</span>
<span
class="cmr-12">objects.</span> </td>
</tr></table> </div>
<!--l. 129--><p class="noindent" >
<!--l. 134--><p class="indent" > <span
class="cmr-12">A variety of preconditioners can be obtained by setting the appropriate</span>
<span
class="cmr-12">preconditioner parameters. These parameters can be logically divided into four groups,</span>
<span
class="cmr-12">i.e., parameters defining</span>
<ol class="enumerate1" >
<li
class="enumerate" id="x19-18002x1">
<!--l. 138--><p class="noindent" ><span
class="cmr-12">the type of multilevel cycle and how many cycles must be applied;</span>
</li>
<li
class="enumerate" id="x19-18004x2">
<!--l. 139--><p class="noindent" ><span
class="cmr-12">the coarsening algorithm;</span>
</li>
<li
class="enumerate" id="x19-18006x3">
<!--l. 140--><p class="noindent" ><span
class="cmr-12">the solver at the coarsest level (for multilevel preconditioners only);</span>
</li>
<li
class="enumerate" id="x19-18008x4">
<!--l. 142--><p class="noindent" ><span
class="cmr-12">the smoother of the multilevel preconditioners, or the one-level</span>
<span
class="cmr-12">preconditioner.</span></li></ol>
<!--l. 145--><p class="noindent" ><span
class="cmr-12">A list of the parameters that can be set, along with their allowed and default values, is</span>
<span
class="cmr-12">given in Tables</span><span
class="cmr-12">&#x00A0;</span><a
href="#x19-18009r2"><span
class="cmr-12">2</span><!--tex4ht:ref: tab:p_cycle --></a><span
class="cmr-12">-</span><a
href="#x19-18015r8"><span
class="cmr-12">8</span><!--tex4ht:ref: tab:p_smoother_1 --></a><span
class="cmr-12">.</span><br
class="newline" />
<!--l. 148--><p class="indent" > <span
class="cmbx-12">Remark 2. </span><span
class="cmr-12">A smoother is usually obtained by combining two objects: a</span>
<span
class="cmr-12">smoother (</span><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">SMOOTHER_TYPE</span><span style="color:#000000">&#8217;</span></code><span
class="cmr-12">) and a local solver (</span><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">SUB_SOLVE</span><span style="color:#000000">&#8217;</span></code><span
class="cmr-12">), as specified in</span>
<span
class="cmr-12">Tables</span><span
class="cmr-12">&#x00A0;</span><a
href="#x19-18014r7"><span
class="cmr-12">7</span><!--tex4ht:ref: tab:p_smoother --></a><span
class="cmr-12">-</span><a
href="#x19-18016r9"><span
class="cmr-12">9</span><!--tex4ht:ref: tab:p_smoother_2 --></a><span
class="cmr-12">. For example, the block-Jacobi smoother using ILU(0) on the blocks is</span>
<span
class="cmr-12">obtained by combining the block-Jacobi smoother object with the ILU(0) solver</span>
<span
class="cmr-12">object. Similarly, the hybrid Gauss-Seidel smoother (see Note in Table</span><span
class="cmr-12">&#x00A0;</span><a
href="#x19-18014r7"><span
class="cmr-12">7</span><!--tex4ht:ref: tab:p_smoother --></a><span
class="cmr-12">) is</span>
<span
class="cmr-12">obtained by combining the block-Jacobi smoother object with a single sweep of</span>
<span
class="cmr-12">the Gauss-Seidel solver object, while the point-Jacobi smoother is the result</span>
<span
class="cmr-12">of combining the block-Jacobi smoother object with a single sweep of the</span>
<span
class="cmr-12">point-Jacobi solver object. In the same way are obtained the </span><span
class="cmmi-12">&#x2113;</span><sub><span
class="cmr-8">1</span></sub><span
class="cmr-12">-versions of the</span>
<span
class="cmr-12">smoothers. However, for simplicity, shortcuts are provided to set all versions of</span>
<span
class="cmr-12">point-Jacobi, hybrid (forward) Gauss-Seidel, and hybrid backward Gauss-Seidel, i.e.,</span>
<span
class="cmr-12">the previous smoothers can be defined just by setting </span><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">SMOOTHER_TYPE</span><span style="color:#000000">&#8217;</span></code> <span
class="cmr-12">to</span>
<span
class="cmr-12">certain specific values (see Table</span><span
class="cmr-12">&#x00A0;</span><a
href="#x19-18014r7"><span
class="cmr-12">7</span><!--tex4ht:ref: tab:p_smoother --></a><span
class="cmr-12">), without the need to set </span><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">SUB_SOLVE</span><span style="color:#000000">&#8217;</span></code> <span
class="cmr-12">as</span>
<span
class="cmr-12">well.</span>
<!--l. 166--><p class="indent" > <span
class="cmr-12">The smoother and solver objects are arranged in a hierarchical manner. When</span>
<span
class="cmr-12">specifying a smoother object, its parameters, including the local solver, are set to</span>
<span
class="cmr-12">their default values, and when a solver object is specified, its defaults are also</span>
<span
class="cmr-12">set, overriding in both cases any previous settings even if explicitly specified.</span>
<span
class="cmr-12">Therefore if the user sets a smoother, and wishes to use a solver different from</span>
<span
class="cmr-12">the default one, the call to set the solver must come </span><span
class="cmti-12">after </span><span
class="cmr-12">the call to set the</span>
<span
class="cmr-12">smoother.</span>
<!--l. 175--><p class="indent" > <span
class="cmr-12">Similar considerations apply to the point-Jacobi, Gauss-Seidel and block-Jacobi</span>
<span
class="cmr-12">coarsest-level solvers, and shortcuts are available in this case too (see Table</span><span
class="cmr-12">&#x00A0;</span><a
href="#x19-18012r5"><span
class="cmr-12">5</span><!--tex4ht:ref: tab:p_coarse_1 --></a><span
class="cmr-12">).</span>
<br
class="newline" />
<!--l. 179--><p class="indent" > <span
class="cmbx-12">Remark 3. </span><span
class="cmr-12">The polynomial-accelerated smoother described in Tables</span><span
class="cmr-12">&#x00A0;</span><a
href="#x19-18014r7"><span
class="cmr-12">7</span><!--tex4ht:ref: tab:p_smoother --></a> <span
class="cmr-12">and</span><span
class="cmr-12">&#x00A0;</span><a
href="#x19-18016r9"><span
class="cmr-12">9</span><!--tex4ht:ref: tab:p_smoother_2 --></a>
<span
class="cmr-12">redefines a sweep or iteration as corresponding to the degree of the polynomial used.</span>
<span
class="cmr-12">Consequently, the </span><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">SMOOTHER_SWEEPS</span><span style="color:#000000">&#8217;</span></code> <span
class="cmr-12">option is overridden by the </span><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">POLY_DEGREE</span><span style="color:#000000">&#8217;</span></code>
<span
class="cmr-12">option. This smoother is paired with a base smoother object, whose iterations are</span>
<span
class="cmr-12">accelerated using the specified polynomial smoothing technique. By default, the</span>
<span
class="cmmi-12">&#x2113;</span><sub><span
class="cmr-8">1</span></sub><span
class="cmr-12">-Jacobi smoother serves as the base smoother, offering theoretical guarantees</span>
<span
class="cmr-12">on the resulting convergence factor</span><span
class="cmr-12">&#x00A0;</span><span class="cite"><span
class="cmr-12">[</span><a
href="userhtmlli5.html#XDDFMT2024"><span
class="cmr-12">15</span></a><span
class="cmr-12">,</span><span
class="cmr-12">&#x00A0;</span><a
href="userhtmlli5.html#XLOTTES"><span
class="cmr-12">27</span></a><span
class="cmr-12">]</span></span><span
class="cmr-12">. Alternative combinations are</span>
<span
class="cmr-12">experimental.</span><br
class="newline" />
<!--l. 190--><p class="indent" > <span
class="cmbx-12">Remark 4. </span><span
class="cmr-12">Many of the coarsest-level solvers apply to a specific coarsest-matrix</span>
<span
class="cmr-12">layout; therefore, setting the solver after the layout may change the layout to either</span>
<span
class="cmr-12">distributed or replicated, and similarly, setting the layout after the solver may</span>
<span
class="cmr-12">change the solver. More specifically, UMFPACK and SuperLU require the</span>
<span
class="cmr-12">coarsest-level matrix to be replicated, while SuperLU</span><span
class="cmr-12">_Dist and KRM require it to</span>
<span
class="cmr-12">be distributed; therefore, setting the coarsest-level solver implies that the</span>
<span
class="cmr-12">layout is redefined according to the solver, ovverriding any previous settings.</span>
<span
class="cmr-12">MUMPS, point-Jacobi, hybrid Gauss-Seidel and block-Jacobi can be applied to</span>
<span
class="cmr-12">replicated and distributed matrices, thus their choice does not modify any</span>
<span
class="cmr-12">previously specified layout. It is worth noting that, when the matrix is replicated,</span>
<span
class="cmr-12">the point-Jacobi, hybrid Gauss-Seidel and block-Jacobi solvers and their </span><span
class="cmmi-12">&#x2113;</span><sub><span
class="cmr-8">1</span></sub><span
class="cmsy-10x-x-120">-</span>
<span
class="cmr-12">versions reduce to the corresponding local solver objects (see Remark</span><span
class="cmr-12">&#x00A0;2). For the</span>
<span
class="cmr-12">point-Jacobi and Gauss-Seidel solvers, these objects correspond to a </span><span
class="cmti-12">single</span>
<span
class="cmr-12">point-Jacobi sweep and a </span><span
class="cmti-12">single </span><span
class="cmr-12">Gauss-Seidel sweep, respectively, which are very poor</span>
<span
class="cmr-12">solvers.</span>
<!--l. 210--><p class="indent" > <span
class="cmr-12">On the other hand, the distributed layout can be used with any solver except and</span>
<span
class="cmr-12">SuperLU; therefore, if any of these two solvers has already been selected, the</span>
<span
class="cmr-12">coarsest-level solver is changed to block-Jacobi, with the previously chosen solver</span>
<span
class="cmr-12">applied to the local blocks. Likewise, the replicated layout can be used with any solver</span>
<span
class="cmr-12">but SuperLu</span><span
class="cmr-12">_Dist and KRM; therefore, if SuperLu</span><span
class="cmr-12">_Dist or KRM have been</span>
<span
class="cmr-12">previously set, the coarsest-level solver is changed to the default sequential</span>
<span
class="cmr-12">solver.</span>
<!--l. 219--><p class="indent" > <span
class="cmr-12">In a parallel setting with many cores, we suggest to the users to change the default</span>
<span
class="cmr-12">coarsest solver for using the KRM choice, i.e. a parallel distributed iterative solution of</span>
<span
class="cmr-12">the coarsest system based on Krylov methods.</span>
<!--l. 224--><p class="indent" > <span
class="cmbx-12">Remark 4. </span><span
class="cmr-12">The argument </span><code class="lstinline"><span style="color:#000000">idx</span></code> <span
class="cmr-12">can be used to allow finer control for those solvers;</span>
<span
class="cmr-12">for instance, by specifying the keyword </span><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">MUMPS_IPAR_ENTRY</span><span style="color:#000000">&#8217;</span></code> <span
class="cmr-12">and an appropriate value</span>
<span
class="cmr-12">for </span><code class="lstinline"><span style="color:#000000">idx</span></code><span
class="cmr-12">, it is possible to set any entry in the MUMPS integer control array. See also</span>
<span
class="cmr-12">Sec.</span><span
class="cmr-12">&#x00A0;</span><a
href="userhtmlse6.html#x27-310006"><span
class="cmr-12">6</span><!--tex4ht:ref: sec:adding --></a><span
class="cmr-12">.</span>
<div class="table">
<!--l. 235--><p class="indent" > <a
id="x19-18009r2"></a><hr class="float"><div class="float"
>
<div class="center"
>
<!--l. 235--><p class="noindent" >
<div class="tabular"> <table id="TBL-4" class="tabular"
><colgroup id="TBL-4-1g"><col
id="TBL-4-1"></colgroup><colgroup id="TBL-4-2g"><col
id="TBL-4-2"></colgroup><colgroup id="TBL-4-3g"><col
id="TBL-4-3"></colgroup><colgroup id="TBL-4-4g"><col
id="TBL-4-4"></colgroup><colgroup id="TBL-4-5g"><col
id="TBL-4-5"></colgroup><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-4-1-"><td style="white-space:normal; text-align:left;" id="TBL-4-1-1"
class="td11"> <!--l. 239--><p class="noindent" ><code class="lstinline"><span style="color:#000000">what</span></code> </td><td style="white-space:nowrap; text-align:left;" id="TBL-4-1-2"
class="td11"> <span
class="cmcsc-10x-x-109"><span
class="small-caps">d</span><span
class="small-caps">a</span><span
class="small-caps">t</span><span
class="small-caps">a</span> <span
class="small-caps">t</span><span
class="small-caps">y</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-4-1-3"
class="td11"> <!--l. 239--><p class="noindent" ><code class="lstinline"><span style="color:#000000">val</span></code> </td><td style="white-space:normal; text-align:left;" id="TBL-4-1-4"
class="td11"> <!--l. 239--><p class="noindent" ><span
class="cmcsc-10x-x-109"><span
class="small-caps">d</span><span
class="small-caps">e</span><span
class="small-caps">f</span><span
class="small-caps">a</span><span
class="small-caps">u</span><span
class="small-caps">l</span><span
class="small-caps">t</span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-4-1-5"
class="td11"> <!--l. 240--><p class="noindent" ><span
class="cmcsc-10x-x-109"><span
class="small-caps">c</span><span
class="small-caps">o</span><span
class="small-caps">m</span><span
class="small-caps">m</span><span
class="small-caps">e</span><span
class="small-caps">n</span><span
class="small-caps">t</span><span
class="small-caps">s</span></span> </td></tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-4-2-"><td style="white-space:normal; text-align:left;" id="TBL-4-2-1"
class="td11"> <!--l. 241--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">ML_CYCLE</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-4-2-2"
class="td11"> <code class="lstinline"><!--l. 241--><p class="noindent" ><span style="color:#000000">character</span><span style="color:#000000">(</span><span style="color:#000000">len</span><span style="color:#000000">=*)</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-4-2-3"
class="td11"> <!--l. 242--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">VCYCLE</span><span style="color:#000000">&#8217;</span></code>
<!--l. 242--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">WCYCLE</span><span style="color:#000000">&#8217;</span></code>
<!--l. 242--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">KCYCLE</span><span style="color:#000000">&#8217;</span></code>
<!--l. 242--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">ADD</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:normal; text-align:left;" id="TBL-4-2-4"
class="td11"> <!--l. 243--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">VCYCLE</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:normal; text-align:left;" id="TBL-4-2-5"
class="td11"> <!--l. 244--><p class="noindent" >Multilevel cycle: V-cycle, W-cycle, K-cycle,
and additive composition.
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-4-3-"><td style="white-space:normal; text-align:left;" id="TBL-4-3-1"
class="td11"> <!--l. 245--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">CYCLE_SWEEPS</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-4-3-2"
class="td11"> <code class="lstinline"><!--l. 245--><p class="noindent" ><span style="color:#000000">integer</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-4-3-3"
class="td11"> <!--l. 246--><p class="noindent" >Any integer
<!--l. 246--><p class="noindent" >number <span
class="cmsy-10x-x-109">&#x2265; </span>1
</td><td style="white-space:normal; text-align:left;" id="TBL-4-3-4"
class="td11"> <!--l. 246--><p class="noindent" >1
</td><td style="white-space:normal; text-align:left;" id="TBL-4-3-5"
class="td11"> <!--l. 247--><p class="noindent" >Number of multilevel cycles.
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-4-4-"><td style="white-space:normal; text-align:left;" id="TBL-4-4-1"
class="td11"> </td></tr></table> </div></div>
<br /> <div class="caption"
><span class="id">Table&#x00A0;2: </span><span
class="content">Parameters defining the multilevel cycle and the number of cycles to be
applied. </span></div><!--tex4ht:label?: x19-18009r2 -->
</div><hr class="endfloat" />
</div>
<div class="table">
<!--l. 257--><p class="indent" > <a
id="x19-18010r3"></a><hr class="float"><div class="float"
>
<div class="center"
>
<!--l. 257--><p class="noindent" >
<div class="tabular"> <table id="TBL-5" class="tabular"
><colgroup id="TBL-5-1g"><col
id="TBL-5-1"></colgroup><colgroup id="TBL-5-2g"><col
id="TBL-5-2"></colgroup><colgroup id="TBL-5-3g"><col
id="TBL-5-3"></colgroup><colgroup id="TBL-5-4g"><col
id="TBL-5-4"></colgroup><colgroup id="TBL-5-5g"><col
id="TBL-5-5"></colgroup><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-5-1-"><td style="white-space:normal; text-align:left;" id="TBL-5-1-1"
class="td11"> <!--l. 261--><p class="noindent" ><code class="lstinline"><span style="color:#000000">what</span></code> </td><td style="white-space:nowrap; text-align:left;" id="TBL-5-1-2"
class="td11"> <span
class="cmcsc-10x-x-109"><span
class="small-caps">d</span><span
class="small-caps">a</span><span
class="small-caps">t</span><span
class="small-caps">a</span> <span
class="small-caps">t</span><span
class="small-caps">y</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-5-1-3"
class="td11"> <!--l. 261--><p class="noindent" ><code class="lstinline"><span style="color:#000000">val</span></code> </td><td style="white-space:normal; text-align:left;" id="TBL-5-1-4"
class="td11"> <!--l. 261--><p class="noindent" ><span
class="cmcsc-10x-x-109"><span
class="small-caps">d</span><span
class="small-caps">e</span><span
class="small-caps">f</span><span
class="small-caps">a</span><span
class="small-caps">u</span><span
class="small-caps">l</span><span
class="small-caps">t</span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-5-1-5"
class="td11"> <!--l. 262--><p class="noindent" ><span
class="cmcsc-10x-x-109"><span
class="small-caps">c</span><span
class="small-caps">o</span><span
class="small-caps">m</span><span
class="small-caps">m</span><span
class="small-caps">e</span><span
class="small-caps">n</span><span
class="small-caps">t</span><span
class="small-caps">s</span></span> </td></tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-5-2-"><td style="white-space:normal; text-align:left;" id="TBL-5-2-1"
class="td11"> <!--l. 263--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">MIN_COARSE_SIZE_PER_PROCESS</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-5-2-2"
class="td11"> <code class="lstinline"><!--l. 263--><p class="noindent" ><span style="color:#000000">integer</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-5-2-3"
class="td11"> <!--l. 264--><p class="noindent" >Any number
<!--l. 264--><p class="noindent" ><span
class="cmmi-10x-x-109">&#x003E; </span>0
</td><td style="white-space:normal; text-align:left;" id="TBL-5-2-4"
class="td11"> <!--l. 265--><p class="noindent" >200
</td><td style="white-space:normal; text-align:left;" id="TBL-5-2-5"
class="td11"> <!--l. 266--><p class="noindent" >Coarse size threshold per process. The
aggregation stops if the global number
of variables of the computed coarsest
matrix is lower than or equal to this
threshold multiplied by the number of
processes (see Note).
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-5-3-"><td style="white-space:normal; text-align:left;" id="TBL-5-3-1"
class="td11"> <!--l. 272--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">MIN_COARSE_SIZE</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-5-3-2"
class="td11"> <code class="lstinline"><!--l. 272--><p class="noindent" ><span style="color:#000000">integer</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-5-3-3"
class="td11"> <!--l. 273--><p class="noindent" >Any number
<!--l. 273--><p class="noindent" ><span
class="cmmi-10x-x-109">&#x003E; </span>0
</td><td style="white-space:normal; text-align:left;" id="TBL-5-3-4"
class="td11"> <!--l. 274--><p class="noindent" >-1
</td><td style="white-space:normal; text-align:left;" id="TBL-5-3-5"
class="td11"> <!--l. 275--><p class="noindent" >Coarse size threshold. The aggregation
stops if the global number of variables
of the computed coarsest matrix
is lower than or equal to this
threshold (see Note). If negative, it is
ignored in favour of the default for
<code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">MIN_COARSE_SIZE_PER_PROCESS</span><span style="color:#000000">&#8217;</span></code>.
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-5-4-"><td style="white-space:normal; text-align:left;" id="TBL-5-4-1"
class="td11"> <!--l. 284--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">MIN_CR_RATIO</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-5-4-2"
class="td11"> <code class="lstinline"><!--l. 284--><p class="noindent" ><span style="color:#000000">real</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-5-4-3"
class="td11"> <!--l. 285--><p class="noindent" >Any number
<!--l. 285--><p class="noindent" ><span
class="cmmi-10x-x-109">&#x003E; </span>1
</td><td style="white-space:normal; text-align:left;" id="TBL-5-4-4"
class="td11"> <!--l. 286--><p class="noindent" >1.5
</td><td style="white-space:normal; text-align:left;" id="TBL-5-4-5"
class="td11"> <!--l. 287--><p class="noindent" >Minimum coarsening ratio. The
aggregation stops if the ratio between
the global matrix dimensions at two
consecutive levels is lower than or
equal to this threshold (see Note).
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-5-5-"><td style="white-space:normal; text-align:left;" id="TBL-5-5-1"
class="td11"> <!--l. 292--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">MAX_LEVS</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-5-5-2"
class="td11"> <code class="lstinline"><!--l. 292--><p class="noindent" ><span style="color:#000000">integer</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-5-5-3"
class="td11"> <!--l. 293--><p class="noindent" >Any integer
<!--l. 293--><p class="noindent" >number <span
class="cmmi-10x-x-109">&#x003E; </span>1
</td><td style="white-space:normal; text-align:left;" id="TBL-5-5-4"
class="td11"> <!--l. 294--><p class="noindent" >20
</td><td style="white-space:normal; text-align:left;" id="TBL-5-5-5"
class="td11"> <!--l. 295--><p class="noindent" >Maximum number of levels. The
aggregation stops if the number of
levels reaches this value (see Note).
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-5-6-"><td style="white-space:normal; text-align:left;" id="TBL-5-6-1"
class="td11"> <!--l. 297--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">PAR_AGGR_ALG</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-5-6-2"
class="td11"> <code class="lstinline"><!--l. 297--><p class="noindent" ><span style="color:#000000">character</span><span style="color:#000000">(</span><span style="color:#000000">len</span><span style="color:#000000">=*)</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-5-6-3"
class="td11"> <!--l. 298--><p class="noindent" ><span
class="cmtt-10x-x-109">&#8217;DECOUPLED&#8217;</span>,
<span
class="cmtt-10x-x-109">&#8217;SYMDEC&#8217;</span>,
<span
class="cmtt-10x-x-109">&#8217;COUPLED&#8217;</span>
</td><td style="white-space:normal; text-align:left;" id="TBL-5-6-4"
class="td11"> <!--l. 299--><p class="noindent" ><span
class="cmtt-10x-x-109">&#8217;DECOUPLED&#8217;</span>
</td><td style="white-space:normal; text-align:left;" id="TBL-5-6-5"
class="td11"> <!--l. 300--><p class="noindent" >Parallel aggregation algorithm.
<!--l. 300--><p class="noindent" >the <code class="lstinline"><span style="color:#000000">SYMDEC</span></code> option applies decoupled
aggregation to the sparsity pattern of
<span
class="cmmi-10x-x-109">A </span>+ <span
class="cmmi-10x-x-109">A</span><sup><span
class="cmmi-8">T</span> </sup>.
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-5-7-"><td style="white-space:normal; text-align:left;" id="TBL-5-7-1"
class="td11"> <!--l. 317--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">AGGR_TYPE</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-5-7-2"
class="td11"> <code class="lstinline"><!--l. 317--><p class="noindent" ><span style="color:#000000">character</span><span style="color:#000000">(</span><span style="color:#000000">len</span><span style="color:#000000">=*)</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-5-7-3"
class="td11"> <!--l. 318--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">SOC1</span><span style="color:#000000">&#8217;</span></code>,
<code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">SOC2</span><span style="color:#000000">&#8217;</span></code>,
<code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">MATCHBOXP</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:normal; text-align:left;" id="TBL-5-7-4"
class="td11"> <!--l. 321--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">SOC1</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:normal; text-align:left;" id="TBL-5-7-5"
class="td11"> <!--l. 322--><p class="noindent" >Type
of aggregation algorithm: currently,
for the decoupled aggregation we
implement two measures of strength
of connection, the one by Van&#x011B;k,
Mandel and Brezina&#x00A0;<span class="cite">[<a
href="userhtmlli5.html#XVANEK_MANDEL_BREZINA">35</a>]</span>, and the one
by Gratton et al&#x00A0;<span class="cite">[<a
href="userhtmlli5.html#XGrHeJi:16">24</a>]</span>. The coupled
aggregation is based on a parallel
version of the half-approximate
matching implemented in the
MatchBox-P software package&#x00A0;<span class="cite">[<a
href="userhtmlli5.html#XMatchBoxP">9</a>]</span>.
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-5-8-"><td style="white-space:normal; text-align:left;" id="TBL-5-8-1"
class="td11"> <!--l. 330--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">AGGR_SIZE</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-5-8-2"
class="td11"> <code class="lstinline"><!--l. 330--><p class="noindent" ><span style="color:#000000">integer</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-5-8-3"
class="td11"> <!--l. 331--><p class="noindent" >Any integer
<!--l. 331--><p class="noindent" >power of 2,
with
<span
class="cmtt-10x-x-109">aggr</span><span
class="cmtt-10x-x-109">_size</span> <span
class="cmsy-10x-x-109">&#x2265;</span>
2
</td><td style="white-space:normal; text-align:left;" id="TBL-5-8-4"
class="td11"> <!--l. 332--><p class="noindent" >4
</td><td style="white-space:normal; text-align:left;" id="TBL-5-8-5"
class="td11"> <!--l. 333--><p class="noindent" >Maximum size of aggregates when
the coupled aggregation based on
matching is applied. For aggressive
coarsening with size of aggregate
larger than 8 we recommend the use
of smoothed prolongators. Used only
with <span
class="cmtt-10x-x-109">&#8217;COUPLED&#8217; </span>and <span
class="cmtt-10x-x-109">&#8217;MATCHBOXP&#8217;</span>
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-5-9-"><td style="white-space:normal; text-align:left;" id="TBL-5-9-1"
class="td11"> <!--l. 338--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">AGGR_PROL</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-5-9-2"
class="td11"> <code class="lstinline"><!--l. 338--><p class="noindent" ><span style="color:#000000">character</span><span style="color:#000000">(</span><span style="color:#000000">len</span><span style="color:#000000">=*)</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-5-9-3"
class="td11"> <!--l. 339--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">SMOOTHED</span><span style="color:#000000">&#8217;</span></code>,
<code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">UNSMOOTHED</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:normal; text-align:left;" id="TBL-5-9-4"
class="td11"> <!--l. 339--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">SMOOTHED</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:normal; text-align:left;" id="TBL-5-9-5"
class="td11"> <!--l. 340--><p class="noindent" >Prolongator used by the aggregation
algorithm: smoothed or unsmoothed
(i.e., tentative prolongator).
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-5-10-"><td colspan="3" style="white-space:normal; text-align:left;" id="TBL-5-10-1"
class="td11"></td> <div class="multicolumn" style="white-space:nowrap; text-align:left;"><span
class="cmbx-10x-x-109">Note. </span>The aggregation algorithm stops when at least one of the following criteria is met: the coarse size threshold, </div>
</tr><tr
style="vertical-align:baseline;" id="TBL-5-11-"><td colspan="3" style="white-space:normal; text-align:left;" id="TBL-5-11-1"
class="td11"></td> <div class="multicolumn" style="white-space:nowrap; text-align:left;">the minimum coarsening ratio, or the maximum number of levels is reached.</div>
</tr><tr
style="vertical-align:baseline;" id="TBL-5-12-"><td colspan="3" style="white-space:normal; text-align:left;" id="TBL-5-12-1"
class="td11"></td> <div class="multicolumn" style="white-space:nowrap; text-align:left;">Therefore, the actual number of levels may be smaller than the specified maximum number of levels. </div>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-5-13-"><td style="white-space:normal; text-align:left;" id="TBL-5-13-1"
class="td11"> </td></tr></table> </div>
<br /> <div class="caption"
><span class="id">Table&#x00A0;3: </span><span
class="content">Parameters defining the aggregation algorithm. </span></div><!--tex4ht:label?: x19-18010r3 -->
</div>
</div><hr class="endfloat" />
</div>
<div class="table">
<!--l. 358--><p class="indent" > <a
id="x19-18011r4"></a><hr class="float"><div class="float"
>
<div class="center"
>
<!--l. 358--><p class="noindent" >
<div class="tabular"> <table id="TBL-6" class="tabular"
><colgroup id="TBL-6-1g"><col
id="TBL-6-1"></colgroup><colgroup id="TBL-6-2g"><col
id="TBL-6-2"></colgroup><colgroup id="TBL-6-3g"><col
id="TBL-6-3"></colgroup><colgroup id="TBL-6-4g"><col
id="TBL-6-4"></colgroup><colgroup id="TBL-6-5g"><col
id="TBL-6-5"></colgroup><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-6-1-"><td style="white-space:normal; text-align:left;" id="TBL-6-1-1"
class="td11"> <!--l. 362--><p class="noindent" ><code class="lstinline"><span style="color:#000000">what</span></code> </td><td style="white-space:nowrap; text-align:left;" id="TBL-6-1-2"
class="td11"> <span
class="cmcsc-10x-x-109"><span
class="small-caps">d</span><span
class="small-caps">a</span><span
class="small-caps">t</span><span
class="small-caps">a</span> <span
class="small-caps">t</span><span
class="small-caps">y</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-6-1-3"
class="td11"> <!--l. 362--><p class="noindent" ><code class="lstinline"><span style="color:#000000">val</span></code> </td><td style="white-space:normal; text-align:left;" id="TBL-6-1-4"
class="td11"> <!--l. 362--><p class="noindent" ><span
class="cmcsc-10x-x-109"><span
class="small-caps">d</span><span
class="small-caps">e</span><span
class="small-caps">f</span><span
class="small-caps">a</span><span
class="small-caps">u</span><span
class="small-caps">l</span><span
class="small-caps">t</span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-6-1-5"
class="td11"> <!--l. 363--><p class="noindent" ><span
class="cmcsc-10x-x-109"><span
class="small-caps">c</span><span
class="small-caps">o</span><span
class="small-caps">m</span><span
class="small-caps">m</span><span
class="small-caps">e</span><span
class="small-caps">n</span><span
class="small-caps">t</span><span
class="small-caps">s</span></span> </td></tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-6-2-"><td style="white-space:normal; text-align:left;" id="TBL-6-2-1"
class="td11"> <!--l. 365--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">AGGR_ORD</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-6-2-2"
class="td11"> <code class="lstinline"><!--l. 365--><p class="noindent" ><span style="color:#000000">character</span><span style="color:#000000">(</span><span style="color:#000000">len</span><span style="color:#000000">=*)</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-6-2-3"
class="td11"> <!--l. 366--><p class="noindent" ><span
class="cmtt-10x-x-109">&#8217;NATURAL&#8217;</span>
<!--l. 366--><p class="noindent" ><span
class="cmtt-10x-x-109">&#8217;DEGREE&#8217;</span>
</td><td style="white-space:normal; text-align:left;" id="TBL-6-2-4"
class="td11"> <!--l. 367--><p class="noindent" ><span
class="cmtt-10x-x-109">&#8217;NATURAL&#8217;</span>
</td><td style="white-space:normal; text-align:left;" id="TBL-6-2-5"
class="td11"> <!--l. 368--><p class="noindent" >Initial ordering of indices for
the decoupled aggregation algorithm:
either natural ordering or sorted by
descending degrees of the nodes in the
matrix graph.
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-6-3-"><td style="white-space:normal; text-align:left;" id="TBL-6-3-1"
class="td11"> <!--l. 375--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">AGGR_THRESH</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-6-3-2"
class="td11"> <code class="lstinline"><!--l. 375--><p class="noindent" ><span style="color:#000000">real</span><span style="color:#000000">(</span><span style="color:#000000">kind_parameter</span><span style="color:#000000">)</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-6-3-3"
class="td11"> <!--l. 376--><p class="noindent" >Any&#x00A0;real
<!--l. 376--><p class="noindent" >number&#x00A0;<span
class="cmsy-10x-x-109">&#x2208;</span>
[0<span
class="cmmi-10x-x-109">,</span>1]
</td><td style="white-space:normal; text-align:left;" id="TBL-6-3-4"
class="td11"> <!--l. 377--><p class="noindent" >0.01
</td><td style="white-space:normal; text-align:left;" id="TBL-6-3-5"
class="td11"> <!--l. 378--><p class="noindent" >The threshold <span
class="cmmi-10x-x-109">&#x03B8; </span>in the strength of
connection algorithm. See also the note
at the bottom of this table.
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-6-4-"><td style="white-space:normal; text-align:left;" id="TBL-6-4-1"
class="td11"> <!--l. 381--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">AGGR_FILTER</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-6-4-2"
class="td11"> <code class="lstinline"><!--l. 382--><p class="noindent" ><span style="color:#000000">character</span><span style="color:#000000">(</span><span style="color:#000000">len</span><span style="color:#000000">=*)</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-6-4-3"
class="td11"> <!--l. 383--><p class="noindent" ><span
class="cmtt-10x-x-109">&#8217;FILTER&#8217;</span>
<!--l. 383--><p class="noindent" ><span
class="cmtt-10x-x-109">&#8217;NOFILTER&#8217;</span>
</td><td style="white-space:normal; text-align:left;" id="TBL-6-4-4"
class="td11"> <!--l. 384--><p class="noindent" ><span
class="cmtt-10x-x-109">&#8217;NOFILTER&#8217;</span>
</td><td style="white-space:normal; text-align:left;" id="TBL-6-4-5"
class="td11"> <!--l. 385--><p class="noindent" >Matrix used in computing the smoothed
prolongator: filtered or unfiltered.
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-6-5-"><td colspan="3" style="white-space:normal; text-align:left;" id="TBL-6-5-1"
class="td11"></td> <div class="multicolumn" style="white-space:nowrap; text-align:left;"><span
class="cmbx-10x-x-109">Note. </span>Different thresholds at different levels, such as those used in <span class="cite">[<a
href="userhtmlli5.html#XVANEK_MANDEL_BREZINA">35</a>, Section&#x00A0;5.1]</span>, can be easily set by invoking the rou-</div>
</tr><tr
style="vertical-align:baseline;" id="TBL-6-6-"><td colspan="3" style="white-space:normal; text-align:left;" id="TBL-6-6-1"
class="td11"></td> <div class="multicolumn" style="white-space:nowrap; text-align:left;">tine <span
class="cmtt-10x-x-109">set </span>with the parameter <span
class="cmtt-10x-x-109">ilev</span>.</div>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-6-7-"><td style="white-space:normal; text-align:left;" id="TBL-6-7-1"
class="td11"> </td></tr></table> </div></div>
<br /> <div class="caption"
><span class="id">Table&#x00A0;4: </span><span
class="content">Parameters defining the aggregation algorithm (continued). </span></div><!--tex4ht:label?: x19-18011r4 -->
</div><hr class="endfloat" />
</div>
<div class="table">
<!--l. 402--><p class="indent" > <a
id="x19-18012r5"></a><hr class="float"><div class="float"
>
<div class="center"
>
<!--l. 402--><p class="noindent" >
<div class="tabular"> <table id="TBL-7" class="tabular"
><colgroup id="TBL-7-1g"><col
id="TBL-7-1"></colgroup><colgroup id="TBL-7-2g"><col
id="TBL-7-2"></colgroup><colgroup id="TBL-7-3g"><col
id="TBL-7-3"></colgroup><colgroup id="TBL-7-4g"><col
id="TBL-7-4"></colgroup><colgroup id="TBL-7-5g"><col
id="TBL-7-5"></colgroup><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-7-1-"><td style="white-space:normal; text-align:left;" id="TBL-7-1-1"
class="td11"> <!--l. 405--><p class="noindent" ><code class="lstinline"><span style="color:#000000">what</span></code> </td><td style="white-space:nowrap; text-align:left;" id="TBL-7-1-2"
class="td11"> <span
class="cmcsc-10x-x-109"><span
class="small-caps">d</span><span
class="small-caps">a</span><span
class="small-caps">t</span><span
class="small-caps">a</span> <span
class="small-caps">t</span><span
class="small-caps">y</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-7-1-3"
class="td11"> <!--l. 405--><p class="noindent" ><code class="lstinline"><span style="color:#000000">val</span></code> </td><td style="white-space:normal; text-align:left;" id="TBL-7-1-4"
class="td11"> <!--l. 405--><p class="noindent" ><span
class="cmcsc-10x-x-109"><span
class="small-caps">d</span><span
class="small-caps">e</span><span
class="small-caps">f</span><span
class="small-caps">a</span><span
class="small-caps">u</span><span
class="small-caps">l</span><span
class="small-caps">t</span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-7-1-5"
class="td11"> <!--l. 406--><p class="noindent" ><span
class="cmcsc-10x-x-109"><span
class="small-caps">c</span><span
class="small-caps">o</span><span
class="small-caps">m</span><span
class="small-caps">m</span><span
class="small-caps">e</span><span
class="small-caps">n</span><span
class="small-caps">t</span><span
class="small-caps">s</span></span> </td></tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-7-2-"><td style="white-space:normal; text-align:left;" id="TBL-7-2-1"
class="td11"> <!--l. 407--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">COARSE_MAT</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-7-2-2"
class="td11"> <code class="lstinline"><!--l. 407--><p class="noindent" ><span style="color:#000000">character</span><span style="color:#000000">(</span><span style="color:#000000">len</span><span style="color:#000000">=*)</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-7-2-3"
class="td11"> <!--l. 408--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">DIST</span><span style="color:#000000">&#8217;</span></code>
<!--l. 408--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">REPL</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:normal; text-align:left;" id="TBL-7-2-4"
class="td11"> <!--l. 409--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">REPL</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:normal; text-align:left;" id="TBL-7-2-5"
class="td11"> <!--l. 410--><p class="noindent" >Coarsest matrix layout: distributed among the
processes or replicated on each of them.
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-7-3-"><td style="white-space:normal; text-align:left;" id="TBL-7-3-1"
class="td11"> <!--l. 412--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">COARSE_SOLVE</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-7-3-2"
class="td11"> <code class="lstinline"><!--l. 412--><p class="noindent" ><span style="color:#000000">character</span><span style="color:#000000">(</span><span style="color:#000000">len</span><span style="color:#000000">=*)</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-7-3-3"
class="td11"> <!--l. 413--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">MUMPS</span><span style="color:#000000">&#8217;</span></code>
<!--l. 413--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">UMF</span><span style="color:#000000">&#8217;</span></code>
<!--l. 414--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">SLU</span><span style="color:#000000">&#8217;</span></code>
<!--l. 414--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">SLUDIST</span><span style="color:#000000">&#8217;</span></code>
<!--l. 415--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">ILU</span><span style="color:#000000">&#8217;</span></code>
<!--l. 416--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">JACOBI</span><span style="color:#000000">&#8217;</span></code>
<!--l. 417--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">GS</span><span style="color:#000000">&#8217;</span></code>
<!--l. 418--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">BJAC</span><span style="color:#000000">&#8217;</span></code>
<!--l. 419--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">KRM</span><span style="color:#000000">&#8217;</span></code>
<!--l. 420--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">L1</span><span style="color:#000000">-</span><span style="color:#000000">JACOBI</span><span style="color:#000000">&#8217;</span></code>
<!--l. 421--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">L1</span><span style="color:#000000">-</span><span style="color:#000000">BJAC</span><span style="color:#000000">&#8217;</span></code>
<!--l. 422--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">L1</span><span style="color:#000000">-</span><span style="color:#000000">FBGS</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:normal; text-align:left;" id="TBL-7-3-4"
class="td11"> <!--l. 423--><p class="noindent" >See&#x00A0;Note.
</td><td style="white-space:normal; text-align:left;" id="TBL-7-3-5"
class="td11"> <!--l. 424--><p class="noindent" >Solver used at the coarsest level: sequential
LU from MUMPS, UMFPACK, or SuperLU
(plus triangular solve); distributed LU from
MUMPS or SuperLU_Dist (plus triangular solve);
point-Jacobi, hybrid Gauss-Seidel or block-Jacobi
and related <span
class="cmmi-10x-x-109">&#x2113;</span><sub><span
class="cmr-8">1</span></sub>-versions; Krylov Method (flexible
Conjugate Gradient) coupled with the block-Jacobi
preconditioner with ILU(0) on the blocks. Note
that <span
class="cmtt-10x-x-109">UMF </span>and <span
class="cmtt-10x-x-109">SLU </span>require the coarsest matrix to
be replicated, <span
class="cmtt-10x-x-109">SLUDIST</span>, <span
class="cmtt-10x-x-109">JACOBI</span>, <span
class="cmtt-10x-x-109">GS</span>, <span
class="cmtt-10x-x-109">BJAC </span>and <span
class="cmtt-10x-x-109">KRM</span>
require it to be distributed, <span
class="cmtt-10x-x-109">MUMPS </span>can be used with
either a replicated or a distributed matrix. When
any of the previous solvers is specified, the matrix
layout is set to a default value which allows the use
of the solver (see Remark 4, p.&#x00A0;21). Note also that
UMFPACK and SuperLU_Dist are available only in
double precision.
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-7-4-"><td style="white-space:normal; text-align:left;" id="TBL-7-4-1"
class="td11"> <!--l. 454--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">COARSE_SUBSOLVE</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-7-4-2"
class="td11"> <code class="lstinline"><!--l. 454--><p class="noindent" ><span style="color:#000000">character</span><span style="color:#000000">(</span><span style="color:#000000">len</span><span style="color:#000000">=*)</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-7-4-3"
class="td11"> <!--l. 455--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">ILU</span><span style="color:#000000">&#8217;</span></code>
<!--l. 456--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">ILUT</span><span style="color:#000000">&#8217;</span></code>
<!--l. 457--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">MILU</span><span style="color:#000000">&#8217;</span></code>
<!--l. 458--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">MUMPS</span><span style="color:#000000">&#8217;</span></code>
<!--l. 459--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">SLU</span><span style="color:#000000">&#8217;</span></code>
<!--l. 460--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">SLUDIST</span><span style="color:#000000">&#8217;</span></code>
<!--l. 461--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">UMF</span><span style="color:#000000">&#8217;</span></code>
<!--l. 462--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">INVT</span><span style="color:#000000">&#8217;</span></code>
<!--l. 463--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">INVK</span><span style="color:#000000">&#8217;</span></code>
<!--l. 464--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">AINV</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:normal; text-align:left;" id="TBL-7-4-4"
class="td11"> <!--l. 465--><p class="noindent" >See&#x00A0;Note.
</td><td style="white-space:normal; text-align:left;" id="TBL-7-4-5"
class="td11"> <!--l. 466--><p class="noindent" >Solver for the diagonal blocks of the coarsest
matrix, in case the block Jacobi solver is chosen
as coarsest-level solver: ILU(<span
class="cmmi-10x-x-109">p</span>), ILU(<span
class="cmmi-10x-x-109">p,t</span>), MILU(<span
class="cmmi-10x-x-109">p</span>),
LU from MUMPS, SuperLU or UMFPACK
(plus triangular solve), Approximate Inverses
INVK(<span
class="cmmi-10x-x-109">p,q</span>), INVT(<span
class="cmmi-10x-x-109">p</span><sub><span
class="cmr-8">1</span></sub><span
class="cmmi-10x-x-109">,p</span>2<span
class="cmmi-10x-x-109">,t</span><sub><span
class="cmr-8">1</span></sub><span
class="cmmi-10x-x-109">,t</span><sub><span
class="cmr-8">2</span></sub>) and AINV(<span
class="cmmi-10x-x-109">t</span>); note
that approximate inverses are specifically suited
for GPUs since they do not employ triangular
system solve kernels, see&#x00A0;<span class="cite">[<a
href="userhtmlli5.html#XBERTACCINIFILIPPONE">3</a>]</span>. Note that UMFPACK
and SuperLU_Dist are available only in double
precision.
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-7-5-"><td colspan="3" style="white-space:normal; text-align:left;" id="TBL-7-5-1"
class="td11"></td> <div class="multicolumn" style="white-space:nowrap; text-align:left;"><span
class="cmbx-10x-x-109">Note. </span>Defaults for <span
class="cmtt-10x-x-109">COARSE</span><span
class="cmtt-10x-x-109">_SOLVE </span>and <span
class="cmtt-10x-x-109">COARSE</span><span
class="cmtt-10x-x-109">_SUBSOLVE </span>are chosen in the following order:</div>
</tr><tr
style="vertical-align:baseline;" id="TBL-7-6-"><td colspan="3" style="white-space:normal; text-align:left;" id="TBL-7-6-1"
class="td11"></td> <div class="multicolumn" style="white-space:nowrap; text-align:left;">single precision version &#8211; <span
class="cmtt-10x-x-109">MUMPS </span>if installed, then <span
class="cmtt-10x-x-109">SLU </span>if installed, <span
class="cmtt-10x-x-109">ILU </span>otherwise;</div>
</tr><tr
style="vertical-align:baseline;" id="TBL-7-7-"><td colspan="3" style="white-space:normal; text-align:left;" id="TBL-7-7-1"
class="td11"></td> <div class="multicolumn" style="white-space:nowrap; text-align:left;">double precision version &#8211; <span
class="cmtt-10x-x-109">UMF </span>if installed, then <span
class="cmtt-10x-x-109">MUMPS </span>if installed, then <span
class="cmtt-10x-x-109">SLU </span>if installed, <span
class="cmtt-10x-x-109">ILU </span>otherwise.</div>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-7-8-"><td style="white-space:normal; text-align:left;" id="TBL-7-8-1"
class="td11"> <!--l. 497--><p class="noindent" ><code class="lstinline"><span style="color:#000000">what</span></code> </td><td style="white-space:nowrap; text-align:left;" id="TBL-7-8-2"
class="td11"> <span
class="cmcsc-10x-x-109"><span
class="small-caps">d</span><span
class="small-caps">a</span><span
class="small-caps">t</span><span
class="small-caps">a</span> <span
class="small-caps">t</span><span
class="small-caps">y</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-7-8-3"
class="td11"> <!--l. 497--><p class="noindent" ><code class="lstinline"><span style="color:#000000">val</span></code> </td><td style="white-space:normal; text-align:left;" id="TBL-7-8-4"
class="td11"> <!--l. 497--><p class="noindent" ><span
class="cmcsc-10x-x-109"><span
class="small-caps">d</span><span
class="small-caps">e</span><span
class="small-caps">f</span><span
class="small-caps">a</span><span
class="small-caps">u</span><span
class="small-caps">l</span><span
class="small-caps">t</span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-7-8-5"
class="td11"> <!--l. 498--><p class="noindent" ><span
class="cmcsc-10x-x-109"><span
class="small-caps">c</span><span
class="small-caps">o</span><span
class="small-caps">m</span><span
class="small-caps">m</span><span
class="small-caps">e</span><span
class="small-caps">n</span><span
class="small-caps">t</span><span
class="small-caps">s</span></span> </td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-7-9-"><td style="white-space:normal; text-align:left;" id="TBL-7-9-1"
class="td11"> <!--l. 499--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">COARSE_SWEEPS</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-7-9-2"
class="td11"> <code class="lstinline"><!--l. 499--><p class="noindent" ><span style="color:#000000">integer</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-7-9-3"
class="td11"> <!--l. 500--><p class="noindent" >Any
integer
number <span
class="cmmi-10x-x-109">&#x003E;</span>
0
</td><td style="white-space:normal; text-align:left;" id="TBL-7-9-4"
class="td11"> <!--l. 501--><p class="noindent" >10
</td><td style="white-space:normal; text-align:left;" id="TBL-7-9-5"
class="td11"> <!--l. 502--><p class="noindent" >Number of sweeps when <code class="lstinline"><span style="color:#000000">JACOBI</span></code>, <code class="lstinline"><span style="color:#000000">GS</span></code> or <code class="lstinline"><span style="color:#000000">BJAC</span></code> is
chosen as coarsest-level solver.
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-7-10-"><td style="white-space:normal; text-align:left;" id="TBL-7-10-1"
class="td11"> <!--l. 504--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">COARSE_FILLIN</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-7-10-2"
class="td11"> <code class="lstinline"><!--l. 504--><p class="noindent" ><span style="color:#000000">integer</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-7-10-3"
class="td11"> <!--l. 505--><p class="noindent" >Any
integer
number <span
class="cmsy-10x-x-109">&#x2265;</span>
0
</td><td style="white-space:normal; text-align:left;" id="TBL-7-10-4"
class="td11"> <!--l. 506--><p class="noindent" >0
</td><td style="white-space:normal; text-align:left;" id="TBL-7-10-5"
class="td11"> <!--l. 507--><p class="noindent" >Fill-in level <span
class="cmmi-10x-x-109">p </span>of the ILU factorizations and first
fill-in for the approximate inverses.
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-7-11-"><td style="white-space:normal; text-align:left;" id="TBL-7-11-1"
class="td11"> <!--l. 509--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">COARSE_ILUTHRS</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-7-11-2"
class="td11"> <code class="lstinline"><!--l. 510--><p class="noindent" ><span style="color:#000000">real</span><span style="color:#000000">(</span><span style="color:#000000">kind_parameter</span><span style="color:#000000">)</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-7-11-3"
class="td11"> <!--l. 511--><p class="noindent" >Any real
number <span
class="cmsy-10x-x-109">&#x2265;</span>
0
</td><td style="white-space:normal; text-align:left;" id="TBL-7-11-4"
class="td11"> <!--l. 512--><p class="noindent" >0
</td><td style="white-space:normal; text-align:left;" id="TBL-7-11-5"
class="td11"> <!--l. 513--><p class="noindent" >Drop tolerance <span
class="cmmi-10x-x-109">t </span>in the ILU(<span
class="cmmi-10x-x-109">p,t</span>) factorization and
first drop-tolerance for the approximate inverses.
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-7-12-"><td colspan="3" style="white-space:normal; text-align:left;" id="TBL-7-12-1"
class="td11"></td> <div class="multicolumn" style="white-space:nowrap; text-align:left;"><span
class="cmbx-10x-x-109">Note. </span>Further options for coarse solvers are contained in Table&#x00A0;<a
href="#x19-18013r6">6<!--tex4ht:ref: tab:p_coarse_2 --></a>.</div>
</tr><tr
style="vertical-align:baseline;" id="TBL-7-13-"><td colspan="3" style="white-space:normal; text-align:left;" id="TBL-7-13-1"
class="td11"></td> <div class="multicolumn" style="white-space:nowrap; text-align:left;">For a first use it is suggested to use the default options obtained by simply selecting the solver type.</div>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-7-14-"><td style="white-space:normal; text-align:left;" id="TBL-7-14-1"
class="td11"> </td></tr></table> </div></div>
<br /> <div class="caption"
><span class="id">Table&#x00A0;5: </span><span
class="content">Parameters defining the solver at the coarsest level (continued).</span></div><!--tex4ht:label?: x19-18012r5 -->
</div><hr class="endfloat" />
</div>
<div class="table">
<!--l. 526--><p class="indent" > <a
id="x19-18013r6"></a><hr class="float"><div class="float"
>
<div class="center"
>
<!--l. 526--><p class="noindent" >
<div class="tabular"> <table id="TBL-8" class="tabular"
><colgroup id="TBL-8-1g"><col
id="TBL-8-1"></colgroup><colgroup id="TBL-8-2g"><col
id="TBL-8-2"></colgroup><colgroup id="TBL-8-3g"><col
id="TBL-8-3"></colgroup><colgroup id="TBL-8-4g"><col
id="TBL-8-4"></colgroup><colgroup id="TBL-8-5g"><col
id="TBL-8-5"></colgroup><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-8-1-"><td style="white-space:normal; text-align:left;" id="TBL-8-1-1"
class="td11"> <!--l. 529--><p class="noindent" ><code class="lstinline"><span style="color:#000000">what</span></code> </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-1-2"
class="td11"> <span
class="cmcsc-10x-x-109"><span
class="small-caps">d</span><span
class="small-caps">a</span><span
class="small-caps">t</span><span
class="small-caps">a</span> <span
class="small-caps">t</span><span
class="small-caps">y</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-8-1-3"
class="td11"> <!--l. 529--><p class="noindent" ><code class="lstinline"><span style="color:#000000">val</span></code> </td><td style="white-space:normal; text-align:left;" id="TBL-8-1-4"
class="td11"> <!--l. 529--><p class="noindent" ><span
class="cmcsc-10x-x-109"><span
class="small-caps">d</span><span
class="small-caps">e</span><span
class="small-caps">f</span><span
class="small-caps">a</span><span
class="small-caps">u</span><span
class="small-caps">l</span><span
class="small-caps">t</span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-8-1-5"
class="td11"> <!--l. 530--><p class="noindent" ><span
class="cmcsc-10x-x-109"><span
class="small-caps">c</span><span
class="small-caps">o</span><span
class="small-caps">m</span><span
class="small-caps">m</span><span
class="small-caps">e</span><span
class="small-caps">n</span><span
class="small-caps">t</span><span
class="small-caps">s</span></span> </td></tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-8-2-"><td style="white-space:normal; text-align:left;" id="TBL-8-2-1"
class="td11"> <!--l. 531--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">BJAC_STOP</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-8-2-2"
class="td11"> <code class="lstinline"><!--l. 531--><p class="noindent" ><span style="color:#000000">character</span><span style="color:#000000">(</span><span style="color:#000000">len</span><span style="color:#000000">=*)</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-8-2-3"
class="td11"> <!--l. 531--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">FALSE</span><span style="color:#000000">&#8217;</span></code>
<!--l. 531--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">TRUE</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:normal; text-align:left;" id="TBL-8-2-4"
class="td11"> <!--l. 531--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">FALSE</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:normal; text-align:left;" id="TBL-8-2-5"
class="td11"> <!--l. 531--><p class="noindent" >Select whether to use a stopping criterion for
the Block-Jacobi method used as a coarse
solver.
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-8-3-"><td style="white-space:normal; text-align:left;" id="TBL-8-3-1"
class="td11"> <!--l. 532--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">BJAC_TRACE</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-8-3-2"
class="td11"> <code class="lstinline"><!--l. 532--><p class="noindent" ><span style="color:#000000">character</span><span style="color:#000000">(</span><span style="color:#000000">len</span><span style="color:#000000">=*)</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-8-3-3"
class="td11"> <!--l. 532--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">FALSE</span><span style="color:#000000">&#8217;</span></code>
<!--l. 532--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">TRUE</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:normal; text-align:left;" id="TBL-8-3-4"
class="td11"> <!--l. 532--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">FALSE</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:normal; text-align:left;" id="TBL-8-3-5"
class="td11"> <!--l. 532--><p class="noindent" >Select whether to print a trace for the
calculated residual for the Block-Jacobi
method used as a coarse solver.
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-8-4-"><td style="white-space:normal; text-align:left;" id="TBL-8-4-1"
class="td11"> <!--l. 533--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">BJAC_ITRACE</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-8-4-2"
class="td11"> <code class="lstinline"><!--l. 533--><p class="noindent" ><span style="color:#000000">integer</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-8-4-3"
class="td11"> <!--l. 533--><p class="noindent" >Any integer
<!--l. 533--><p class="noindent" ><span
class="cmmi-10x-x-109">&#x003E; </span>0
</td><td style="white-space:normal; text-align:left;" id="TBL-8-4-4"
class="td11"> <!--l. 533--><p class="noindent" >-1
</td><td style="white-space:normal; text-align:left;" id="TBL-8-4-5"
class="td11"> <!--l. 533--><p class="noindent" >Number of iterations after which a trace is to
be printed.
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-8-5-"><td style="white-space:normal; text-align:left;" id="TBL-8-5-1"
class="td11"> <!--l. 534--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">BJAC_RESCHECK</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-8-5-2"
class="td11"> <code class="lstinline"><!--l. 534--><p class="noindent" ><span style="color:#000000">integer</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-8-5-3"
class="td11"> <!--l. 534--><p class="noindent" >Any integer
<!--l. 534--><p class="noindent" ><span
class="cmmi-10x-x-109">&#x003E; </span>0
</td><td style="white-space:normal; text-align:left;" id="TBL-8-5-4"
class="td11"> <!--l. 534--><p class="noindent" >-1
</td><td style="white-space:normal; text-align:left;" id="TBL-8-5-5"
class="td11"> <!--l. 534--><p class="noindent" >Number of iterations after which a residual is
to be calculated.
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-8-6-"><td style="white-space:normal; text-align:left;" id="TBL-8-6-1"
class="td11"> <!--l. 535--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">BJAC_STOPTOL</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-8-6-2"
class="td11"> <code class="lstinline"><!--l. 535--><p class="noindent" ><span style="color:#000000">real</span><span style="color:#000000">(</span><span style="color:#000000">kind_parameter</span><span style="color:#000000">)</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-8-6-3"
class="td11"> <!--l. 535--><p class="noindent" >Any real
<!--l. 535--><p class="noindent" ><span
class="cmmi-10x-x-109">&#x003C; </span>1
</td><td style="white-space:normal; text-align:left;" id="TBL-8-6-4"
class="td11"> <!--l. 535--><p class="noindent" >0
</td><td style="white-space:normal; text-align:left;" id="TBL-8-6-5"
class="td11"> <!--l. 535--><p class="noindent" >Tolerance for the stopping criterion on the
residual.
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-8-7-"><td style="white-space:normal; text-align:left;" id="TBL-8-7-1"
class="td11"> <!--l. 536--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">KRM_METHOD</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-8-7-2"
class="td11"> <code class="lstinline"><!--l. 536--><p class="noindent" ><span style="color:#000000">character</span><span style="color:#000000">(</span><span style="color:#000000">len</span><span style="color:#000000">=*)</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-8-7-3"
class="td11"> <!--l. 536--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">CG</span><span style="color:#000000">&#8217;</span></code>
<!--l. 536--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">FCG</span><span style="color:#000000">&#8217;</span></code>
<!--l. 536--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">CGS</span><span style="color:#000000">&#8217;</span></code>
<!--l. 536--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">CGR</span><span style="color:#000000">&#8217;</span></code>
<!--l. 536--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">BICG</span><span style="color:#000000">&#8217;</span></code>
<!--l. 536--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">BICGSTAB</span><span style="color:#000000">&#8217;</span></code>
<!--l. 536--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">BICGSTABL</span><span style="color:#000000">&#8217;</span></code>
<!--l. 536--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">RGMRES</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:normal; text-align:left;" id="TBL-8-7-4"
class="td11"> <!--l. 536--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">FCG</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:normal; text-align:left;" id="TBL-8-7-5"
class="td11"> <!--l. 536--><p class="noindent" >A string that defines the iterative method to
be used when employing a Krylov method
<code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">KRM</span><span style="color:#000000">&#8217;</span></code> as a coarse solver. <span
class="cmtt-10x-x-109">CG </span>the Conjugate
Gradient method; <span
class="cmtt-10x-x-109">FCG </span>the Flexible Conjugate
Gradient method; <span
class="cmtt-10x-x-109">CGS </span>the Conjugate Gradient
Stabilized
method; <span
class="cmtt-10x-x-109">GCR </span>the Generalized Conjugate
Residual method; <span
class="cmtt-10x-x-109">FCG </span>the Flexible Conjugate
Gradient method; <span
class="cmtt-10x-x-109">BICG </span>the Bi-Conjugate
Gradient method; <span
class="cmtt-10x-x-109">BICGSTAB </span>the Bi-Conjugate
Gradient Stabilized method; <span
class="cmtt-10x-x-109">BICGSTABL </span>the
Bi-Conjugate Gradient Stabilized method
with restarting; <span
class="cmtt-10x-x-109">RGMRES </span>the Generalized
Minimal Residual method with restarting.
Refer to the PSBLAS guide&#x00A0;<span class="cite">[<a
href="userhtmlli5.html#XPSBLASGUIDE">21</a>]</span> for further
information.
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-8-8-"><td style="white-space:normal; text-align:left;" id="TBL-8-8-1"
class="td11"> <!--l. 546--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">KRM_KPREC</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-8-8-2"
class="td11"> <code class="lstinline"><!--l. 546--><p class="noindent" ><span style="color:#000000">character</span><span style="color:#000000">(</span><span style="color:#000000">len</span><span style="color:#000000">=*)</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-8-8-3"
class="td11"> <!--l. 546--><p class="noindent" >Table&#x00A0;<a
href="userhtmlse4.html#x14-13015r1">1<!--tex4ht:ref: tab:precinit --></a>
</td><td style="white-space:normal; text-align:left;" id="TBL-8-8-4"
class="td11"> <!--l. 546--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">BJAC</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:normal; text-align:left;" id="TBL-8-8-5"
class="td11"> <!--l. 546--><p class="noindent" >The one-level
preconditioners from the Table&#x00A0;<a
href="userhtmlse4.html#x14-13015r1">1<!--tex4ht:ref: tab:precinit --></a> can be used
for the coarse Krylov solver.
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-8-9-"><td style="white-space:normal; text-align:left;" id="TBL-8-9-1"
class="td11"> <!--l. 558--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">KRM_SUB_SOLVE</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-8-9-2"
class="td11"> <code class="lstinline"><!--l. 558--><p class="noindent" ><span style="color:#000000">character</span><span style="color:#000000">(</span><span style="color:#000000">len</span><span style="color:#000000">=*)</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-8-9-3"
class="td11"> <!--l. 558--><p class="noindent" >Table&#x00A0;<a
href="#x19-18012r5">5<!--tex4ht:ref: tab:p_coarse_1 --></a>
</td><td style="white-space:normal; text-align:left;" id="TBL-8-9-4"
class="td11"> <!--l. 558--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">ILU</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:normal; text-align:left;" id="TBL-8-9-5"
class="td11"> <!--l. 558--><p class="noindent" >Solver for the diagonal blocks of the coarsest
matrix preconditioner, in case the block Jacobi
solver is chosen
as <code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">KRM_KPREC</span><span style="color:#000000">&#8217;</span></code>: ILU(<span
class="cmmi-10x-x-109">p</span>), ILU(<span
class="cmmi-10x-x-109">p,t</span>), MILU(<span
class="cmmi-10x-x-109">p</span>),
LU from MUMPS, SuperLU or UMFPACK
(plus triangular solve), Approximate Inverses
INVK(<span
class="cmmi-10x-x-109">p,q</span>), INVT(<span
class="cmmi-10x-x-109">p</span><sub><span
class="cmr-8">1</span></sub><span
class="cmmi-10x-x-109">,p</span>2<span
class="cmmi-10x-x-109">,t</span><sub><span
class="cmr-8">1</span></sub><span
class="cmmi-10x-x-109">,t</span><sub><span
class="cmr-8">2</span></sub>) and AINV(<span
class="cmmi-10x-x-109">t</span>);
The same caveat from Table&#x00A0;<a
href="#x19-18012r5">5<!--tex4ht:ref: tab:p_coarse_1 --></a> applies here.
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-8-10-"><td style="white-space:normal; text-align:left;" id="TBL-8-10-1"
class="td11"> <!--l. 565--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">KRM_GLOBAL</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-8-10-2"
class="td11"> <code class="lstinline"><!--l. 565--><p class="noindent" ><span style="color:#000000">character</span><span style="color:#000000">(</span><span style="color:#000000">len</span><span style="color:#000000">=*)</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-8-10-3"
class="td11"> <!--l. 565--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">TRUE</span><span style="color:#000000">&#8217;</span></code>,
<code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">FALSE</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:normal; text-align:left;" id="TBL-8-10-4"
class="td11"> <!--l. 565--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">FALSE</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:normal; text-align:left;" id="TBL-8-10-5"
class="td11"> <!--l. 565--><p class="noindent" >Choose between a global Krylov solver, all
unknowns on a single node, or a distributed
one. The default choice is the distributed
solver.
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-8-11-"><td style="white-space:normal; text-align:left;" id="TBL-8-11-1"
class="td11"> <!--l. 566--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">KRM_EPS</span><span style="color:#000000">&#8217;</span></code> </td><td style="white-space:nowrap; text-align:left;" id="TBL-8-11-2"
class="td11"> <code class="lstinline"><!--l. 566--><p class="noindent" ><span style="color:#000000">real</span><span style="color:#000000">(</span><span style="color:#000000">kind_parameter</span><span style="color:#000000">)</span> </code> </td><td style="white-space:normal; text-align:left;" id="TBL-8-11-3"
class="td11"> <!--l. 566--><p class="noindent" >Real <span
class="cmmi-10x-x-109">&#x003C; </span>1 </td><td style="white-space:normal; text-align:left;" id="TBL-8-11-4"
class="td11"> <!--l. 566--><p class="noindent" >10<sup><span
class="cmsy-8">-</span><span
class="cmr-8">6</span> </sup> </td><td style="white-space:normal; text-align:left;" id="TBL-8-11-5"
class="td11"> <!--l. 566--><p class="noindent" >The stopping tolerance. </td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-8-12-"><td style="white-space:normal; text-align:left;" id="TBL-8-12-1"
class="td11"> <!--l. 567--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">KRM_IRST</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-8-12-2"
class="td11"> <code class="lstinline"><!--l. 567--><p class="noindent" ><span style="color:#000000">integer</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-8-12-3"
class="td11"> <!--l. 567--><p class="noindent" >Integer
<!--l. 567--><p class="noindent" ><span
class="cmsy-10x-x-109">&#x2265; </span>1
</td><td style="white-space:normal; text-align:left;" id="TBL-8-12-4"
class="td11"> <!--l. 567--><p class="noindent" >30
</td><td style="white-space:normal; text-align:left;" id="TBL-8-12-5"
class="td11"> <!--l. 567--><p class="noindent" >An integer specifying the restart parameter.
This is employed for the <span
class="cmtt-10x-x-109">BiCGSTABL </span>or <span
class="cmtt-10x-x-109">RGMRES</span>
methods, otherwise it is ignored.
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-8-13-"><td style="white-space:normal; text-align:left;" id="TBL-8-13-1"
class="td11"> <!--l. 568--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">KRM_ISTOPC</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-8-13-2"
class="td11"> <code class="lstinline"><!--l. 568--><p class="noindent" ><span style="color:#000000">integer</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-8-13-3"
class="td11"> <!--l. 568--><p class="noindent" >Integers
1,2,3
</td><td style="white-space:normal; text-align:left;" id="TBL-8-13-4"
class="td11"> <!--l. 568--><p class="noindent" >2
</td><td style="white-space:normal; text-align:left;" id="TBL-8-13-5"
class="td11"> <!--l. 568--><p class="noindent" >If <span
class="cmtt-10x-x-109">1 </span>then the method uses the normwise
backward error in the infinity norm; if <span
class="cmtt-10x-x-109">2</span>, the
it uses the relative residual in the 2-norm; if <span
class="cmtt-10x-x-109">3</span>
the relative residual reduction in the 2-norm is
used instead; refer to the PSBLAS&#x00A0;<span class="cite">[<a
href="userhtmlli5.html#XPSBLASGUIDE">21</a>]</span> guide
for the details.
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-8-14-"><td style="white-space:normal; text-align:left;" id="TBL-8-14-1"
class="td11"> <!--l. 570--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">KRM_ITMAX</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-8-14-2"
class="td11"> <code class="lstinline"><!--l. 570--><p class="noindent" ><span style="color:#000000">integer</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-8-14-3"
class="td11"> <!--l. 570--><p class="noindent" >Integer
<!--l. 570--><p class="noindent" ><span
class="cmsy-10x-x-109">&#x2265; </span>1
</td><td style="white-space:normal; text-align:left;" id="TBL-8-14-4"
class="td11"> <!--l. 570--><p class="noindent" >40
</td><td style="white-space:normal; text-align:left;" id="TBL-8-14-5"
class="td11"> <!--l. 570--><p class="noindent" >The maximum number of iterations to
perform.
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-8-15-"><td style="white-space:normal; text-align:left;" id="TBL-8-15-1"
class="td11"> <!--l. 571--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">KRM_ITRACE</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-8-15-2"
class="td11"> <code class="lstinline"><!--l. 571--><p class="noindent" ><span style="color:#000000">integer</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-8-15-3"
class="td11"> <!--l. 571--><p class="noindent" >Integer
<!--l. 571--><p class="noindent" ><span
class="cmsy-10x-x-109">&#x2265; </span>0
</td><td style="white-space:normal; text-align:left;" id="TBL-8-15-4"
class="td11"> <!--l. 571--><p class="noindent" >-1
</td><td style="white-space:normal; text-align:left;" id="TBL-8-15-5"
class="td11"> <!--l. 571--><p class="noindent" >If <span
class="cmmi-10x-x-109">&#x003E; </span>0 print out
an informational message about convergence
every <code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">KRM_ITRACE</span><span style="color:#000000">&#8217;</span></code> iterations. If = 0 print a
message in case of convergence failure.
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-8-16-"><td style="white-space:normal; text-align:left;" id="TBL-8-16-1"
class="td11"> <!--l. 575--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">KRM_FILLIN</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-8-16-2"
class="td11"> <code class="lstinline"><!--l. 575--><p class="noindent" ><span style="color:#000000">integer</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-8-16-3"
class="td11"> <!--l. 575--><p class="noindent" >Integer
<!--l. 575--><p class="noindent" ><span
class="cmsy-10x-x-109">&#x2265; </span>0
</td><td style="white-space:normal; text-align:left;" id="TBL-8-16-4"
class="td11"> <!--l. 576--><p class="noindent" >0
</td><td style="white-space:normal; text-align:left;" id="TBL-8-16-5"
class="td11"> <!--l. 577--><p class="noindent" >Fill-in level <span
class="cmmi-10x-x-109">p </span>of the ILU factorizations and
first fill-in for the approximate inverses.
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-8-17-"><td style="white-space:normal; text-align:left;" id="TBL-8-17-1"
class="td11"> </td></tr></table> </div></div>
<br /> <div class="caption"
><span class="id">Table&#x00A0;6: </span><span
class="content">Additional parameters defining the solver at the coarsest level.</span></div><!--tex4ht:label?: x19-18013r6 -->
</div><hr class="endfloat" />
</div>
<div class="table">
<!--l. 586--><p class="indent" > <a
id="x19-18014r7"></a><hr class="float"><div class="float"
>
<div class="center"
>
<!--l. 586--><p class="noindent" >
<div class="tabular"> <table id="TBL-9" class="tabular"
><colgroup id="TBL-9-1g"><col
id="TBL-9-1"></colgroup><colgroup id="TBL-9-2g"><col
id="TBL-9-2"></colgroup><colgroup id="TBL-9-3g"><col
id="TBL-9-3"></colgroup><colgroup id="TBL-9-4g"><col
id="TBL-9-4"></colgroup><colgroup id="TBL-9-5g"><col
id="TBL-9-5"></colgroup><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-9-1-"><td style="white-space:normal; text-align:left;" id="TBL-9-1-1"
class="td11"> <!--l. 590--><p class="noindent" ><code class="lstinline"><span style="color:#000000">what</span></code> </td><td style="white-space:nowrap; text-align:left;" id="TBL-9-1-2"
class="td11"> <span
class="cmcsc-10"><span
class="small-caps">d</span><span
class="small-caps">a</span><span
class="small-caps">t</span><span
class="small-caps">a</span> <span
class="small-caps">t</span><span
class="small-caps">y</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-9-1-3"
class="td11"> <!--l. 590--><p class="noindent" ><code class="lstinline"><span style="color:#000000">val</span></code> </td><td style="white-space:normal; text-align:left;" id="TBL-9-1-4"
class="td11"> <!--l. 590--><p class="noindent" ><span
class="cmcsc-10"><span
class="small-caps">d</span><span
class="small-caps">e</span><span
class="small-caps">f</span><span
class="small-caps">a</span><span
class="small-caps">u</span><span
class="small-caps">l</span><span
class="small-caps">t</span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-9-1-5"
class="td11"> <!--l. 591--><p class="noindent" ><span
class="cmcsc-10"><span
class="small-caps">c</span><span
class="small-caps">o</span><span
class="small-caps">m</span><span
class="small-caps">m</span><span
class="small-caps">e</span><span
class="small-caps">n</span><span
class="small-caps">t</span><span
class="small-caps">s</span></span> </td></tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-9-2-"><td style="white-space:normal; text-align:left;" id="TBL-9-2-1"
class="td11"> <!--l. 593--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">SMOOTHER_TYPE</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-9-2-2"
class="td11"> <code class="lstinline"><!--l. 593--><p class="noindent" ><span style="color:#000000">character</span><span style="color:#000000">(</span><span style="color:#000000">len</span><span style="color:#000000">=*)</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-9-2-3"
class="td11"> <!--l. 594--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">JACOBI</span><span style="color:#000000">&#8217;</span></code>
<!--l. 594--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">GS</span><span style="color:#000000">&#8217;</span></code>
<!--l. 594--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">BGS</span><span style="color:#000000">&#8217;</span></code>
<!--l. 594--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">BJAC</span><span style="color:#000000">&#8217;</span></code>
<!--l. 595--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">AS</span><span style="color:#000000">&#8217;</span></code>
<!--l. 595--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">L1</span><span style="color:#000000">-</span><span style="color:#000000">JACOBI</span><span style="color:#000000">&#8217;</span></code>
<!--l. 595--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">L1</span><span style="color:#000000">-</span><span style="color:#000000">BJAC</span><span style="color:#000000">&#8217;</span></code>
<!--l. 595--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">L1</span><span style="color:#000000">-</span><span style="color:#000000">FBGS</span><span style="color:#000000">&#8217;</span></code>
<!--l. 595--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">POLY</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:normal; text-align:left;" id="TBL-9-2-4"
class="td11"> <!--l. 596--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">FBGS</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:normal; text-align:left;" id="TBL-9-2-5"
class="td11"> <!--l. 597--><p class="noindent" ><span
class="cmr-10">Type of smoother used in the multilevel</span>
<span
class="cmr-10">preconditioner: point-Jacobi, hybrid</span>
<span
class="cmr-10">(forward) Gauss-Seidel, hybrid backward</span>
<span
class="cmr-10">Gauss-Seidel, block-Jacobi, </span><span
class="cmmi-10">&#x2113;</span><sub><span
class="cmr-7">1</span></sub><span
class="cmr-10">-Jacobi,</span>
<span
class="cmmi-10">&#x2113;</span><sub><span
class="cmr-7">1</span></sub><span
class="cmr-10">&#8211;hybrid (forward)</span>
<span
class="cmr-10">Gauss-Seidel, </span><span
class="cmmi-10">&#x2113;</span><sub><span
class="cmr-7">1</span></sub><span
class="cmr-10">-point-Jacobi and Additive</span>
<span
class="cmr-10">Schwarz, polynomial accelerators; see</span><span
class="cmr-10">&#x00A0;</span><span class="cite"><span
class="cmr-10">[</span><a
href="userhtmlli5.html#XDDFMT2024"><span
class="cmr-10">15</span></a><span
class="cmr-10">]</span></span>
<span
class="cmr-10">and Remark</span><span
class="cmr-10">&#x00A0;3 (p.</span><span
class="cmr-10">&#x00A0;21).</span>
<!--l. 601--><p class="noindent" ><span
class="cmr-10">It is ignored by one-level preconditioners.</span>
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-9-3-"><td style="white-space:normal; text-align:left;" id="TBL-9-3-1"
class="td11"> <!--l. 602--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">SUB_SOLVE</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-9-3-2"
class="td11"> <code class="lstinline"><!--l. 602--><p class="noindent" ><span style="color:#000000">character</span><span style="color:#000000">(</span><span style="color:#000000">len</span><span style="color:#000000">=*)</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-9-3-3"
class="td11"> <!--l. 603--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">JACOBI</span><span style="color:#000000">&#8217;</span></code>
<code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">GS</span><span style="color:#000000">&#8217;</span></code>
<!--l. 604--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">BGS</span><span style="color:#000000">&#8217;</span></code>
<!--l. 604--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">ILU</span><span style="color:#000000">&#8217;</span></code>
<!--l. 605--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">ILUT</span><span style="color:#000000">&#8217;</span></code>
<!--l. 605--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">MILU</span><span style="color:#000000">&#8217;</span></code>
<!--l. 606--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">MUMPS</span><span style="color:#000000">&#8217;</span></code>
<!--l. 607--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">SLU</span><span style="color:#000000">&#8217;</span></code>
<!--l. 607--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">UMF</span><span style="color:#000000">&#8217;</span></code>
<!--l. 608--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">INVT</span><span style="color:#000000">&#8217;</span></code>
<!--l. 608--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">INVK</span><span style="color:#000000">&#8217;</span></code>
<!--l. 608--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">AINV</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:normal; text-align:left;" id="TBL-9-3-4"
class="td11"> <!--l. 609--><p class="noindent" ><span
class="cmtt-10">GS </span><span
class="cmr-10">and </span><span
class="cmtt-10">BGS </span><span
class="cmr-10">for pre-</span>
<span
class="cmr-10">and post-smoothers of</span>
<span
class="cmr-10">multilevel</span>
<span
class="cmr-10">preconditioners,</span>
<span
class="cmr-10">respectively</span>
<!--l. 611--><p class="noindent" ><span
class="cmtt-10">ILU </span><span
class="cmr-10">for block-Jacobi</span>
<span
class="cmr-10">and Additive Schwarz</span>
<span
class="cmr-10">one-level</span>
<span
class="cmr-10">preconditioners</span>
</td><td style="white-space:normal; text-align:left;" id="TBL-9-3-5"
class="td11"> <!--l. 613--><p class="noindent" ><span
class="cmr-10">The local solver to be used with the</span>
<span
class="cmr-10">smoother or one-level preconditioner (see</span>
<span
class="cmr-10">Remark</span><span
class="cmr-10">&#x00A0;2, page</span><span
class="cmr-10">&#x00A0;24): point-Jacobi, hybrid</span>
<span
class="cmr-10">(forward) Gauss-Seidel, hybrid backward</span>
<span
class="cmr-10">Gauss-Seidel, ILU(</span><span
class="cmmi-10">p</span><span
class="cmr-10">), ILU(</span><span
class="cmmi-10">p,t</span><span
class="cmr-10">), MILU(</span><span
class="cmmi-10">p</span><span
class="cmr-10">),</span>
<span
class="cmr-10">LU from MUMPS,</span>
<span
class="cmr-10">SuperLU or UMFPACK (plus triangular</span>
<span
class="cmr-10">solve), Approximate Inverses INVK(</span><span
class="cmmi-10">p,q</span><span
class="cmr-10">),</span>
<span
class="cmr-10">INVT(</span><span
class="cmmi-10">p</span><sub><span
class="cmr-7">1</span></sub><span
class="cmmi-10">,p</span><span
class="cmr-10">2</span><span
class="cmmi-10">,t</span><sub><span
class="cmr-7">1</span></sub><span
class="cmmi-10">,t</span><sub><span
class="cmr-7">2</span></sub><span
class="cmr-10">) and AINV(</span><span
class="cmmi-10">t</span><span
class="cmr-10">); note</span>
<span
class="cmr-10">that approximate inverses are specifically</span>
<span
class="cmr-10">suited for GPUs since they do not employ</span>
<span
class="cmr-10">triangular system solve kernels, see</span><span
class="cmr-10">&#x00A0;</span><span class="cite"><span
class="cmr-10">[</span><a
href="userhtmlli5.html#XBERTACCINIFILIPPONE"><span
class="cmr-10">3</span></a><span
class="cmr-10">]</span></span><span
class="cmr-10">. See</span>
<span
class="cmr-10">Note for details on hybrid Gauss-Seidel.</span>
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-9-4-"><td style="white-space:normal; text-align:left;" id="TBL-9-4-1"
class="td11"> <!--l. 627--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">SMOOTHER_SWEEPS</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-9-4-2"
class="td11"> <code class="lstinline"><!--l. 627--><p class="noindent" ><span style="color:#000000">integer</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-9-4-3"
class="td11"> <!--l. 628--><p class="noindent" ><span
class="cmr-10">Any integer</span>
<!--l. 628--><p class="noindent" ><span
class="cmr-10">number</span><span
class="cmr-10">&#x00A0;</span><span
class="cmsy-10">&#x2265; </span><span
class="cmr-10">0</span>
</td><td style="white-space:normal; text-align:left;" id="TBL-9-4-4"
class="td11"> <!--l. 629--><p class="noindent" ><span
class="cmr-10">1</span>
</td><td style="white-space:normal; text-align:left;" id="TBL-9-4-5"
class="td11"> <!--l. 630--><p class="noindent" ><span
class="cmr-10">Number of sweeps of the smoother or</span>
<span
class="cmr-10">one-level preconditioner. In the multilevel</span>
<span
class="cmr-10">case, no pre-smother or post-smoother</span>
<span
class="cmr-10">is used if this parameter is set to 0</span>
<span
class="cmr-10">together with </span><code class="lstinline"><span style="color:#000000">pos</span><span style="color:#000000">=</span><span style="color:#000000">&#8217;</span><span style="color:#000000">PRE</span><span style="color:#000000">&#8217;</span></code> <span
class="cmr-10">or </span><code class="lstinline"><span style="color:#000000">pos</span><span style="color:#000000">=</span><span style="color:#000000">&#8217;</span><span style="color:#000000">POST</span><span style="color:#000000">&#8217;</span></code><span
class="cmr-10">,</span>
<span
class="cmr-10">respectively. Is ignored if the smoother is</span>
<code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">POLY</span><span style="color:#000000">&#8217;</span></code>
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-9-5-"><td style="white-space:normal; text-align:left;" id="TBL-9-5-1"
class="td11"> <!--l. 635--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">POLY_DEGREE</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-9-5-2"
class="td11"> <code class="lstinline"><!--l. 635--><p class="noindent" ><span style="color:#000000">integer</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-9-5-3"
class="td11"> <!--l. 636--><p class="noindent" ><span
class="cmr-10">Any integer</span>
<!--l. 636--><p class="noindent" ><span
class="cmr-10">number</span><span
class="cmr-10">&#x00A0;</span><span
class="cmsy-10">&#x2265; </span><span
class="cmr-10">1</span>
<span
class="cmr-10">and</span><span
class="cmr-10">&#x00A0;</span><span
class="cmsy-10">&#x2264; </span><span
class="cmr-10">30</span>
</td><td style="white-space:normal; text-align:left;" id="TBL-9-5-4"
class="td11"> <!--l. 637--><p class="noindent" ><span
class="cmr-10">1</span>
</td><td style="white-space:normal; text-align:left;" id="TBL-9-5-5"
class="td11"> <!--l. 638--><p class="noindent" ><span
class="cmr-10">Degree of the polynomial accelerator, is</span>
<span
class="cmr-10">equal to the number of matrix-vector</span>
<span
class="cmr-10">products performed by the smoother.</span>
<span
class="cmr-10">Ignored if the smoother is not </span><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">POLY</span><span style="color:#000000">&#8217;</span></code>
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-9-6-"><td style="white-space:normal; text-align:left;" id="TBL-9-6-1"
class="td11"> </td></tr></table> </div></div>
<br /> <div class="caption"
><span class="id">Table&#x00A0;7: </span><span
class="content">Parameters defining the smoother or the details of the one-level
preconditioner. </span></div><!--tex4ht:label?: x19-18014r7 -->
</div><hr class="endfloat" />
</div>
<div class="table">
<!--l. 646--><p class="indent" > <a
id="x19-18015r8"></a><hr class="float"><div class="float"
>
<div class="center"
>
<!--l. 646--><p class="noindent" >
<div class="tabular"> <table id="TBL-10" class="tabular"
><colgroup id="TBL-10-1g"><col
id="TBL-10-1"></colgroup><colgroup id="TBL-10-2g"><col
id="TBL-10-2"></colgroup><colgroup id="TBL-10-3g"><col
id="TBL-10-3"></colgroup><colgroup id="TBL-10-4g"><col
id="TBL-10-4"></colgroup><colgroup id="TBL-10-5g"><col
id="TBL-10-5"></colgroup><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-10-1-"><td style="white-space:normal; text-align:left;" id="TBL-10-1-1"
class="td11"> <!--l. 650--><p class="noindent" ><code class="lstinline"><span style="color:#000000">what</span></code> </td><td style="white-space:nowrap; text-align:left;" id="TBL-10-1-2"
class="td11"> <span
class="cmcsc-10"><span
class="small-caps">d</span><span
class="small-caps">a</span><span
class="small-caps">t</span><span
class="small-caps">a</span> <span
class="small-caps">t</span><span
class="small-caps">y</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-10-1-3"
class="td11"> <!--l. 650--><p class="noindent" ><code class="lstinline"><span style="color:#000000">val</span></code> </td><td style="white-space:normal; text-align:left;" id="TBL-10-1-4"
class="td11"> <!--l. 650--><p class="noindent" ><span
class="cmcsc-10"><span
class="small-caps">d</span><span
class="small-caps">e</span><span
class="small-caps">f</span><span
class="small-caps">a</span><span
class="small-caps">u</span><span
class="small-caps">l</span><span
class="small-caps">t</span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-10-1-5"
class="td11"> <!--l. 651--><p class="noindent" ><span
class="cmcsc-10"><span
class="small-caps">c</span><span
class="small-caps">o</span><span
class="small-caps">m</span><span
class="small-caps">m</span><span
class="small-caps">e</span><span
class="small-caps">n</span><span
class="small-caps">t</span><span
class="small-caps">s</span></span> </td></tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-10-2-"><td style="white-space:normal; text-align:left;" id="TBL-10-2-1"
class="td11"> <!--l. 652--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">SUB_OVR</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-10-2-2"
class="td11"> <code class="lstinline"><!--l. 652--><p class="noindent" ><span style="color:#000000">integer</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-10-2-3"
class="td11"> <!--l. 653--><p class="noindent" ><span
class="cmr-10">Any integer</span>
<!--l. 653--><p class="noindent" ><span
class="cmr-10">number</span><span
class="cmr-10">&#x00A0;</span><span
class="cmsy-10">&#x2265; </span><span
class="cmr-10">0</span>
</td><td style="white-space:normal; text-align:left;" id="TBL-10-2-4"
class="td11"> <!--l. 654--><p class="noindent" ><span
class="cmr-10">1</span>
</td><td style="white-space:normal; text-align:left;" id="TBL-10-2-5"
class="td11"> <!--l. 655--><p class="noindent" ><span
class="cmr-10">Number of overlap layers, for Additive</span>
<span
class="cmr-10">Schwarz only.</span>
</td>
</tr><tr
style="vertical-align:baseline;" id="TBL-10-3-"><td style="white-space:normal; text-align:left;" id="TBL-10-3-1"
class="td11"> <!--l. 656--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">SUB_RESTR</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-10-3-2"
class="td11"> <code class="lstinline"><!--l. 656--><p class="noindent" ><span style="color:#000000">character</span><span style="color:#000000">(</span><span style="color:#000000">len</span><span style="color:#000000">=*)</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-10-3-3"
class="td11"> <!--l. 657--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">HALO</span><span style="color:#000000">&#8217;</span></code>
<!--l. 657--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">NONE</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:normal; text-align:left;" id="TBL-10-3-4"
class="td11"> <!--l. 658--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">HALO</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:normal; text-align:left;" id="TBL-10-3-5"
class="td11"> <!--l. 659--><p class="noindent" ><span
class="cmr-10">Type of restriction operator, for Additive</span>
<span
class="cmr-10">Schwarz only: </span><span
class="cmtt-10">HALO </span><span
class="cmr-10">for taking into account</span>
<span
class="cmr-10">the overlap, </span><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">NONE</span><span style="color:#000000">&#8217;</span></code> <span
class="cmr-10">for neglecting it.</span>
<!--l. 662--><p class="noindent" ><span
class="cmr-10">Note that </span><span
class="cmtt-10">HALO </span><span
class="cmr-10">must be chosen for the</span>
<span
class="cmr-10">classical Addditive Schwarz smoother and</span>
<span
class="cmr-10">its RAS variant.</span>
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-10-4-"><td style="white-space:normal; text-align:left;" id="TBL-10-4-1"
class="td11"> <!--l. 664--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">SUB_PROL</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-10-4-2"
class="td11"> <code class="lstinline"><!--l. 664--><p class="noindent" ><span style="color:#000000">character</span><span style="color:#000000">(</span><span style="color:#000000">len</span><span style="color:#000000">=*)</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-10-4-3"
class="td11"> <!--l. 665--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">SUM</span><span style="color:#000000">&#8217;</span></code>
<!--l. 665--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">NONE</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:normal; text-align:left;" id="TBL-10-4-4"
class="td11"> <!--l. 666--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">NONE</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:normal; text-align:left;" id="TBL-10-4-5"
class="td11"> <!--l. 667--><p class="noindent" ><span
class="cmr-10">Type of prolongation operator, for Additive</span>
<span
class="cmr-10">Schwarz only: </span><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">SUM</span><span style="color:#000000">&#8217;</span></code> <span
class="cmr-10">for adding the</span>
<span
class="cmr-10">contributions from the overlap, </span><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">NONE</span><span style="color:#000000">&#8217;</span></code> <span
class="cmr-10">for</span>
<span
class="cmr-10">neglecting them.</span>
<!--l. 670--><p class="noindent" ><span
class="cmr-10">Note that </span><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">SUM</span><span style="color:#000000">&#8217;</span></code> <span
class="cmr-10">must be chosen for the</span>
<span
class="cmr-10">classical Additive Schwarz smoother, and</span>
<code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">NONE</span><span style="color:#000000">&#8217;</span></code> <span
class="cmr-10">for its RAS variant.</span>
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-10-5-"><td style="white-space:normal; text-align:left;" id="TBL-10-5-1"
class="td11"> <!--l. 672--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">SUB_FILLIN</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-10-5-2"
class="td11"> <code class="lstinline"><!--l. 672--><p class="noindent" ><span style="color:#000000">integer</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-10-5-3"
class="td11"> <!--l. 673--><p class="noindent" ><span
class="cmr-10">Any integer</span>
<!--l. 673--><p class="noindent" ><span
class="cmr-10">number</span><span
class="cmr-10">&#x00A0;</span><span
class="cmsy-10">&#x2265; </span><span
class="cmr-10">0</span>
</td><td style="white-space:normal; text-align:left;" id="TBL-10-5-4"
class="td11"> <!--l. 674--><p class="noindent" ><span
class="cmr-10">0</span>
</td><td style="white-space:normal; text-align:left;" id="TBL-10-5-5"
class="td11"> <!--l. 675--><p class="noindent" ><span
class="cmr-10">Fill-in level </span><span
class="cmmi-10">p </span><span
class="cmr-10">of the incomplete LU</span>
<span
class="cmr-10">factorizations.</span>
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-10-6-"><td style="white-space:normal; text-align:left;" id="TBL-10-6-1"
class="td11"> <!--l. 676--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">SUB_ILUTHRS</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-10-6-2"
class="td11"> <code class="lstinline"><!--l. 676--><p class="noindent" ><span style="color:#000000">real</span><span style="color:#000000">(</span><span style="color:#000000">kind_parameter</span><span style="color:#000000">)</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-10-6-3"
class="td11"> <!--l. 677--><p class="noindent" ><span
class="cmr-10">Any real</span>
<span
class="cmr-10">number</span><span
class="cmr-10">&#x00A0;</span><span
class="cmsy-10">&#x2265; </span><span
class="cmr-10">0</span>
</td><td style="white-space:normal; text-align:left;" id="TBL-10-6-4"
class="td11"> <!--l. 678--><p class="noindent" ><span
class="cmr-10">0</span>
</td><td style="white-space:normal; text-align:left;" id="TBL-10-6-5"
class="td11"> <!--l. 679--><p class="noindent" ><span
class="cmr-10">Drop tolerance </span><span
class="cmmi-10">t </span><span
class="cmr-10">in the ILU(</span><span
class="cmmi-10">p,t</span><span
class="cmr-10">)</span>
<span
class="cmr-10">factorization.</span>
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-10-7-"><td style="white-space:normal; text-align:left;" id="TBL-10-7-1"
class="td11"> <!--l. 680--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">MUMPS_LOC_GLOB</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-10-7-2"
class="td11"> <code class="lstinline"><!--l. 680--><p class="noindent" ><span style="color:#000000">character</span><span style="color:#000000">(</span><span style="color:#000000">len</span><span style="color:#000000">=*)</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-10-7-3"
class="td11"> <!--l. 681--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">LOCAL_SOLVER</span><span style="color:#000000">&#8217;</span></code>
<!--l. 681--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">GLOBAL_SOLVER</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:normal; text-align:left;" id="TBL-10-7-4"
class="td11"> <!--l. 682--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">GLOBAL_SOLVER</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:normal; text-align:left;" id="TBL-10-7-5"
class="td11"> <!--l. 683--><p class="noindent" ><span
class="cmr-10">Whether MUMPS should be used as a</span>
<span
class="cmr-10">distributed solver, or as a serial solver acting</span>
<span
class="cmr-10">only on the part of the matrix local to each</span>
<span
class="cmr-10">process.</span>
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-10-8-"><td style="white-space:normal; text-align:left;" id="TBL-10-8-1"
class="td11"> <!--l. 687--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">MUMPS_IPAR_ENTRY</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-10-8-2"
class="td11"> <code class="lstinline"><!--l. 687--><p class="noindent" ><span style="color:#000000">integer</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-10-8-3"
class="td11"> <!--l. 688--><p class="noindent" ><span
class="cmr-10">Any integer</span>
<span
class="cmr-10">number</span>
</td><td style="white-space:normal; text-align:left;" id="TBL-10-8-4"
class="td11"> <!--l. 689--><p class="noindent" ><span
class="cmr-10">0</span>
</td><td style="white-space:normal; text-align:left;" id="TBL-10-8-5"
class="td11"> <!--l. 690--><p class="noindent" ><span
class="cmr-10">Set an entry in the MUMPS integer control</span>
<span
class="cmr-10">array, as chosen via the </span><code class="lstinline"><span style="color:#000000">idx</span></code> <span
class="cmr-10">optional</span>
<span
class="cmr-10">argument.</span>
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-10-9-"><td style="white-space:normal; text-align:left;" id="TBL-10-9-1"
class="td11"> <!--l. 692--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">MUMPS_RPAR_ENTRY</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-10-9-2"
class="td11"> <code class="lstinline"><!--l. 692--><p class="noindent" ><span style="color:#000000">real</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-10-9-3"
class="td11"> <!--l. 693--><p class="noindent" ><span
class="cmr-10">Any real number</span>
</td><td style="white-space:normal; text-align:left;" id="TBL-10-9-4"
class="td11"> <!--l. 694--><p class="noindent" ><span
class="cmr-10">0</span>
</td><td style="white-space:normal; text-align:left;" id="TBL-10-9-5"
class="td11"> <!--l. 695--><p class="noindent" ><span
class="cmr-10">Set an entry in the MUMPS real control</span>
<span
class="cmr-10">array, as chosen via the </span><code class="lstinline"><span style="color:#000000">idx</span></code> <span
class="cmr-10">optional</span>
<span
class="cmr-10">argument.</span>
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-10-10-"><td style="white-space:normal; text-align:left;" id="TBL-10-10-1"
class="td11"> </td></tr></table> </div></div>
<br /> <div class="caption"
><span class="id">Table&#x00A0;8: </span><span
class="content">Parameters defining the smoother or the details of the one-level preconditioner
(continued).</span></div><!--tex4ht:label?: x19-18015r8 -->
</div><hr class="endfloat" />
</div>
<div class="table">
<!--l. 705--><p class="indent" > <a
id="x19-18016r9"></a><hr class="float"><div class="float"
>
<div class="center"
>
<!--l. 705--><p class="noindent" >
<div class="tabular"> <table id="TBL-11" class="tabular"
><colgroup id="TBL-11-1g"><col
id="TBL-11-1"></colgroup><colgroup id="TBL-11-2g"><col
id="TBL-11-2"></colgroup><colgroup id="TBL-11-3g"><col
id="TBL-11-3"></colgroup><colgroup id="TBL-11-4g"><col
id="TBL-11-4"></colgroup><colgroup id="TBL-11-5g"><col
id="TBL-11-5"></colgroup><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-11-1-"><td style="white-space:normal; text-align:left;" id="TBL-11-1-1"
class="td11"> <!--l. 709--><p class="noindent" ><code class="lstinline"><span style="color:#000000">what</span></code> </td><td style="white-space:nowrap; text-align:left;" id="TBL-11-1-2"
class="td11"> <span
class="cmcsc-10"><span
class="small-caps">d</span><span
class="small-caps">a</span><span
class="small-caps">t</span><span
class="small-caps">a</span> <span
class="small-caps">t</span><span
class="small-caps">y</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-11-1-3"
class="td11"> <!--l. 709--><p class="noindent" ><code class="lstinline"><span style="color:#000000">val</span></code> </td><td style="white-space:normal; text-align:left;" id="TBL-11-1-4"
class="td11"> <!--l. 709--><p class="noindent" ><span
class="cmcsc-10"><span
class="small-caps">d</span><span
class="small-caps">e</span><span
class="small-caps">f</span><span
class="small-caps">a</span><span
class="small-caps">u</span><span
class="small-caps">l</span><span
class="small-caps">t</span></span> </td><td style="white-space:normal; text-align:left;" id="TBL-11-1-5"
class="td11"> <!--l. 710--><p class="noindent" ><span
class="cmcsc-10"><span
class="small-caps">c</span><span
class="small-caps">o</span><span
class="small-caps">m</span><span
class="small-caps">m</span><span
class="small-caps">e</span><span
class="small-caps">n</span><span
class="small-caps">t</span><span
class="small-caps">s</span></span> </td></tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-11-2-"><td style="white-space:normal; text-align:left;" id="TBL-11-2-1"
class="td11"> <!--l. 711--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">POLY_VARIANT</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-11-2-2"
class="td11"> <code class="lstinline"><!--l. 711--><p class="noindent" ><span style="color:#000000">character</span><span style="color:#000000">(</span><span style="color:#000000">len</span><span style="color:#000000">=*)</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-11-2-3"
class="td11"> <!--l. 712--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">CHEB_4</span><span style="color:#000000">&#8217;</span></code>
<!--l. 712--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">CHEB_4_OPT</span><span style="color:#000000">&#8217;</span></code>
<!--l. 712--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">CHEB_1_OPT</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:normal; text-align:left;" id="TBL-11-2-4"
class="td11"> <!--l. 713--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">CHEB_4</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:normal; text-align:left;" id="TBL-11-2-5"
class="td11"> <!--l. 714--><p class="noindent" ><span
class="cmr-10">Select the type of</span>
<span
class="cmr-10">polynomial accelerator.</span>
<span
class="cmr-10">The </span><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">CHEB_4</span><span style="color:#000000">&#8217;</span></code> <span
class="cmr-10">and</span>
<code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">CHEB_4_OPT</span><span style="color:#000000">&#8217;</span></code> <span
class="cmr-10">types</span>
<span
class="cmr-10">are those based on the</span>
<span
class="cmr-10">Chebyshev</span>
<span
class="cmr-10">polynomials of</span>
<span
class="cmr-10">the 4</span><sup class="textsuperscript"><span
class="cmr-10">th</span></sup><span
class="cmr-10">-kind described</span>
<span
class="cmr-10">in</span><span
class="cmr-10">&#x00A0;</span><span class="cite"><span
class="cmr-10">[</span><a
href="userhtmlli5.html#XLOTTES"><span
class="cmr-10">27</span></a><span
class="cmr-10">]</span></span><span
class="cmr-10">. The</span>
<code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">CHEB_1_OPT</span><span style="color:#000000">&#8217;</span></code> <span
class="cmr-10">version</span>
<span
class="cmr-10">is the one described</span>
<span
class="cmr-10">in</span><span
class="cmr-10">&#x00A0;</span><span class="cite"><span
class="cmr-10">[</span><a
href="userhtmlli5.html#XDDFMT2024"><span
class="cmr-10">15</span></a><span
class="cmr-10">]</span></span> <span
class="cmr-10">and based on</span>
<span
class="cmr-10">the Chebyshev</span>
<span
class="cmr-10">polynomials of the</span>
<span
class="cmr-10">1</span><sup class="textsuperscript"><span
class="cmr-10">st</span></sup><span
class="cmr-10">-kind.</span>
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-11-3-"><td style="white-space:normal; text-align:left;" id="TBL-11-3-1"
class="td11"> <!--l. 715--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">POLY_RHO_ESTIMATE</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-11-3-2"
class="td11"> <code class="lstinline"><!--l. 715--><p class="noindent" ><span style="color:#000000">character</span><span style="color:#000000">(</span><span style="color:#000000">len</span><span style="color:#000000">=*)</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-11-3-3"
class="td11"> <!--l. 715--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">POLY_RHO_EST_POWER</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:normal; text-align:left;" id="TBL-11-3-4"
class="td11"> <!--l. 715--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">POLY_RHO_EST_POWER</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:normal; text-align:left;" id="TBL-11-3-5"
class="td11"> <!--l. 715--><p class="noindent" ><span
class="cmr-10">Algorithm for</span>
<span
class="cmr-10">estimating the spectral</span>
<span
class="cmr-10">radius of the smoother</span>
<span
class="cmr-10">to</span>
<span
class="cmr-10">which the polynomial</span>
<span
class="cmr-10">acceleration is applied.</span>
<span
class="cmr-10">The only implemented</span>
<span
class="cmr-10">algorithm is the power</span>
<span
class="cmr-10">method; see also the</span>
<span
class="cmr-10">two following options.</span>
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-11-4-"><td style="white-space:normal; text-align:left;" id="TBL-11-4-1"
class="td11"> <!--l. 716--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">POLY_RHO_ESTIMATE_ITERATIONS</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-11-4-2"
class="td11"> <code class="lstinline"><!--l. 716--><p class="noindent" ><span style="color:#000000">integer</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-11-4-3"
class="td11"> <!--l. 716--><p class="noindent" ><span
class="cmr-10">Any integer</span>
<!--l. 716--><p class="noindent" ><span
class="cmr-10">number </span><span
class="cmsy-10">&#x2265; </span><span
class="cmr-10">1</span>
</td><td style="white-space:normal; text-align:left;" id="TBL-11-4-4"
class="td11"> <!--l. 716--><p class="noindent" ><span
class="cmr-10">20</span>
</td><td style="white-space:normal; text-align:left;" id="TBL-11-4-5"
class="td11"> <!--l. 716--><p class="noindent" ><span
class="cmr-10">Number of iterations</span>
<span
class="cmr-10">for the spectral radius</span>
<span
class="cmr-10">estimate.</span>
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-11-5-"><td style="white-space:normal; text-align:left;" id="TBL-11-5-1"
class="td11"> <!--l. 717--><p class="noindent" ><code class="lstinline"><span style="color:#000000">&#8217;</span><span style="color:#000000">POLY_RHO_BA</span><span style="color:#000000">&#8217;</span></code>
</td><td style="white-space:nowrap; text-align:left;" id="TBL-11-5-2"
class="td11"> <code class="lstinline"><!--l. 717--><p class="noindent" ><span style="color:#000000">real</span><span style="color:#000000">(</span><span style="color:#000000">kind_parameter</span><span style="color:#000000">)</span> </code>
</td><td style="white-space:normal; text-align:left;" id="TBL-11-5-3"
class="td11"> <!--l. 717--><p class="noindent" ><span
class="cmr-10">Any real</span>
<!--l. 717--><p class="noindent" ><span
class="cmr-10">number </span><span
class="cmsy-10">&#x2208; </span><span
class="cmr-10">(0</span><span
class="cmmi-10">,</span><span
class="cmr-10">1]</span>
</td><td style="white-space:normal; text-align:left;" id="TBL-11-5-4"
class="td11"> <!--l. 717--><p class="noindent" ><span
class="cmr-10">1</span>
</td><td style="white-space:normal; text-align:left;" id="TBL-11-5-5"
class="td11"> <!--l. 717--><p class="noindent" ><span
class="cmr-10">Sets an estimate of</span>
<span
class="cmr-10">the spectral radius of</span>
<span
class="cmr-10">the base smoother to</span>
<span
class="cmr-10">which the polynomial</span>
<span
class="cmr-10">accelerator is applied.</span>
</td>
</tr><tr
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr
style="vertical-align:baseline;" id="TBL-11-6-"><td style="white-space:normal; text-align:left;" id="TBL-11-6-1"
class="td11"> </td></tr></table> </div></div>
<br /> <div class="caption"
><span class="id">Table&#x00A0;9: </span><span
class="content">Parameters defining the smoother or the details of the one-level preconditioner
(continued).</span></div><!--tex4ht:label?: x19-18016r9 -->
</div><hr class="endfloat" />
</div>
<!--l. 727--><div class="crosslinks"><p class="noindent"><span
class="cmr-12">[</span><a
href="userhtmlsu10.html" ><span
class="cmr-12">next</span></a><span
class="cmr-12">] [</span><a
href="userhtmlsu8.html" ><span
class="cmr-12">prev</span></a><span
class="cmr-12">] [</span><a
href="userhtmlsu8.html#tailuserhtmlsu8.html" ><span
class="cmr-12">prev-tail</span></a><span
class="cmr-12">] [</span><a
href="userhtmlsu9.html" ><span
class="cmr-12">front</span></a><span
class="cmr-12">] [</span><a
href="userhtmlse5.html#userhtmlsu9.html" ><span
class="cmr-12">up</span></a><span
class="cmr-12">] </span></p></div>
<!--l. 727--><p class="indent" > <a
id="tailuserhtmlsu9.html"></a>
</body></html>