Changed guide to new style

newG2L
Cirdans-Home 4 years ago
parent 10bdde008b
commit a2db4b8b5c

Binary file not shown.

Before

Width:  |  Height:  |  Size: 334 B

After

Width:  |  Height:  |  Size: 321 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 382 B

After

Width:  |  Height:  |  Size: 357 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 296 B

After

Width:  |  Height:  |  Size: 289 B

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 76--><p class="noindent" ><span <!--l. 90--><p class="noindent" ><span
class="cmbx-12x-x-144">PSBLAS</span><br class="cmbx-12x-x-144">PSBLAS</span><br
class="newline" /> <span class="newline" /> <span
class="cmbx-12x-x-144">User&#8217;s and Reference Guide</span><br class="cmbx-12x-x-144">User&#8217;s and Reference Guide</span><br

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

@ -8,11 +8,13 @@
.cmbx-12x-x-144{font-size:172%; font-weight: bold;} .cmbx-12x-x-144{font-size:172%; font-weight: bold;}
.cmbx-12x-x-144{ font-weight: bold;} .cmbx-12x-x-144{ font-weight: bold;}
.cmbx-12x-x-144{ font-weight: bold;} .cmbx-12x-x-144{ font-weight: bold;}
.cmbx-12x-x-144{ font-weight: bold;}
.cmti-10{ font-style: italic;} .cmti-10{ font-style: italic;}
.cmti-12{font-size:120%; font-style: italic;} .cmti-12{font-size:120%; font-style: italic;}
.cmbx-10{ font-weight: bold;} .cmbx-10{ font-weight: bold;}
.cmbx-10{ font-weight: bold;} .cmbx-10{ font-weight: bold;}
.cmbx-10{ font-weight: bold;} .cmbx-10{ font-weight: bold;}
.cmbx-10{ font-weight: bold;}
.cmtt-10{font-family: monospace;} .cmtt-10{font-family: monospace;}
.cmtt-10{font-family: monospace;} .cmtt-10{font-family: monospace;}
.cmtt-10{font-family: monospace;} .cmtt-10{font-family: monospace;}
@ -21,6 +23,7 @@
.cmbx-12{font-size:120%; font-weight: bold;} .cmbx-12{font-size:120%; font-weight: bold;}
.cmbx-12{ font-weight: bold;} .cmbx-12{ font-weight: bold;}
.cmbx-12{ font-weight: bold;} .cmbx-12{ font-weight: bold;}
.cmbx-12{ font-weight: bold;}
.cmtt-8{font-size:80%;font-family: monospace;} .cmtt-8{font-size:80%;font-family: monospace;}
.cmtt-8{font-family: monospace;} .cmtt-8{font-family: monospace;}
.cmtt-8{font-family: monospace;} .cmtt-8{font-family: monospace;}
@ -28,6 +31,10 @@
.cmtt-9{font-family: monospace;} .cmtt-9{font-family: monospace;}
.cmtt-9{font-family: monospace;} .cmtt-9{font-family: monospace;}
.cmmi-8{font-size:80%;font-style: italic;} .cmmi-8{font-size:80%;font-style: italic;}
.cmbx-9{font-size:90%; font-weight: bold;}
.cmbx-9{ font-weight: bold;}
.cmbx-9{ font-weight: bold;}
.cmbx-9{ font-weight: bold;}
p.noindent { text-indent: 0em } p.noindent { text-indent: 0em }
td p.noindent { text-indent: 0em; margin-top:0em; } td p.noindent { text-indent: 0em; margin-top:0em; }
p.nopar { text-indent: 0em; } p.nopar { text-indent: 0em; }
@ -97,9 +104,8 @@ span.LATEX span.TEX{ position:relative; left: -0.4em; }
div.float, div.figure {margin-left: auto; margin-right: auto;} div.float, div.figure {margin-left: auto; margin-right: auto;}
div.float img {text-align:center;} div.float img {text-align:center;}
div.figure img {text-align:center;} div.figure img {text-align:center;}
.marginpar,.reversemarginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;} .marginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;}
.marginpar p,.reversemarginpar p{margin-top:0.4em; margin-bottom:0.4em;} .marginpar p{margin-top:0.4em; margin-bottom:0.4em;}
.reversemarginpar{float:left;}
table.equation {width:100%;} table.equation {width:100%;}
.equation td{text-align:center; } .equation td{text-align:center; }
td.equation { margin-top:1em; margin-bottom:1em; } td.equation { margin-top:1em; margin-bottom:1em; }
@ -142,7 +148,6 @@ div.abstract {width:100%;}
.Ovalbox-thick { padding-left:3pt; padding-right:3pt; border:solid thick; } .Ovalbox-thick { padding-left:3pt; padding-right:3pt; border:solid thick; }
.shadowbox { padding-left:3pt; padding-right:3pt; border:solid thin; border-right:solid thick; border-bottom:solid thick; } .shadowbox { padding-left:3pt; padding-right:3pt; border:solid thin; border-right:solid thick; border-bottom:solid thick; }
.doublebox { padding-left:3pt; padding-right:3pt; border-style:double; border:solid thick; } .doublebox { padding-left:3pt; padding-right:3pt; border-style:double; border:solid thick; }
.rotatebox{display: inline-block;}
.figure img.graphics {margin-left:10%;} .figure img.graphics {margin-left:10%;}
.lstlisting .label{margin-right:0.5em; } .lstlisting .label{margin-right:0.5em; }
div.lstlisting{font-family: monospace; white-space: nowrap; margin-top:0.5em; margin-bottom:0.5em; } div.lstlisting{font-family: monospace; white-space: nowrap; margin-top:0.5em; margin-bottom:0.5em; }

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 76--><p class="noindent" ><span <!--l. 90--><p class="noindent" ><span
class="cmbx-12x-x-144">PSBLAS</span><br class="cmbx-12x-x-144">PSBLAS</span><br
class="newline" /> <span class="newline" /> <span
class="cmbx-12x-x-144">User&#8217;s and Reference Guide</span><br class="cmbx-12x-x-144">User&#8217;s and Reference Guide</span><br

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 439 B

After

Width:  |  Height:  |  Size: 447 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 763 B

After

Width:  |  Height:  |  Size: 779 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 91--><div class="crosslinks"><p class="noindent">[<a <!--l. 105--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlse1.html" >next</a>] [<a href="userhtmlse1.html" >next</a>] [<a
href="#tailuserhtmlli1.html">tail</a>] [<a href="#tailuserhtmlli1.html">tail</a>] [<a
href="userhtml.html#userhtmlli1.html" >up</a>] </p></div> href="userhtml.html#userhtmlli1.html" >up</a>] </p></div>

@ -176,11 +176,11 @@ class="cmti-10">MPI: The Complete Reference. Volume 1 - The MPI Core</span>, sec
<!--l. 114--><div class="crosslinks"><p class="noindent">[<a <!--l. 128--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlse11.html" >prev</a>] [<a href="userhtmlse11.html" >prev</a>] [<a
href="userhtmlse11.html#tailuserhtmlse11.html" >prev-tail</a>] [<a href="userhtmlse11.html#tailuserhtmlse11.html" >prev-tail</a>] [<a
href="userhtmlli2.html" >front</a>] [<a href="userhtmlli2.html" >front</a>] [<a
href="userhtml.html# " >up</a>] </p></div> href="userhtml.html# " >up</a>] </p></div>
<!--l. 114--><p class="indent" > <a <!--l. 128--><p class="indent" > <a
id="tailuserhtmlli2.html"></a> id="tailuserhtmlli2.html"></a>
</body></html> </body></html>

@ -27,7 +27,7 @@ based on the serial sparse BLAS, so that any extension made to the data structur
of the serial kernels is available to the parallel version. The overall design and of the serial kernels is available to the parallel version. The overall design and
parallelization strategy have been influenced by the structure of the ScaLAPACK parallelization strategy have been influenced by the structure of the ScaLAPACK
parallel library. The layered structure of the PSBLAS library is shown in figure&#x00A0;<a parallel library. The layered structure of the PSBLAS library is shown in figure&#x00A0;<a
href="#x4-30011">1<!--tex4ht:ref: fig:psblas --></a>; href="#x4-3001r1">1<!--tex4ht:ref: fig:psblas --></a>;
lower layers of the library indicate an encapsulation relationship with upper lower layers of the library indicate an encapsulation relationship with upper
layers. The ongoing discussion focuses on the Fortran&#x00A0;2003 layer immediately layers. The ongoing discussion focuses on the Fortran&#x00A0;2003 layer immediately
below the application layer. The serial parts of the computation on each below the application layer. The serial parts of the computation on each
@ -46,7 +46,7 @@ href="userhtmlse7.html#x68-1050007">7<!--tex4ht:ref: sec:parenv --></a>.
<a <a
id="x4-30011"></a> id="x4-3001r1"></a>
@ -58,7 +58,7 @@ src="psblas.png" alt="PIC"
></div> ></div>
<br /> <div class="caption" <br /> <div class="caption"
><span class="id">Figure&#x00A0;1: </span><span ><span class="id">Figure&#x00A0;1: </span><span
class="content">PSBLAS library components hierarchy.</span></div><!--tex4ht:label?: x4-30011 --> class="content">PSBLAS library components hierarchy.</span></div><!--tex4ht:label?: x4-3001r1 -->

@ -22,11 +22,11 @@ href="userhtml.html#userhtmlsu7.html" >up</a>] </p></div>
interfaces. They include data structures for sparse matrices, communication interfaces. They include data structures for sparse matrices, communication
descriptors and preconditioners. descriptors and preconditioners.
<!--l. 11--><p class="indent" > All the data types and the basic subroutine interfaces related to descriptors and <!--l. 11--><p class="indent" > All the data types and the basic subroutine interfaces related to descriptors and
sparse matrices are defined in the module <span class="obeylines-h"><span class="verb"><span sparse matrices are defined in the module <span class="lstinline"></span><span
class="cmtt-10">psb_base_mod</span></span></span>; this will have to be class="cmtt-10">psb_base_mod</span>; this will have to be
included by every user subroutine that makes use of the library. The preconditioners included by every user subroutine that makes use of the library. The preconditioners
are defined in the module <span class="obeylines-h"><span class="verb"><span are defined in the module <span class="lstinline"></span><span
class="cmtt-10">psb_prec_mod</span></span></span> class="cmtt-10">psb_prec_mod</span>
<!--l. 17--><p class="indent" > Integer, real and complex data types are parametrized with a kind type defined in <!--l. 17--><p class="indent" > Integer, real and complex data types are parametrized with a kind type defined in
the library as follows: the library as follows:
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
@ -35,17 +35,18 @@ class="cmbx-10">psb</span><span
class="cmbx-10">_spk</span><span class="cmbx-10">_spk</span><span
class="cmbx-10">_</span> </dt><dd class="cmbx-10">_</span> </dt><dd
class="description">Kind parameter for short precision real and complex data; class="description">Kind parameter for short precision real and complex data;
corresponds to a <span class="obeylines-h"><span class="verb"><span corresponds to a <span class="lstinline"></span><span
class="cmtt-10">REAL</span></span></span> declaration and is normally 4 bytes; class="cmtt-10">REAL</span> declaration and is normally 4 bytes;
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">psb</span><span class="cmbx-10">psb</span><span
class="cmbx-10">_dpk</span><span class="cmbx-10">_dpk</span><span
class="cmbx-10">_</span> </dt><dd class="cmbx-10">_</span> </dt><dd
class="description">Kind parameter for long precision real and complex data; class="description">Kind parameter for long precision real and complex data;
corresponds to a <span class="obeylines-h"><span class="verb"><span corresponds to a <span class="lstinline"></span><span
class="cmtt-10">DOUBLE</span><span class="cmtt-10">DOUBLE</span><span
class="cmtt-10">&#x00A0;PRECISION</span></span></span> declaration and is normally 8 bytes; class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">PRECISION</span> declaration and is normally 8 bytes;
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">psb</span><span class="cmbx-10">psb</span><span
@ -58,8 +59,8 @@ class="cmbx-10">psb</span><span
class="cmbx-10">_epk</span><span class="cmbx-10">_epk</span><span
class="cmbx-10">_</span> </dt><dd class="cmbx-10">_</span> </dt><dd
class="description">Kind parameter for 8-bytes integer data, as is always used by the class="description">Kind parameter for 8-bytes integer data, as is always used by the
<span class="obeylines-h"><span class="verb"><span <span class="lstinline"></span><span
class="cmtt-10">sizeof</span></span></span> methods; class="cmtt-10">sizeof</span> methods;
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">psb</span><span class="cmbx-10">psb</span><span

@ -36,7 +36,7 @@ zero, an error condition is raised. This process continues on all the levels of
nested calls until the level where the user decides to abort the program nested calls until the level where the user decides to abort the program
execution. execution.
<!--l. 23--><p class="indent" > Figure&#x00A0;<a <!--l. 23--><p class="indent" > Figure&#x00A0;<a
href="#x86-1230259">9<!--tex4ht:ref: fig:routerr --></a> shows the layout of a generic <span class="obeylines-h"><span class="verb"><span href="#x86-123025r5">5<!--tex4ht:ref: fig:routerr --></a> shows the layout of a generic <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">psb_foo</span></span></span> routine with respect to the class="cmtt-10">psb_foo</span></span></span> routine with respect to the
PSBLAS-2.0 error handling policy. It is possible to see how, whenever an error PSBLAS-2.0 error handling policy. It is possible to see how, whenever an error
condition is detected, the <span class="obeylines-h"><span class="verb"><span condition is detected, the <span class="obeylines-h"><span class="verb"><span
@ -54,284 +54,293 @@ made by the user with <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">psb_set_erraction</span></span></span>. The default is to print the error class="cmtt-10">psb_set_erraction</span></span></span>. The default is to print the error
and terminate the program, but the user may choose to handle the error and terminate the program, but the user may choose to handle the error
explicitly. explicitly.
<!--l. 40--><p class="indent" > <hr class="figure"><div class="figure"
>
<a <!--l. 40--><p class="indent" > <a
id="x86-1230259"></a> id="x86-123025r5"></a><hr class="float"><div class="float"
>
<div class="center" <div class="center"
> >
<!--l. 73--><p class="noindent" > <!--l. 101--><p class="noindent" >
<div class="fbox"><div class="minipage"><!--l. 44--> <div class="fbox"><div class="minipage"><!--l. 72-->
<div class="lstlisting" id="listing-9"><span class="label"><a <div class="lstlisting" id="listing-5"><span class="label"><a
id="x86-123001r1"></a></span><span id="x86-123001r1"></a></span><span
class="cmtt-9">subroutine</span><span class="cmbx-9">subroutine</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">psb_foo</span><span class="cmr-9">psb</span><span
class="cmtt-9">(</span><span class="cmr-9">_foo</span><span
class="cmtt-9">some</span><span class="cmr-9">(</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">some</span><span
class="cmtt-9">args</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">,</span><span class="cmr-9">args</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">,</span><span
class="cmtt-9">info</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">)</span><span class="cmr-9">info</span><span
class="cmtt-9">&#x00A0;</span><br /><span class="label"><a class="cmr-9">)</span><span
class="cmr-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123002r2"></a></span><span id="x86-123002r2"></a></span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">...</span><span class="cmr-9">...</span><span
class="cmtt-9">&#x00A0;</span><br /><span class="label"><a class="cmr-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123003r3"></a></span><span id="x86-123003r3"></a></span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">if</span><span class="cmbx-9">if</span><span
class="cmtt-9">(</span><span class="cmr-9">(</span><span
class="cmtt-9">error</span><span class="cmr-9">error</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">detected</span><span class="cmr-9">detected</span><span
class="cmtt-9">)</span><span class="cmr-9">)</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">then</span><span class="cmbx-9">then</span><span
class="cmtt-9">&#x00A0;</span><br /><span class="label"><a class="cmr-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123004r4"></a></span><span id="x86-123004r4"></a></span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">info</span><span class="cmr-9">info</span><span
class="cmtt-9">=</span><span class="cmr-9">=</span><span
class="cmtt-9">errcode1</span><span class="cmr-9">errcode1</span><span
class="cmtt-9">&#x00A0;</span><br /><span class="label"><a class="cmr-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123005r5"></a></span><span id="x86-123005r5"></a></span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">call</span><span class="cmbx-9">call</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">psb_errpush</span><span class="cmr-9">psb</span><span
class="cmtt-9">(</span><span class="cmr-9">_errpush</span><span
class="cmtt-9">&#8217;</span><span class="cmr-9">(</span><span
class="cmtt-9">psb_foo</span><span class="cmr-9">&#8217;</span><span
class="cmtt-9">&#8217;</span><span class="cmr-9">psb</span><span
class="cmtt-9">,</span><span class="cmr-9">_foo</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#8217;</span><span
class="cmtt-9">errcode1</span><span class="cmr-9">,</span><span
class="cmtt-9">)</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><br /><span class="label"><a class="cmr-9">errcode1</span><span
class="cmr-9">)</span><span
class="cmr-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123006r6"></a></span><span id="x86-123006r6"></a></span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">goto</span><span class="cmbx-9">goto</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">9999</span><span class="cmr-9">9999</span><span
class="cmtt-9">&#x00A0;</span><br /><span class="label"><a class="cmr-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123007r7"></a></span><span id="x86-123007r7"></a></span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">end</span><span class="cmbx-9">end</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">if</span><span class="cmbx-9">if</span><span
class="cmtt-9">&#x00A0;</span><br /><span class="label"><a class="cmr-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123008r8"></a></span><span id="x86-123008r8"></a></span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">...</span><span class="cmr-9">...</span><span
class="cmtt-9">&#x00A0;</span><br /><span class="label"><a class="cmr-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123009r9"></a></span><span id="x86-123009r9"></a></span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">call</span><span class="cmbx-9">call</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">psb_bar</span><span class="cmr-9">psb</span><span
class="cmtt-9">(</span><span class="cmr-9">_bar</span><span
class="cmtt-9">some</span><span class="cmr-9">(</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">some</span><span
class="cmtt-9">args</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">,</span><span class="cmr-9">args</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">,</span><span
class="cmtt-9">info</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">)</span><span class="cmr-9">info</span><span
class="cmtt-9">&#x00A0;</span><br /><span class="label"><a class="cmr-9">)</span><span
class="cmr-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123010r10"></a></span><span id="x86-123010r10"></a></span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">if</span><span class="cmbx-9">if</span><span
class="cmtt-9">(</span><span class="cmr-9">(</span><span
class="cmtt-9">info</span><span class="cmr-9">info</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">.</span><span class="cmr-9">.</span><span
class="cmtt-9">ne</span><span class="cmbx-9">ne</span><span
class="cmtt-9">.</span><span class="cmr-9">.</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">zero</span><span class="cmr-9">zero</span><span
class="cmtt-9">)</span><span class="cmr-9">)</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">then</span><span class="cmbx-9">then</span><span
class="cmtt-9">&#x00A0;</span><br /><span class="label"><a class="cmr-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123011r11"></a></span><span id="x86-123011r11"></a></span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">info</span><span class="cmr-9">info</span><span
class="cmtt-9">=</span><span class="cmr-9">=</span><span
class="cmtt-9">errcode2</span><span class="cmr-9">errcode2</span><span
class="cmtt-9">&#x00A0;</span><br /><span class="label"><a class="cmr-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123012r12"></a></span><span id="x86-123012r12"></a></span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">call</span><span class="cmbx-9">call</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">psb_errpush</span><span class="cmr-9">psb</span><span
class="cmtt-9">(</span><span class="cmr-9">_errpush</span><span
class="cmtt-9">&#8217;</span><span class="cmr-9">(</span><span
class="cmtt-9">psb_foo</span><span class="cmr-9">&#8217;</span><span
class="cmtt-9">&#8217;</span><span class="cmr-9">psb</span><span
class="cmtt-9">,</span><span class="cmr-9">_foo</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#8217;</span><span
class="cmtt-9">errcode2</span><span class="cmr-9">,</span><span
class="cmtt-9">)</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><br /><span class="label"><a class="cmr-9">errcode2</span><span
class="cmr-9">)</span><span
class="cmr-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123013r13"></a></span><span id="x86-123013r13"></a></span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">goto</span><span class="cmbx-9">goto</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">9999</span><span class="cmr-9">9999</span><span
class="cmtt-9">&#x00A0;</span><br /><span class="label"><a class="cmr-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123014r14"></a></span><span id="x86-123014r14"></a></span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">end</span><span class="cmbx-9">end</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">if</span><span class="cmbx-9">if</span><span
class="cmtt-9">&#x00A0;</span><br /><span class="label"><a class="cmr-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123015r15"></a></span><span id="x86-123015r15"></a></span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">...</span><span class="cmr-9">...</span><span
class="cmtt-9">&#x00A0;</span><br /><span class="label"><a class="cmr-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123016r16"></a></span><span id="x86-123016r16"></a></span><span
class="cmtt-9">9999</span><span class="cmr-9">9999</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">continue</span><span class="cmbx-9">continue</span><span
class="cmtt-9">&#x00A0;</span><br /><span class="label"><a class="cmr-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123017r17"></a></span><span id="x86-123017r17"></a></span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">if</span><span class="cmbx-9">if</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">(</span><span class="cmr-9">(</span><span
class="cmtt-9">err_act</span><span class="cmr-9">err</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">_act</span><span
class="cmtt-9">.</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">eq</span><span class="cmr-9">.</span><span
class="cmtt-9">.</span><span class="cmbx-9">eq</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">.</span><span
class="cmtt-9">act_abort</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">)</span><span class="cmr-9">act</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">_abort</span><span
class="cmtt-9">then</span><span class="cmr-9">)</span><span
class="cmtt-9">&#x00A0;</span><br /><span class="label"><a class="cmr-9">&#x00A0;</span><span
class="cmbx-9">then</span><span
class="cmr-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123018r18"></a></span><span id="x86-123018r18"></a></span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">call</span><span class="cmbx-9">call</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">psb_error</span><span class="cmr-9">psb</span><span
class="cmtt-9">(</span><span class="cmr-9">_error</span><span
class="cmtt-9">icontxt</span><span class="cmr-9">(</span><span
class="cmtt-9">)</span><span class="cmr-9">icontxt</span><span
class="cmtt-9">&#x00A0;</span><br /><span class="label"><a class="cmr-9">)</span><span
class="cmr-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123019r19"></a></span><span id="x86-123019r19"></a></span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">return</span><span class="cmbx-9">return</span><span
class="cmtt-9">&#x00A0;</span><br /><span class="label"><a class="cmr-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123020r20"></a></span><span id="x86-123020r20"></a></span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">else</span><span class="cmbx-9">else</span><span
class="cmtt-9">&#x00A0;</span><br /><span class="label"><a class="cmr-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123021r21"></a></span><span id="x86-123021r21"></a></span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">return</span><span class="cmbx-9">return</span><span
class="cmtt-9">&#x00A0;</span><br /><span class="label"><a class="cmr-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123022r22"></a></span><span id="x86-123022r22"></a></span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">end</span><span class="cmbx-9">end</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">if</span><span class="cmbx-9">if</span><span
class="cmtt-9">&#x00A0;</span><br /><span class="label"><a class="cmr-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123023r23"></a></span><span id="x86-123023r23"></a></span><span
class="cmtt-9">&#x00A0;</span><br /><span class="label"><a class="cmr-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123024r24"></a></span><span id="x86-123024r24"></a></span><span
class="cmtt-9">end</span><span class="cmbx-9">end</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">subroutine</span><span class="cmbx-9">subroutine</span><span
class="cmtt-9">&#x00A0;</span><span class="cmr-9">&#x00A0;</span><span
class="cmtt-9">psb_foo</span> class="cmr-9">psb</span><span
class="cmr-9">_foo</span>
</div> </div> </div> </div> </div> </div>
</div> </div>
<br /> <div class="caption" <br /> <div class="caption"
><span class="id">Figure&#x00A0;9: </span><span ><span class="id">Listing 5: </span><span
class="content">The layout of a generic <span class="content">The layout of a generic <span
class="cmtt-10">psb</span><span class="cmtt-10">psb</span><span
class="cmtt-10">_foo </span>routine with respect to PSBLAS-2.0 class="cmtt-10">_foo </span>routine with respect to PSBLAS-2.0
error handling policy.</span></div><!--tex4ht:label?: x86-1230259 --> error handling policy.</span></div><!--tex4ht:label?: x86-123025r5 -->
<!--l. 78--><p class="indent" > </div><hr class="endfigure"> </div><hr class="endfloat" />
<!--l. 83--><p class="indent" > Figure&#x00A0;<a <!--l. 112--><p class="indent" > Figure&#x00A0;<a
href="#x86-12302610">10<!--tex4ht:ref: fig:errormsg --></a> reports a sample error message generated by the PSBLAS-2.0 href="#x86-123026r6">6<!--tex4ht:ref: fig:errormsg --></a> reports a sample error message generated by the PSBLAS-2.0
library. This error has been generated by the fact that the user has chosen the library. This error has been generated by the fact that the user has chosen the
invalid &#8220;FOO&#8221; storage format to represent the sparse matrix. From this invalid &#8220;FOO&#8221; storage format to represent the sparse matrix. From this
error message it is possible to see that the error has been detected inside error message it is possible to see that the error has been detected inside
@ -339,20 +348,19 @@ the <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">psb_cest</span></span></span> subroutine called by <span class="obeylines-h"><span class="verb"><span class="cmtt-10">psb_cest</span></span></span> subroutine called by <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">psb_spasb</span></span></span> ... by process 0 (i.e. the root class="cmtt-10">psb_spasb</span></span></span> ... by process 0 (i.e. the root
process). process).
<!--l. 91--><p class="indent" > <hr class="figure"><div class="figure"
>
<a <!--l. 120--><p class="indent" > <a
id="x86-12302610"></a> id="x86-123026r6"></a><hr class="float"><div class="float"
>
<div class="center" <div class="center"
> >
<!--l. 113--><p class="noindent" > <!--l. 160--><p class="noindent" >
<div class="fbox"><div class="minipage"><div class="verbatim" id="verbatim-101"> <div class="fbox"><div class="minipage"><div class="verbatim" id="verbatim-78">
========================================================== ==========================================================
&#x00A0;<br />Process:&#x00A0;0.&#x00A0;&#x00A0;PSBLAS&#x00A0;Error&#x00A0;(4010)&#x00A0;in&#x00A0;subroutine:&#x00A0;df_sample &#x00A0;<br />Process:&#x00A0;0.&#x00A0;&#x00A0;PSBLAS&#x00A0;Error&#x00A0;(4010)&#x00A0;in&#x00A0;subroutine:&#x00A0;df_sample
&#x00A0;<br />Error&#x00A0;from&#x00A0;call&#x00A0;to&#x00A0;subroutine&#x00A0;mat&#x00A0;dist &#x00A0;<br />Error&#x00A0;from&#x00A0;call&#x00A0;to&#x00A0;subroutine&#x00A0;mat&#x00A0;dist
@ -368,16 +376,16 @@ process).
&#x00A0;<br />========================================================== &#x00A0;<br />==========================================================
&#x00A0;<br />Aborting... &#x00A0;<br />Aborting...
</div> </div>
<!--l. 109--><p class="nopar" > </div> </div> <!--l. 156--><p class="nopar" > </div> </div>
</div> </div>
<br /> <div class="caption" <br /> <div class="caption"
><span class="id">Figure&#x00A0;10: </span><span ><span class="id">Listing 6: </span><span
class="content">A sample PSBLAS-2.0 error message. Process 0 detected an error class="content">A sample PSBLAS-3.0 error message. Process 0 detected an error
condition inside the psb_cest subroutine</span></div><!--tex4ht:label?: x86-12302610 --> condition inside the psb_cest subroutine</span></div><!--tex4ht:label?: x86-123026r6 -->
<!--l. 119--><p class="indent" > </div><hr class="endfigure"> </div><hr class="endfloat" />

@ -116,7 +116,7 @@ class="cmsy-10">|</span>.
<a <a
id="x6-40022"></a> id="x6-4002r2"></a>
@ -128,7 +128,7 @@ src="points.png" alt="PIC"
></div> ></div>
<br /> <div class="caption" <br /> <div class="caption"
><span class="id">Figure&#x00A0;2: </span><span ><span class="id">Figure&#x00A0;2: </span><span
class="content">Point classfication.</span></div><!--tex4ht:label?: x6-40022 --> class="content">Point classfication.</span></div><!--tex4ht:label?: x6-4002r2 -->

@ -23,26 +23,41 @@ sum:
src="userhtml1x.png" alt="y &#x2190; &#x03B1; x+ &#x03B2;y src="userhtml1x.png" alt="y &#x2190; &#x03B1; x+ &#x03B2;y
" class="math-display" ></center> " class="math-display" ></center>
<!--l. 12--><p class="nopar" > <!--l. 12--><p class="nopar" >
<!--l. 19--><p class="indent" > <span class="lstinline"></span><span
class="cmtt-10">call</span><span
class="cmtt-10">&#x00A0;</span><span
<div class="verbatim" id="verbatim-40"> class="cmtt-10">psb_geaxpby</span><span
call&#x00A0;psb_geaxpby(alpha,&#x00A0;x,&#x00A0;beta,&#x00A0;y,&#x00A0;desc_a,&#x00A0;info) class="cmtt-10">(</span><span
</div> class="cmtt-10">alpha</span><span
<!--l. 21--><p class="nopar" > class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">x</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">beta</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">y</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">desc_a</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">info</span><span
class="cmtt-10">)</span>
<div class="table"> <div class="table">
<!--l. 25--><p class="indent" > <a <!--l. 23--><p class="indent" > <a
id="x19-560011"></a><hr class="float"><div class="float" id="x19-56001r1"></a><hr class="float"><div class="float"
> >
<div class="center" <div class="center"
> >
<!--l. 26--><p class="noindent" > <!--l. 24--><p class="noindent" >
<div class="tabular"> <table id="TBL-1" class="tabular" <div class="tabular"> <table id="TBL-1" class="tabular"
cellspacing="0" cellpadding="0" cellspacing="0" cellpadding="0"
><colgroup id="TBL-1-1g"><col ><colgroup id="TBL-1-1g"><col
@ -80,7 +95,7 @@ class="hline"><td><hr></td><td><hr></td></tr><tr
class="td11"> </td></tr></table></div></div> class="td11"> </td></tr></table></div></div>
<br /> <div class="caption" <br /> <div class="caption"
><span class="id">Table&#x00A0;1: </span><span ><span class="id">Table&#x00A0;1: </span><span
class="content">Data types</span></div><!--tex4ht:label?: x19-560011 --> class="content">Data types</span></div><!--tex4ht:label?: x19-56001r1 -->
@ -106,7 +121,7 @@ class="cmbx-10">required </span><br
class="newline" />Intent: <span class="newline" />Intent: <span
class="cmbx-10">in</span>.<br class="cmbx-10">in</span>.<br
class="newline" />Specified as: a number of the data type indicated in Table&#x00A0;<a class="newline" />Specified as: a number of the data type indicated in Table&#x00A0;<a
href="#x19-560011">1<!--tex4ht:ref: tab:f90axpby --></a>. href="#x19-56001r1">1<!--tex4ht:ref: tab:f90axpby --></a>.
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">x</span> </dt><dd class="cmbx-10">x</span> </dt><dd
@ -125,7 +140,7 @@ class="cmtt-10">psb</span><span
class="cmtt-10">_T</span><span class="cmtt-10">_T</span><span
class="cmtt-10">_vect</span><span class="cmtt-10">_vect</span><span
class="cmtt-10">_type</span></a>&#x00A0;containing numbers of type specified in Table&#x00A0;<a class="cmtt-10">_type</span></a>&#x00A0;containing numbers of type specified in Table&#x00A0;<a
href="#x19-560011">1<!--tex4ht:ref: tab:f90axpby --></a>. The href="#x19-56001r1">1<!--tex4ht:ref: tab:f90axpby --></a>. The
rank of <span rank of <span
class="cmmi-10">x </span>must be the same of <span class="cmmi-10">x </span>must be the same of <span
class="cmmi-10">y</span>. class="cmmi-10">y</span>.
@ -141,7 +156,7 @@ class="cmbx-10">required </span><br
class="newline" />Intent: <span class="newline" />Intent: <span
class="cmbx-10">in</span>.<br class="cmbx-10">in</span>.<br
class="newline" />Specified as: a number of the data type indicated in Table&#x00A0;<a class="newline" />Specified as: a number of the data type indicated in Table&#x00A0;<a
href="#x19-560011">1<!--tex4ht:ref: tab:f90axpby --></a>. href="#x19-56001r1">1<!--tex4ht:ref: tab:f90axpby --></a>.
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">y</span> </dt><dd class="cmbx-10">y</span> </dt><dd
@ -160,7 +175,7 @@ class="cmtt-10">psb</span><span
class="cmtt-10">_T</span><span class="cmtt-10">_T</span><span
class="cmtt-10">_vect</span><span class="cmtt-10">_vect</span><span
class="cmtt-10">_type</span></a>&#x00A0;containing numbers of the type indicated in Table&#x00A0;<a class="cmtt-10">_type</span></a>&#x00A0;containing numbers of the type indicated in Table&#x00A0;<a
href="#x19-560011">1<!--tex4ht:ref: tab:f90axpby --></a>. href="#x19-56001r1">1<!--tex4ht:ref: tab:f90axpby --></a>.
The rank of <span The rank of <span
class="cmmi-10">y </span>must be the same of <span class="cmmi-10">y </span>must be the same of <span
class="cmmi-10">x</span>. class="cmmi-10">x</span>.
@ -206,7 +221,7 @@ class="cmtt-10">psb</span><span
class="cmtt-10">_T</span><span class="cmtt-10">_T</span><span
class="cmtt-10">_vect</span><span class="cmtt-10">_vect</span><span
class="cmtt-10">_type</span></a>&#x00A0;containing numbers of the type indicated in Table&#x00A0;<a class="cmtt-10">_type</span></a>&#x00A0;containing numbers of the type indicated in Table&#x00A0;<a
href="#x19-560011">1<!--tex4ht:ref: tab:f90axpby --></a>. href="#x19-56001r1">1<!--tex4ht:ref: tab:f90axpby --></a>.
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">info</span> </dt><dd class="cmbx-10">info</span> </dt><dd
@ -224,10 +239,10 @@ class="newline" />An integer value; 0 means no error has been detected.</dd></dl
<!--l. 113--><div class="crosslinks"><p class="noindent">[<a <!--l. 111--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu14.html" >next</a>] [<a href="userhtmlsu14.html" >next</a>] [<a
href="userhtmlsu10.html" >front</a>] [<a href="userhtmlsu10.html" >front</a>] [<a
href="userhtmlsu12.html#userhtmlsu13.html" >up</a>] </p></div> href="userhtmlsu12.html#userhtmlsu13.html" >up</a>] </p></div>
<!--l. 113--><p class="indent" > <a <!--l. 111--><p class="indent" > <a
id="tailuserhtmlsu10.html"></a> id="tailuserhtmlsu10.html"></a>
</body></html> </body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 113--><div class="crosslinks"><p class="noindent">[<a <!--l. 111--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu15.html" >next</a>] [<a href="userhtmlsu15.html" >next</a>] [<a
href="userhtmlsu10.html" >prev</a>] [<a href="userhtmlsu10.html" >prev</a>] [<a
href="userhtmlsu10.html#tailuserhtmlsu10.html" >prev-tail</a>] [<a href="userhtmlsu10.html#tailuserhtmlsu10.html" >prev-tail</a>] [<a
@ -18,7 +18,7 @@ href="userhtmlsu9.html#tailuserhtmlsu11.html">tail</a>] [<a
href="userhtmlsu12.html#userhtmlsu14.html" >up</a>] </p></div> href="userhtmlsu12.html#userhtmlsu14.html" >up</a>] </p></div>
<h4 class="subsectionHead"><span class="titlemark">4.2 </span> <a <h4 class="subsectionHead"><span class="titlemark">4.2 </span> <a
id="x20-570004.2"></a>psb_gedot &#8212; Dot Product</h4> id="x20-570004.2"></a>psb_gedot &#8212; Dot Product</h4>
<!--l. 115--><p class="noindent" >This function computes dot product between two vectors <span <!--l. 113--><p class="noindent" >This function computes dot product between two vectors <span
class="cmmi-10">x </span>and <span class="cmmi-10">x </span>and <span
class="cmmi-10">y</span>.<br class="cmmi-10">y</span>.<br
class="newline" />If <span class="newline" />If <span
@ -29,33 +29,43 @@ class="cmmi-10">y </span>are real vectors it computes dot-product as:
src="userhtml2x.png" alt=" T src="userhtml2x.png" alt=" T
dot &#x2190; x y dot &#x2190; x y
" class="math-display" ></center> " class="math-display" ></center>
<!--l. 119--><p class="nopar" > Else if <span <!--l. 117--><p class="nopar" > Else if <span
class="cmmi-10">x </span>and <span class="cmmi-10">x </span>and <span
class="cmmi-10">y </span>are complex vectors then it computes dot-product as: class="cmmi-10">y </span>are complex vectors then it computes dot-product as:
<center class="math-display" > <center class="math-display" >
<img <img
src="userhtml3x.png" alt="dot &#x2190; xHy src="userhtml3x.png" alt="dot &#x2190; xHy
" class="math-display" ></center> " class="math-display" ></center>
<!--l. 121--><p class="nopar" > <!--l. 119--><p class="nopar" >
<!--l. 126--><p class="indent" > <span class="lstinline"></span><span
class="cmtt-10">psb_gedot</span><span
class="cmtt-10">(</span><span
<div class="verbatim" id="verbatim-41"> class="cmtt-10">x</span><span
psb_gedot(x,&#x00A0;y,&#x00A0;desc_a,&#x00A0;info&#x00A0;[,global]) class="cmtt-10">,</span><span
</div> class="cmtt-10">&#x00A0;</span><span
<!--l. 130--><p class="nopar" > <div class="table"> class="cmtt-10">y</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">desc_a</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">info</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">[,</span><span
class="cmtt-10">global</span><span
class="cmtt-10">])</span> <div class="table">
<!--l. 132--><p class="indent" > <a <!--l. 128--><p class="indent" > <a
id="x20-570012"></a><hr class="float"><div class="float" id="x20-57001r2"></a><hr class="float"><div class="float"
> >
<div class="center" <div class="center"
> >
<!--l. 133--><p class="noindent" > <!--l. 129--><p class="noindent" >
<div class="tabular"> <table id="TBL-2" class="tabular" <div class="tabular"> <table id="TBL-2" class="tabular"
cellspacing="0" cellpadding="0" cellspacing="0" cellpadding="0"
><colgroup id="TBL-2-1g"><col ><colgroup id="TBL-2-1g"><col
@ -92,7 +102,7 @@ class="hline"><td><hr></td><td><hr></td></tr><tr
class="td11"> </td></tr></table></div></div> class="td11"> </td></tr></table></div></div>
<br /> <div class="caption" <br /> <div class="caption"
><span class="id">Table&#x00A0;2: </span><span ><span class="id">Table&#x00A0;2: </span><span
class="content">Data types</span></div><!--tex4ht:label?: x20-570012 --> class="content">Data types</span></div><!--tex4ht:label?: x20-57001r2 -->
@ -124,7 +134,7 @@ class="cmtt-10">psb</span><span
class="cmtt-10">_T</span><span class="cmtt-10">_T</span><span
class="cmtt-10">_vect</span><span class="cmtt-10">_vect</span><span
class="cmtt-10">_type</span></a>&#x00A0;containing numbers of type specified in Table&#x00A0;<a class="cmtt-10">_type</span></a>&#x00A0;containing numbers of type specified in Table&#x00A0;<a
href="#x20-570012">2<!--tex4ht:ref: tab:f90dot --></a>. The href="#x20-57001r2">2<!--tex4ht:ref: tab:f90dot --></a>. The
rank of <span rank of <span
class="cmmi-10">x </span>must be the same of <span class="cmmi-10">x </span>must be the same of <span
class="cmmi-10">y</span>. class="cmmi-10">y</span>.
@ -146,7 +156,7 @@ class="cmtt-10">psb</span><span
class="cmtt-10">_T</span><span class="cmtt-10">_T</span><span
class="cmtt-10">_vect</span><span class="cmtt-10">_vect</span><span
class="cmtt-10">_type</span></a>&#x00A0;containing numbers of type specified in Table&#x00A0;<a class="cmtt-10">_type</span></a>&#x00A0;containing numbers of type specified in Table&#x00A0;<a
href="#x20-570012">2<!--tex4ht:ref: tab:f90dot --></a>. The href="#x20-57001r2">2<!--tex4ht:ref: tab:f90dot --></a>. The
rank of <span rank of <span
class="cmmi-10">y </span>must be the same of <span class="cmmi-10">y </span>must be the same of <span
class="cmmi-10">x</span>. class="cmmi-10">x</span>.
@ -177,8 +187,11 @@ class="newline" />Type: <span
class="cmbx-10">optional</span>.<br class="cmbx-10">optional</span>.<br
class="newline" />Intent: <span class="newline" />Intent: <span
class="cmbx-10">in</span>.<br class="cmbx-10">in</span>.<br
class="newline" />Specified as: a logical scalar. Default: <span class="obeylines-h"><span class="verb"><span class="newline" />Specified as: a logical scalar. Default: <span class="lstinline"></span><span
class="cmtt-10">global=.true.</span></span></span><br class="cmtt-10">global</span><span
class="cmtt-10">=.</span><span
class="cmtt-10">true</span><span
class="cmtt-10">.</span><br
class="newline" /> class="newline" />
</dd><dt class="description"> </dd><dt class="description">
<span <span
@ -191,11 +204,14 @@ class="description">is the dot product of vectors <span
class="cmmi-10">x </span>and <span class="cmmi-10">x </span>and <span
class="cmmi-10">y</span>.<br class="cmmi-10">y</span>.<br
class="newline" />Scope: <span class="newline" />Scope: <span
class="cmbx-10">global </span>unless the optional variable <span class="obeylines-h"><span class="verb"><span class="cmbx-10">global </span>unless the optional variable <span class="lstinline"></span><span
class="cmtt-10">global=.false.</span></span></span> has been class="cmtt-10">global</span><span
class="cmtt-10">=.</span><span
class="cmtt-10">false</span><span
class="cmtt-10">.</span> has been
specified<br specified<br
class="newline" />Specified as: a number of the data type indicated in Table&#x00A0;<a class="newline" />Specified as: a number of the data type indicated in Table&#x00A0;<a
href="#x20-570012">2<!--tex4ht:ref: tab:f90dot --></a>. href="#x20-57001r2">2<!--tex4ht:ref: tab:f90dot --></a>.
@ -210,7 +226,7 @@ class="cmbx-10">required </span><br
class="newline" />Intent: <span class="newline" />Intent: <span
class="cmbx-10">out</span>.<br class="cmbx-10">out</span>.<br
class="newline" />An integer value; 0 means no error has been detected.</dd></dl> class="newline" />An integer value; 0 means no error has been detected.</dd></dl>
<!--l. 207--><p class="noindent" ><span <!--l. 203--><p class="noindent" ><span
class="cmbx-12">Notes</span> class="cmbx-12">Notes</span>
<ol class="enumerate1" > <ol class="enumerate1" >
<li <li
@ -218,95 +234,19 @@ class="cmbx-12">Notes</span>
entails a significant overhead. It may be necessary and/or advisable to entails a significant overhead. It may be necessary and/or advisable to
compute multiple dot products at the same time; in this case, it is compute multiple dot products at the same time; in this case, it is
possible to improve the runtime efficiency by using the following scheme: possible to improve the runtime efficiency by using the following scheme:
<!--l. 214--> <!--l. 218-->
<div class="lstlisting" id="listing-1"><span class="label"><a <div class="lstlisting" id="listing-1"><span class="label"><a
id="x20-57004r1"></a></span><span id="x20-57004r1"></a></span>&#x00A0;&#x00A0;&#x00A0;&#x00A0;vres(1)&#x00A0;=&#x00A0;psb_gedot(x1,y1,desc_a,info,global=.<span
class="cmtt-10">&#x00A0;</span><span class="cmbx-10">false</span>.)&#x00A0;<br /><span class="label"><a
class="cmtt-10">&#x00A0;</span><span id="x20-57005r2"></a></span>&#x00A0;&#x00A0;&#x00A0;&#x00A0;vres(2)&#x00A0;=&#x00A0;psb_gedot(x2,y2,desc_a,info,global=.<span
class="cmtt-10">&#x00A0;</span><span class="cmbx-10">false</span>.)&#x00A0;<br /><span class="label"><a
class="cmtt-10">vres</span><span id="x20-57006r3"></a></span>&#x00A0;&#x00A0;&#x00A0;&#x00A0;vres(3)&#x00A0;=&#x00A0;psb_gedot(x3,y3,desc_a,info,global=.<span
class="cmtt-10">(1)</span><span class="cmbx-10">false</span>.)&#x00A0;<br /><span class="label"><a
class="cmtt-10">&#x00A0;</span><span id="x20-57007r4"></a></span>&#x00A0;&#x00A0;&#x00A0;&#x00A0;<span
class="cmtt-10">=</span><span class="cmbx-10">call</span>&#x00A0;psb_sum(ctxt,vres(1:3))
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_gedot</span><span
class="cmtt-10">(</span><span
class="cmtt-10">x1</span><span
class="cmtt-10">,</span><span
class="cmtt-10">y1</span><span
class="cmtt-10">,</span><span
class="cmtt-10">desc_a</span><span
class="cmtt-10">,</span><span
class="cmtt-10">info</span><span
class="cmtt-10">,</span><span
class="cmtt-10">global</span><span
class="cmtt-10">=.</span><span
class="cmtt-10">false</span><span
class="cmtt-10">.)</span><span
class="cmtt-10">&#x00A0;</span><br /><span class="label"><a
id="x20-57005r2"></a></span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">vres</span><span
class="cmtt-10">(2)</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">=</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_gedot</span><span
class="cmtt-10">(</span><span
class="cmtt-10">x2</span><span
class="cmtt-10">,</span><span
class="cmtt-10">y2</span><span
class="cmtt-10">,</span><span
class="cmtt-10">desc_a</span><span
class="cmtt-10">,</span><span
class="cmtt-10">info</span><span
class="cmtt-10">,</span><span
class="cmtt-10">global</span><span
class="cmtt-10">=.</span><span
class="cmtt-10">false</span><span
class="cmtt-10">.)</span><span
class="cmtt-10">&#x00A0;</span><br /><span class="label"><a
id="x20-57006r3"></a></span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">vres</span><span
class="cmtt-10">(3)</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">=</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_gedot</span><span
class="cmtt-10">(</span><span
class="cmtt-10">x3</span><span
class="cmtt-10">,</span><span
class="cmtt-10">y3</span><span
class="cmtt-10">,</span><span
class="cmtt-10">desc_a</span><span
class="cmtt-10">,</span><span
class="cmtt-10">info</span><span
class="cmtt-10">,</span><span
class="cmtt-10">global</span><span
class="cmtt-10">=.</span><span
class="cmtt-10">false</span><span
class="cmtt-10">.)</span><span
class="cmtt-10">&#x00A0;</span><br /><span class="label"><a
id="x20-57007r4"></a></span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">call</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_sum</span><span
class="cmtt-10">(</span><span
class="cmtt-10">ictxt</span><span
class="cmtt-10">,</span><span
class="cmtt-10">vres</span><span
class="cmtt-10">(1:3))</span>
</div> </div>
<!--l. 220--><p class="noindent" >In this way the global communication, which for small sizes is a latency-bound <!--l. 225--><p class="noindent" >In this way the global communication, which for small sizes is a latency-bound
operation, is invoked only once.</li></ol> operation, is invoked only once.</li></ol>
@ -314,12 +254,12 @@ class="cmtt-10">(1:3))</span>
<!--l. 230--><div class="crosslinks"><p class="noindent">[<a <!--l. 235--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu15.html" >next</a>] [<a href="userhtmlsu15.html" >next</a>] [<a
href="userhtmlsu10.html" >prev</a>] [<a href="userhtmlsu10.html" >prev</a>] [<a
href="userhtmlsu10.html#tailuserhtmlsu10.html" >prev-tail</a>] [<a href="userhtmlsu10.html#tailuserhtmlsu10.html" >prev-tail</a>] [<a
href="userhtmlsu11.html" >front</a>] [<a href="userhtmlsu11.html" >front</a>] [<a
href="userhtmlsu12.html#userhtmlsu14.html" >up</a>] </p></div> href="userhtmlsu12.html#userhtmlsu14.html" >up</a>] </p></div>
<!--l. 230--><p class="indent" > <a <!--l. 235--><p class="indent" > <a
id="tailuserhtmlsu11.html"></a> id="tailuserhtmlsu11.html"></a>
</body></html> </body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 230--><div class="crosslinks"><p class="noindent">[<a <!--l. 235--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu16.html" >next</a>] [<a href="userhtmlsu16.html" >next</a>] [<a
href="userhtmlsu11.html" >prev</a>] [<a href="userhtmlsu11.html" >prev</a>] [<a
href="userhtmlsu11.html#tailuserhtmlsu11.html" >prev-tail</a>] [<a href="userhtmlsu11.html#tailuserhtmlsu11.html" >prev-tail</a>] [<a
@ -18,7 +18,7 @@ href="userhtmlse4.html#tailuserhtmlsu12.html">tail</a>] [<a
href="userhtmlsu12.html#userhtmlsu15.html" >up</a>] </p></div> href="userhtmlsu12.html#userhtmlsu15.html" >up</a>] </p></div>
<h4 class="subsectionHead"><span class="titlemark">4.3 </span> <a <h4 class="subsectionHead"><span class="titlemark">4.3 </span> <a
id="x21-580004.3"></a>psb_gedots &#8212; Generalized Dot Product</h4> id="x21-580004.3"></a>psb_gedots &#8212; Generalized Dot Product</h4>
<!--l. 232--><p class="noindent" >This subroutine computes a series of dot products among the columns of two dense <!--l. 237--><p class="noindent" >This subroutine computes a series of dot products among the columns of two dense
matrices <span matrices <span
class="cmmi-10">x </span>and <span class="cmmi-10">x </span>and <span
class="cmmi-10">y</span>: class="cmmi-10">y</span>:
@ -27,32 +27,45 @@ class="cmmi-10">y</span>:
src="userhtml4x.png" alt=" T src="userhtml4x.png" alt=" T
res(i) &#x2190; x(:,i) y(:,i) res(i) &#x2190; x(:,i) y(:,i)
" class="math-display" ></center> " class="math-display" ></center>
<!--l. 234--><p class="nopar" > If the matrices are complex, then the usual convention applies, i.e. the conjugate <!--l. 239--><p class="nopar" > If the matrices are complex, then the usual convention applies, i.e. the conjugate
transpose of <span transpose of <span
class="cmmi-10">x </span>is used. If <span class="cmmi-10">x </span>is used. If <span
class="cmmi-10">x </span>and <span class="cmmi-10">x </span>and <span
class="cmmi-10">y </span>are of rank one, then <span class="cmmi-10">y </span>are of rank one, then <span
class="cmmi-10">res </span>is a scalar, else it is a rank class="cmmi-10">res </span>is a scalar, else it is a rank
one array. one array.
<!--l. 245--><p class="indent" > <span class="lstinline"></span><span
class="cmtt-10">call</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_gedots</span><span
class="cmtt-10">(</span><span
class="cmtt-10">res</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">x</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">y</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">desc_a</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">info</span><span
class="cmtt-10">)</span>
<div class="table">
<div class="verbatim" id="verbatim-42"> <!--l. 247--><p class="indent" > <a
call&#x00A0;psb_gedots(res,&#x00A0;x,&#x00A0;y,&#x00A0;desc_a,&#x00A0;info) id="x21-58001r3"></a><hr class="float"><div class="float"
</div>
<!--l. 242--><p class="nopar" > <div class="table">
<!--l. 243--><p class="indent" > <a
id="x21-580013"></a><hr class="float"><div class="float"
> >
<div class="center" <div class="center"
> >
<!--l. 244--><p class="noindent" > <!--l. 248--><p class="noindent" >
<div class="tabular"> <table id="TBL-3" class="tabular" <div class="tabular"> <table id="TBL-3" class="tabular"
cellspacing="0" cellpadding="0" cellspacing="0" cellpadding="0"
><colgroup id="TBL-3-1g"><col ><colgroup id="TBL-3-1g"><col
@ -89,7 +102,7 @@ class="hline"><td><hr></td><td><hr></td></tr><tr
class="td11"> </td></tr></table></div></div> class="td11"> </td></tr></table></div></div>
<br /> <div class="caption" <br /> <div class="caption"
><span class="id">Table&#x00A0;3: </span><span ><span class="id">Table&#x00A0;3: </span><span
class="content">Data types</span></div><!--tex4ht:label?: x21-580013 --> class="content">Data types</span></div><!--tex4ht:label?: x21-58001r3 -->
@ -121,7 +134,7 @@ class="cmtt-10">psb</span><span
class="cmtt-10">_T</span><span class="cmtt-10">_T</span><span
class="cmtt-10">_vect</span><span class="cmtt-10">_vect</span><span
class="cmtt-10">_type</span></a>&#x00A0;containing numbers of type specified in Table&#x00A0;<a class="cmtt-10">_type</span></a>&#x00A0;containing numbers of type specified in Table&#x00A0;<a
href="#x21-580013">3<!--tex4ht:ref: tab:f90mdot --></a>. The href="#x21-58001r3">3<!--tex4ht:ref: tab:f90mdot --></a>. The
rank of <span rank of <span
class="cmmi-10">x </span>must be the same of <span class="cmmi-10">x </span>must be the same of <span
class="cmmi-10">y</span>. class="cmmi-10">y</span>.
@ -143,7 +156,7 @@ class="cmtt-10">psb</span><span
class="cmtt-10">_T</span><span class="cmtt-10">_T</span><span
class="cmtt-10">_vect</span><span class="cmtt-10">_vect</span><span
class="cmtt-10">_type</span></a>&#x00A0;containing numbers of type specified in Table&#x00A0;<a class="cmtt-10">_type</span></a>&#x00A0;containing numbers of type specified in Table&#x00A0;<a
href="#x21-580013">3<!--tex4ht:ref: tab:f90mdot --></a>. The href="#x21-58001r3">3<!--tex4ht:ref: tab:f90mdot --></a>. The
rank of <span rank of <span
class="cmmi-10">y </span>must be the same of <span class="cmmi-10">y </span>must be the same of <span
class="cmmi-10">x</span>. class="cmmi-10">x</span>.
@ -179,7 +192,7 @@ class="newline" />Intent: <span
class="cmbx-10">out</span>.<br class="cmbx-10">out</span>.<br
class="newline" />Specified as: a number or a rank-one array of the data type indicated in class="newline" />Specified as: a number or a rank-one array of the data type indicated in
Table&#x00A0;<a Table&#x00A0;<a
href="userhtmlsu11.html#x20-570012">2<!--tex4ht:ref: tab:f90dot --></a>. href="userhtmlsu11.html#x20-57001r2">2<!--tex4ht:ref: tab:f90dot --></a>.
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">info</span> </dt><dd class="cmbx-10">info</span> </dt><dd
@ -197,12 +210,12 @@ class="newline" />An integer value; 0 means no error has been detected.</dd></dl
<!--l. 303--><div class="crosslinks"><p class="noindent">[<a <!--l. 307--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu16.html" >next</a>] [<a href="userhtmlsu16.html" >next</a>] [<a
href="userhtmlsu11.html" >prev</a>] [<a href="userhtmlsu11.html" >prev</a>] [<a
href="userhtmlsu11.html#tailuserhtmlsu11.html" >prev-tail</a>] [<a href="userhtmlsu11.html#tailuserhtmlsu11.html" >prev-tail</a>] [<a
href="userhtmlsu12.html" >front</a>] [<a href="userhtmlsu12.html" >front</a>] [<a
href="userhtmlsu12.html#userhtmlsu15.html" >up</a>] </p></div> href="userhtmlsu12.html#userhtmlsu15.html" >up</a>] </p></div>
<!--l. 303--><p class="indent" > <a <!--l. 307--><p class="indent" > <a
id="tailuserhtmlsu12.html"></a> id="tailuserhtmlsu12.html"></a>
</body></html> </body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 303--><div class="crosslinks"><p class="noindent">[<a <!--l. 307--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu17.html" >next</a>] [<a href="userhtmlsu17.html" >next</a>] [<a
href="userhtmlsu12.html" >prev</a>] [<a href="userhtmlsu12.html" >prev</a>] [<a
href="userhtmlsu12.html#tailuserhtmlsu12.html" >prev-tail</a>] [<a href="userhtmlsu12.html#tailuserhtmlsu12.html" >prev-tail</a>] [<a
@ -18,7 +18,7 @@ href="userhtmlsu10.html#tailuserhtmlsu13.html">tail</a>] [<a
href="userhtmlsu12.html#userhtmlsu16.html" >up</a>] </p></div> href="userhtmlsu12.html#userhtmlsu16.html" >up</a>] </p></div>
<h4 class="subsectionHead"><span class="titlemark">4.4 </span> <a <h4 class="subsectionHead"><span class="titlemark">4.4 </span> <a
id="x22-590004.4"></a>psb_normi &#8212; Infinity-Norm of Vector</h4> id="x22-590004.4"></a>psb_normi &#8212; Infinity-Norm of Vector</h4>
<!--l. 305--><p class="noindent" >This function computes the infinity-norm of a vector <span <!--l. 309--><p class="noindent" >This function computes the infinity-norm of a vector <span
class="cmmi-10">x</span>.<br class="cmmi-10">x</span>.<br
class="newline" />If <span class="newline" />If <span
class="cmmi-10">x </span>is a real vector it computes infinity norm as: class="cmmi-10">x </span>is a real vector it computes infinity norm as:
@ -26,34 +26,54 @@ class="cmmi-10">x </span>is a real vector it computes infinity norm as:
<img <img
src="userhtml5x.png" alt="amax &#x2190; maxi |xi| src="userhtml5x.png" alt="amax &#x2190; maxi |xi|
" class="math-display" ></center> " class="math-display" ></center>
<!--l. 309--><p class="nopar" > else if <span <!--l. 313--><p class="nopar" > else if <span
class="cmmi-10">x </span>is a complex vector then it computes the infinity-norm as: class="cmmi-10">x </span>is a complex vector then it computes the infinity-norm as:
<center class="math-display" > <center class="math-display" >
<img <img
src="userhtml6x.png" alt="amax &#x2190; maxi (|re(xi)|+ |im(xi)|) src="userhtml6x.png" alt="amax &#x2190; maxi (|re(xi)|+ |im(xi)|)
" class="math-display" ></center> " class="math-display" ></center>
<!--l. 311--><p class="nopar" > <!--l. 315--><p class="nopar" >
<!--l. 321--><p class="indent" > <span class="lstinline"></span><span
class="cmtt-10">psb_geamax</span><span
class="cmtt-10">(</span><span
<div class="verbatim" id="verbatim-43"> class="cmtt-10">x</span><span
psb_geamax(x,&#x00A0;desc_a,&#x00A0;info&#x00A0;[,global]) class="cmtt-10">,</span><span
&#x00A0;<br />psb_normi(x,&#x00A0;desc_a,&#x00A0;info&#x00A0;[,global]) class="cmtt-10">&#x00A0;</span><span
</div> class="cmtt-10">desc_a</span><span
<!--l. 320--><p class="nopar" > class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">info</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">[,</span><span
class="cmtt-10">global</span><span
class="cmtt-10">])</span><br
class="newline" /><span class="lstinline"></span><span
class="cmtt-10">psb_normi</span><span
class="cmtt-10">(</span><span
class="cmtt-10">x</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">desc_a</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">info</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">[,</span><span
class="cmtt-10">global</span><span
class="cmtt-10">])</span>
<div class="table"> <div class="table">
<!--l. 323--><p class="indent" > <a <!--l. 325--><p class="indent" > <a
id="x22-590014"></a><hr class="float"><div class="float" id="x22-59001r4"></a><hr class="float"><div class="float"
> >
<div class="center" <div class="center"
> >
<!--l. 324--><p class="noindent" > <!--l. 326--><p class="noindent" >
<div class="tabular"> <table id="TBL-4" class="tabular" <div class="tabular"> <table id="TBL-4" class="tabular"
cellspacing="0" cellpadding="0" cellspacing="0" cellpadding="0"
><colgroup id="TBL-4-1g"><col ><colgroup id="TBL-4-1g"><col
@ -94,7 +114,7 @@ class="hline"><td><hr></td><td><hr></td><td><hr></td></tr><tr
class="td11"> </td></tr></table></div></div> class="td11"> </td></tr></table></div></div>
<br /> <div class="caption" <br /> <div class="caption"
><span class="id">Table&#x00A0;4: </span><span ><span class="id">Table&#x00A0;4: </span><span
class="content">Data types</span></div><!--tex4ht:label?: x22-590014 --> class="content">Data types</span></div><!--tex4ht:label?: x22-59001r4 -->
@ -126,7 +146,7 @@ class="cmtt-10">psb</span><span
class="cmtt-10">_T</span><span class="cmtt-10">_T</span><span
class="cmtt-10">_vect</span><span class="cmtt-10">_vect</span><span
class="cmtt-10">_type</span></a>&#x00A0;containing numbers of type specified in Table&#x00A0;<a class="cmtt-10">_type</span></a>&#x00A0;containing numbers of type specified in Table&#x00A0;<a
href="#x22-590014">4<!--tex4ht:ref: tab:f90amax --></a>. href="#x22-59001r4">4<!--tex4ht:ref: tab:f90amax --></a>.
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">desc</span><span class="cmbx-10">desc</span><span
@ -154,8 +174,11 @@ class="newline" />Type: <span
class="cmbx-10">optional</span>.<br class="cmbx-10">optional</span>.<br
class="newline" />Intent: <span class="newline" />Intent: <span
class="cmbx-10">in</span>.<br class="cmbx-10">in</span>.<br
class="newline" />Specified as: a logical scalar. Default: <span class="obeylines-h"><span class="verb"><span class="newline" />Specified as: a logical scalar. Default: <span class="lstinline"></span><span
class="cmtt-10">global=.true.</span></span></span><br class="cmtt-10">global</span><span
class="cmtt-10">=.</span><span
class="cmtt-10">true</span><span
class="cmtt-10">.</span><br
class="newline" /> class="newline" />
</dd><dt class="description"> </dd><dt class="description">
<span <span
@ -167,8 +190,11 @@ class="cmbx-10">Function value</span> </dt><dd
class="description">is the infinity norm of vector <span class="description">is the infinity norm of vector <span
class="cmmi-10">x</span>.<br class="cmmi-10">x</span>.<br
class="newline" />Scope: <span class="newline" />Scope: <span
class="cmbx-10">global </span>unless the optional variable <span class="obeylines-h"><span class="verb"><span class="cmbx-10">global </span>unless the optional variable <span class="lstinline"></span><span
class="cmtt-10">global=.false.</span></span></span> has been class="cmtt-10">global</span><span
class="cmtt-10">=.</span><span
class="cmtt-10">false</span><span
class="cmtt-10">.</span> has been
specified<br specified<br
class="newline" />Specified as: a long precision real number. class="newline" />Specified as: a long precision real number.
</dd><dt class="description"> </dd><dt class="description">
@ -182,7 +208,7 @@ class="cmbx-10">required </span><br
class="newline" />Intent: <span class="newline" />Intent: <span
class="cmbx-10">out</span>.<br class="cmbx-10">out</span>.<br
class="newline" />An integer value; 0 means no error has been detected.</dd></dl> class="newline" />An integer value; 0 means no error has been detected.</dd></dl>
<!--l. 383--><p class="noindent" ><span <!--l. 385--><p class="noindent" ><span
class="cmbx-12">Notes</span> class="cmbx-12">Notes</span>
@ -192,89 +218,19 @@ class="cmbx-12">Notes</span>
class="enumerate" id="x22-59003x1">The computation of a global result requires a global communication, which class="enumerate" id="x22-59003x1">The computation of a global result requires a global communication, which
entails a significant overhead. It may be necessary and/or advisable to compute entails a significant overhead. It may be necessary and/or advisable to compute
multiple norms at the same time; in this case, it is possible to improve the multiple norms at the same time; in this case, it is possible to improve the
runtime efficiency by using the following scheme: <!--l. 390--> runtime efficiency by using the following scheme: <!--l. 400-->
<div class="lstlisting" id="listing-2"><span class="label"><a <div class="lstlisting" id="listing-2"><span class="label"><a
id="x22-59004r1"></a></span><span id="x22-59004r1"></a></span>&#x00A0;&#x00A0;&#x00A0;&#x00A0;vres(1)&#x00A0;=&#x00A0;psb_geamax(x1,desc_a,info,global=.<span
class="cmtt-10">&#x00A0;</span><span class="cmbx-10">false</span>.)&#x00A0;<br /><span class="label"><a
class="cmtt-10">&#x00A0;</span><span id="x22-59005r2"></a></span>&#x00A0;&#x00A0;&#x00A0;&#x00A0;vres(2)&#x00A0;=&#x00A0;psb_geamax(x2,desc_a,info,global=.<span
class="cmtt-10">&#x00A0;</span><span class="cmbx-10">false</span>.)&#x00A0;<br /><span class="label"><a
class="cmtt-10">vres</span><span id="x22-59006r3"></a></span>&#x00A0;&#x00A0;&#x00A0;&#x00A0;vres(3)&#x00A0;=&#x00A0;psb_geamax(x3,desc_a,info,global=.<span
class="cmtt-10">(1)</span><span class="cmbx-10">false</span>.)&#x00A0;<br /><span class="label"><a
class="cmtt-10">&#x00A0;</span><span id="x22-59007r4"></a></span>&#x00A0;&#x00A0;&#x00A0;&#x00A0;<span
class="cmtt-10">=</span><span class="cmbx-10">call</span>&#x00A0;psb_amx(ctxt,vres(1:3))
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_geamax</span><span
class="cmtt-10">(</span><span
class="cmtt-10">x1</span><span
class="cmtt-10">,</span><span
class="cmtt-10">desc_a</span><span
class="cmtt-10">,</span><span
class="cmtt-10">info</span><span
class="cmtt-10">,</span><span
class="cmtt-10">global</span><span
class="cmtt-10">=.</span><span
class="cmtt-10">false</span><span
class="cmtt-10">.)</span><span
class="cmtt-10">&#x00A0;</span><br /><span class="label"><a
id="x22-59005r2"></a></span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">vres</span><span
class="cmtt-10">(2)</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">=</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_geamax</span><span
class="cmtt-10">(</span><span
class="cmtt-10">x2</span><span
class="cmtt-10">,</span><span
class="cmtt-10">desc_a</span><span
class="cmtt-10">,</span><span
class="cmtt-10">info</span><span
class="cmtt-10">,</span><span
class="cmtt-10">global</span><span
class="cmtt-10">=.</span><span
class="cmtt-10">false</span><span
class="cmtt-10">.)</span><span
class="cmtt-10">&#x00A0;</span><br /><span class="label"><a
id="x22-59006r3"></a></span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">vres</span><span
class="cmtt-10">(3)</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">=</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_geamax</span><span
class="cmtt-10">(</span><span
class="cmtt-10">x3</span><span
class="cmtt-10">,</span><span
class="cmtt-10">desc_a</span><span
class="cmtt-10">,</span><span
class="cmtt-10">info</span><span
class="cmtt-10">,</span><span
class="cmtt-10">global</span><span
class="cmtt-10">=.</span><span
class="cmtt-10">false</span><span
class="cmtt-10">.)</span><span
class="cmtt-10">&#x00A0;</span><br /><span class="label"><a
id="x22-59007r4"></a></span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">call</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_amx</span><span
class="cmtt-10">(</span><span
class="cmtt-10">ictxt</span><span
class="cmtt-10">,</span><span
class="cmtt-10">vres</span><span
class="cmtt-10">(1:3))</span>
</div> </div>
<!--l. 396--><p class="noindent" >In this way the global communication, which for small sizes is a latency-bound <!--l. 407--><p class="noindent" >In this way the global communication, which for small sizes is a latency-bound
operation, is invoked only once.</li></ol> operation, is invoked only once.</li></ol>
@ -282,12 +238,12 @@ class="cmtt-10">(1:3))</span>
<!--l. 406--><div class="crosslinks"><p class="noindent">[<a <!--l. 417--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu17.html" >next</a>] [<a href="userhtmlsu17.html" >next</a>] [<a
href="userhtmlsu12.html" >prev</a>] [<a href="userhtmlsu12.html" >prev</a>] [<a
href="userhtmlsu12.html#tailuserhtmlsu12.html" >prev-tail</a>] [<a href="userhtmlsu12.html#tailuserhtmlsu12.html" >prev-tail</a>] [<a
href="userhtmlsu13.html" >front</a>] [<a href="userhtmlsu13.html" >front</a>] [<a
href="userhtmlsu12.html#userhtmlsu16.html" >up</a>] </p></div> href="userhtmlsu12.html#userhtmlsu16.html" >up</a>] </p></div>
<!--l. 406--><p class="indent" > <a <!--l. 417--><p class="indent" > <a
id="tailuserhtmlsu13.html"></a> id="tailuserhtmlsu13.html"></a>
</body></html> </body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 406--><div class="crosslinks"><p class="noindent">[<a <!--l. 417--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu18.html" >next</a>] [<a href="userhtmlsu18.html" >next</a>] [<a
href="userhtmlsu13.html" >prev</a>] [<a href="userhtmlsu13.html" >prev</a>] [<a
href="userhtmlsu13.html#tailuserhtmlsu13.html" >prev-tail</a>] [<a href="userhtmlsu13.html#tailuserhtmlsu13.html" >prev-tail</a>] [<a
@ -18,34 +18,43 @@ href="userhtmlsu11.html#tailuserhtmlsu14.html">tail</a>] [<a
href="userhtmlsu12.html#userhtmlsu17.html" >up</a>] </p></div> href="userhtmlsu12.html#userhtmlsu17.html" >up</a>] </p></div>
<h4 class="subsectionHead"><span class="titlemark">4.5 </span> <a <h4 class="subsectionHead"><span class="titlemark">4.5 </span> <a
id="x23-600004.5"></a>psb_geamaxs &#8212; Generalized Infinity Norm</h4> id="x23-600004.5"></a>psb_geamaxs &#8212; Generalized Infinity Norm</h4>
<!--l. 408--><p class="noindent" >This subroutine computes a series of infinity norms on the columns of a dense matrix <!--l. 419--><p class="noindent" >This subroutine computes a series of infinity norms on the columns of a dense matrix
<span <span
class="cmmi-10">x</span>: class="cmmi-10">x</span>:
<center class="math-display" > <center class="math-display" >
<img <img
src="userhtml7x.png" alt="res(i) &#x2190; makx|x(k,i)| src="userhtml7x.png" alt="res(i) &#x2190; makx|x(k,i)|
" class="math-display" ></center> " class="math-display" ></center>
<!--l. 410--><p class="nopar" > <!--l. 421--><p class="nopar" >
<!--l. 423--><p class="indent" > <span class="lstinline"></span><span
class="cmtt-10">call</span><span
class="cmtt-10">&#x00A0;</span><span
<div class="verbatim" id="verbatim-44"> class="cmtt-10">psb_geamaxs</span><span
call&#x00A0;psb_geamaxs(res,&#x00A0;x,&#x00A0;desc_a,&#x00A0;info) class="cmtt-10">(</span><span
</div> class="cmtt-10">res</span><span
<!--l. 414--><p class="nopar" > class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">x</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">desc_a</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">info</span><span
class="cmtt-10">)</span>
<div class="table"> <div class="table">
<!--l. 416--><p class="indent" > <a <!--l. 425--><p class="indent" > <a
id="x23-600015"></a><hr class="float"><div class="float" id="x23-60001r5"></a><hr class="float"><div class="float"
> >
<div class="center" <div class="center"
> >
<!--l. 417--><p class="noindent" > <!--l. 426--><p class="noindent" >
<div class="tabular"> <table id="TBL-5" class="tabular" <div class="tabular"> <table id="TBL-5" class="tabular"
cellspacing="0" cellpadding="0" cellspacing="0" cellpadding="0"
><colgroup id="TBL-5-1g"><col ><colgroup id="TBL-5-1g"><col
@ -86,7 +95,7 @@ class="hline"><td><hr></td><td><hr></td><td><hr></td></tr><tr
class="td11"> </td></tr></table></div></div> class="td11"> </td></tr></table></div></div>
<br /> <div class="caption" <br /> <div class="caption"
><span class="id">Table&#x00A0;5: </span><span ><span class="id">Table&#x00A0;5: </span><span
class="content">Data types</span></div><!--tex4ht:label?: x23-600015 --> class="content">Data types</span></div><!--tex4ht:label?: x23-60001r5 -->
@ -118,7 +127,7 @@ class="cmtt-10">psb</span><span
class="cmtt-10">_T</span><span class="cmtt-10">_T</span><span
class="cmtt-10">_vect</span><span class="cmtt-10">_vect</span><span
class="cmtt-10">_type</span></a>&#x00A0;containing numbers of type specified in Table&#x00A0;<a class="cmtt-10">_type</span></a>&#x00A0;containing numbers of type specified in Table&#x00A0;<a
href="#x23-600015">5<!--tex4ht:ref: tab:f90mamax --></a>. href="#x23-60001r5">5<!--tex4ht:ref: tab:f90mamax --></a>.
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">desc</span><span class="cmbx-10">desc</span><span
@ -166,12 +175,12 @@ class="newline" />An integer value; 0 means no error has been detected.</dd></dl
<!--l. 467--><div class="crosslinks"><p class="noindent">[<a <!--l. 476--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu18.html" >next</a>] [<a href="userhtmlsu18.html" >next</a>] [<a
href="userhtmlsu13.html" >prev</a>] [<a href="userhtmlsu13.html" >prev</a>] [<a
href="userhtmlsu13.html#tailuserhtmlsu13.html" >prev-tail</a>] [<a href="userhtmlsu13.html#tailuserhtmlsu13.html" >prev-tail</a>] [<a
href="userhtmlsu14.html" >front</a>] [<a href="userhtmlsu14.html" >front</a>] [<a
href="userhtmlsu12.html#userhtmlsu17.html" >up</a>] </p></div> href="userhtmlsu12.html#userhtmlsu17.html" >up</a>] </p></div>
<!--l. 467--><p class="indent" > <a <!--l. 476--><p class="indent" > <a
id="tailuserhtmlsu14.html"></a> id="tailuserhtmlsu14.html"></a>
</body></html> </body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 467--><div class="crosslinks"><p class="noindent">[<a <!--l. 476--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu19.html" >next</a>] [<a href="userhtmlsu19.html" >next</a>] [<a
href="userhtmlsu14.html" >prev</a>] [<a href="userhtmlsu14.html" >prev</a>] [<a
href="userhtmlsu14.html#tailuserhtmlsu14.html" >prev-tail</a>] [<a href="userhtmlsu14.html#tailuserhtmlsu14.html" >prev-tail</a>] [<a
@ -18,7 +18,7 @@ href="userhtmlsu12.html#tailuserhtmlsu15.html">tail</a>] [<a
href="userhtmlsu12.html#userhtmlsu18.html" >up</a>] </p></div> href="userhtmlsu12.html#userhtmlsu18.html" >up</a>] </p></div>
<h4 class="subsectionHead"><span class="titlemark">4.6 </span> <a <h4 class="subsectionHead"><span class="titlemark">4.6 </span> <a
id="x24-610004.6"></a>psb_norm1 &#8212; 1-Norm of Vector</h4> id="x24-610004.6"></a>psb_norm1 &#8212; 1-Norm of Vector</h4>
<!--l. 469--><p class="noindent" >This function computes the 1-norm of a vector <span <!--l. 478--><p class="noindent" >This function computes the 1-norm of a vector <span
class="cmmi-10">x</span>.<br class="cmmi-10">x</span>.<br
class="newline" />If <span class="newline" />If <span
class="cmmi-10">x </span>is a real vector it computes 1-norm as: class="cmmi-10">x </span>is a real vector it computes 1-norm as:
@ -26,35 +26,54 @@ class="cmmi-10">x </span>is a real vector it computes 1-norm as:
<img <img
src="userhtml8x.png" alt="asum &#x2190; &#x2225;xi&#x2225; src="userhtml8x.png" alt="asum &#x2190; &#x2225;xi&#x2225;
" class="math-display" ></center> " class="math-display" ></center>
<!--l. 472--><p class="nopar" > else if <span <!--l. 481--><p class="nopar" > else if <span
class="cmmi-10">x </span>is a complex vector then it computes 1-norm as: class="cmmi-10">x </span>is a complex vector then it computes 1-norm as:
<center class="math-display" > <center class="math-display" >
<img <img
src="userhtml9x.png" alt="asum &#x2190; &#x2225;re(x)&#x2225; + &#x2225;im (x)&#x2225; src="userhtml9x.png" alt="asum &#x2190; &#x2225;re(x)&#x2225; + &#x2225;im (x)&#x2225;
1 1 1 1
" class="math-display" ></center> " class="math-display" ></center>
<!--l. 474--><p class="nopar" > <!--l. 483--><p class="nopar" >
<!--l. 486--><p class="indent" > <span class="lstinline"></span><span
class="cmtt-10">psb_geasum</span><span
class="cmtt-10">(</span><span
<div class="verbatim" id="verbatim-45"> class="cmtt-10">x</span><span
psb_geasum(x,&#x00A0;desc_a,&#x00A0;info&#x00A0;[,global]) class="cmtt-10">,</span><span
&#x00A0;<br />psb_norm1(x,&#x00A0;desc_a,&#x00A0;info&#x00A0;[,global]) class="cmtt-10">&#x00A0;</span><span
</div> class="cmtt-10">desc_a</span><span
<!--l. 480--><p class="nopar" > class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">info</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">[,</span><span
class="cmtt-10">global</span><span
class="cmtt-10">])</span> <span class="lstinline"></span><span
class="cmtt-10">psb_norm1</span><span
class="cmtt-10">(</span><span
class="cmtt-10">x</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">desc_a</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">info</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">[,</span><span
class="cmtt-10">global</span><span
class="cmtt-10">])</span>
<div class="table"> <div class="table">
<!--l. 482--><p class="indent" > <a <!--l. 489--><p class="indent" > <a
id="x24-610016"></a><hr class="float"><div class="float" id="x24-61001r6"></a><hr class="float"><div class="float"
> >
<div class="center" <div class="center"
> >
<!--l. 483--><p class="noindent" > <!--l. 490--><p class="noindent" >
<div class="tabular"> <table id="TBL-6" class="tabular" <div class="tabular"> <table id="TBL-6" class="tabular"
cellspacing="0" cellpadding="0" cellspacing="0" cellpadding="0"
><colgroup id="TBL-6-1g"><col ><colgroup id="TBL-6-1g"><col
@ -95,7 +114,7 @@ class="hline"><td><hr></td><td><hr></td><td><hr></td></tr><tr
class="td11"> </td></tr></table></div></div> class="td11"> </td></tr></table></div></div>
<br /> <div class="caption" <br /> <div class="caption"
><span class="id">Table&#x00A0;6: </span><span ><span class="id">Table&#x00A0;6: </span><span
class="content">Data types</span></div><!--tex4ht:label?: x24-610016 --> class="content">Data types</span></div><!--tex4ht:label?: x24-61001r6 -->
@ -127,7 +146,7 @@ class="cmtt-10">psb</span><span
class="cmtt-10">_T</span><span class="cmtt-10">_T</span><span
class="cmtt-10">_vect</span><span class="cmtt-10">_vect</span><span
class="cmtt-10">_type</span></a>&#x00A0;containing numbers of type specified in Table&#x00A0;<a class="cmtt-10">_type</span></a>&#x00A0;containing numbers of type specified in Table&#x00A0;<a
href="#x24-610016">6<!--tex4ht:ref: tab:f90asum --></a>. href="#x24-61001r6">6<!--tex4ht:ref: tab:f90asum --></a>.
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">desc</span><span class="cmbx-10">desc</span><span
@ -155,8 +174,11 @@ class="newline" />Type: <span
class="cmbx-10">optional</span>.<br class="cmbx-10">optional</span>.<br
class="newline" />Intent: <span class="newline" />Intent: <span
class="cmbx-10">in</span>.<br class="cmbx-10">in</span>.<br
class="newline" />Specified as: a logical scalar. Default: <span class="obeylines-h"><span class="verb"><span class="newline" />Specified as: a logical scalar. Default: <span class="lstinline"></span><span
class="cmtt-10">global=.true.</span></span></span><br class="cmtt-10">global</span><span
class="cmtt-10">=.</span><span
class="cmtt-10">true</span><span
class="cmtt-10">.</span><br
class="newline" /> class="newline" />
</dd><dt class="description"> </dd><dt class="description">
<span <span
@ -168,8 +190,11 @@ class="cmbx-10">Function value</span> </dt><dd
class="description">is the 1-norm of vector <span class="description">is the 1-norm of vector <span
class="cmmi-10">x</span>.<br class="cmmi-10">x</span>.<br
class="newline" />Scope: <span class="newline" />Scope: <span
class="cmbx-10">global </span>unless the optional variable <span class="obeylines-h"><span class="verb"><span class="cmbx-10">global </span>unless the optional variable <span class="lstinline"></span><span
class="cmtt-10">global=.false.</span></span></span> has been class="cmtt-10">global</span><span
class="cmtt-10">=.</span><span
class="cmtt-10">false</span><span
class="cmtt-10">.</span> has been
specified<br specified<br
class="newline" />Specified as: a long precision real number. class="newline" />Specified as: a long precision real number.
</dd><dt class="description"> </dd><dt class="description">
@ -183,7 +208,7 @@ class="cmbx-10">required </span><br
class="newline" />Intent: <span class="newline" />Intent: <span
class="cmbx-10">out</span>.<br class="cmbx-10">out</span>.<br
class="newline" />An integer value; 0 means no error has been detected.</dd></dl> class="newline" />An integer value; 0 means no error has been detected.</dd></dl>
<!--l. 536--><p class="noindent" ><span <!--l. 543--><p class="noindent" ><span
class="cmbx-12">Notes</span> class="cmbx-12">Notes</span>
@ -193,89 +218,19 @@ class="cmbx-12">Notes</span>
class="enumerate" id="x24-61003x1">The computation of a global result requires a global communication, which class="enumerate" id="x24-61003x1">The computation of a global result requires a global communication, which
entails a significant overhead. It may be necessary and/or advisable to compute entails a significant overhead. It may be necessary and/or advisable to compute
multiple norms at the same time; in this case, it is possible to improve the multiple norms at the same time; in this case, it is possible to improve the
runtime efficiency by using the following scheme: <!--l. 543--> runtime efficiency by using the following scheme: <!--l. 558-->
<div class="lstlisting" id="listing-3"><span class="label"><a <div class="lstlisting" id="listing-3"><span class="label"><a
id="x24-61004r1"></a></span><span id="x24-61004r1"></a></span>&#x00A0;&#x00A0;&#x00A0;&#x00A0;vres(1)&#x00A0;=&#x00A0;psb_geasum(x1,desc_a,info,global=.<span
class="cmtt-10">&#x00A0;</span><span class="cmbx-10">false</span>.)&#x00A0;<br /><span class="label"><a
class="cmtt-10">&#x00A0;</span><span id="x24-61005r2"></a></span>&#x00A0;&#x00A0;&#x00A0;&#x00A0;vres(2)&#x00A0;=&#x00A0;psb_geasum(x2,desc_a,info,global=.<span
class="cmtt-10">&#x00A0;</span><span class="cmbx-10">false</span>.)&#x00A0;<br /><span class="label"><a
class="cmtt-10">vres</span><span id="x24-61006r3"></a></span>&#x00A0;&#x00A0;&#x00A0;&#x00A0;vres(3)&#x00A0;=&#x00A0;psb_geasum(x3,desc_a,info,global=.<span
class="cmtt-10">(1)</span><span class="cmbx-10">false</span>.)&#x00A0;<br /><span class="label"><a
class="cmtt-10">&#x00A0;</span><span id="x24-61007r4"></a></span>&#x00A0;&#x00A0;&#x00A0;&#x00A0;<span
class="cmtt-10">=</span><span class="cmbx-10">call</span>&#x00A0;psb_sum(ctxt,vres(1:3))
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_geasum</span><span
class="cmtt-10">(</span><span
class="cmtt-10">x1</span><span
class="cmtt-10">,</span><span
class="cmtt-10">desc_a</span><span
class="cmtt-10">,</span><span
class="cmtt-10">info</span><span
class="cmtt-10">,</span><span
class="cmtt-10">global</span><span
class="cmtt-10">=.</span><span
class="cmtt-10">false</span><span
class="cmtt-10">.)</span><span
class="cmtt-10">&#x00A0;</span><br /><span class="label"><a
id="x24-61005r2"></a></span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">vres</span><span
class="cmtt-10">(2)</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">=</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_geasum</span><span
class="cmtt-10">(</span><span
class="cmtt-10">x2</span><span
class="cmtt-10">,</span><span
class="cmtt-10">desc_a</span><span
class="cmtt-10">,</span><span
class="cmtt-10">info</span><span
class="cmtt-10">,</span><span
class="cmtt-10">global</span><span
class="cmtt-10">=.</span><span
class="cmtt-10">false</span><span
class="cmtt-10">.)</span><span
class="cmtt-10">&#x00A0;</span><br /><span class="label"><a
id="x24-61006r3"></a></span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">vres</span><span
class="cmtt-10">(3)</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">=</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_geasum</span><span
class="cmtt-10">(</span><span
class="cmtt-10">x3</span><span
class="cmtt-10">,</span><span
class="cmtt-10">desc_a</span><span
class="cmtt-10">,</span><span
class="cmtt-10">info</span><span
class="cmtt-10">,</span><span
class="cmtt-10">global</span><span
class="cmtt-10">=.</span><span
class="cmtt-10">false</span><span
class="cmtt-10">.)</span><span
class="cmtt-10">&#x00A0;</span><br /><span class="label"><a
id="x24-61007r4"></a></span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">call</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_sum</span><span
class="cmtt-10">(</span><span
class="cmtt-10">ictxt</span><span
class="cmtt-10">,</span><span
class="cmtt-10">vres</span><span
class="cmtt-10">(1:3))</span>
</div> </div>
<!--l. 549--><p class="noindent" >In this way the global communication, which for small sizes is a latency-bound <!--l. 565--><p class="noindent" >In this way the global communication, which for small sizes is a latency-bound
operation, is invoked only once.</li></ol> operation, is invoked only once.</li></ol>
@ -283,12 +238,12 @@ class="cmtt-10">(1:3))</span>
<!--l. 554--><div class="crosslinks"><p class="noindent">[<a <!--l. 570--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu19.html" >next</a>] [<a href="userhtmlsu19.html" >next</a>] [<a
href="userhtmlsu14.html" >prev</a>] [<a href="userhtmlsu14.html" >prev</a>] [<a
href="userhtmlsu14.html#tailuserhtmlsu14.html" >prev-tail</a>] [<a href="userhtmlsu14.html#tailuserhtmlsu14.html" >prev-tail</a>] [<a
href="userhtmlsu15.html" >front</a>] [<a href="userhtmlsu15.html" >front</a>] [<a
href="userhtmlsu12.html#userhtmlsu18.html" >up</a>] </p></div> href="userhtmlsu12.html#userhtmlsu18.html" >up</a>] </p></div>
<!--l. 554--><p class="indent" > <a <!--l. 570--><p class="indent" > <a
id="tailuserhtmlsu15.html"></a> id="tailuserhtmlsu15.html"></a>
</body></html> </body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 554--><div class="crosslinks"><p class="noindent">[<a <!--l. 570--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu20.html" >next</a>] [<a href="userhtmlsu20.html" >next</a>] [<a
href="userhtmlsu15.html" >prev</a>] [<a href="userhtmlsu15.html" >prev</a>] [<a
href="userhtmlsu15.html#tailuserhtmlsu15.html" >prev-tail</a>] [<a href="userhtmlsu15.html#tailuserhtmlsu15.html" >prev-tail</a>] [<a
@ -18,14 +18,14 @@ href="userhtmlsu13.html#tailuserhtmlsu16.html">tail</a>] [<a
href="userhtmlsu12.html#userhtmlsu19.html" >up</a>] </p></div> href="userhtmlsu12.html#userhtmlsu19.html" >up</a>] </p></div>
<h4 class="subsectionHead"><span class="titlemark">4.7 </span> <a <h4 class="subsectionHead"><span class="titlemark">4.7 </span> <a
id="x25-620004.7"></a>psb_geasums &#8212; Generalized 1-Norm of Vector</h4> id="x25-620004.7"></a>psb_geasums &#8212; Generalized 1-Norm of Vector</h4>
<!--l. 556--><p class="noindent" >This subroutine computes a series of 1-norms on the columns of a dense matrix <!--l. 572--><p class="noindent" >This subroutine computes a series of 1-norms on the columns of a dense matrix
<span <span
class="cmmi-10">x</span>: class="cmmi-10">x</span>:
<center class="math-display" > <center class="math-display" >
<img <img
src="userhtml10x.png" alt="res(i) &#x2190; makx|x(k,i)| src="userhtml10x.png" alt="res(i) &#x2190; makx|x(k,i)|
" class="math-display" ></center> " class="math-display" ></center>
<!--l. 558--><p class="nopar" > This function computes the 1-norm of a vector <span <!--l. 574--><p class="nopar" > This function computes the 1-norm of a vector <span
class="cmmi-10">x</span>.<br class="cmmi-10">x</span>.<br
class="newline" />If <span class="newline" />If <span
class="cmmi-10">x </span>is a real vector it computes 1-norm as: class="cmmi-10">x </span>is a real vector it computes 1-norm as:
@ -33,33 +33,42 @@ class="cmmi-10">x </span>is a real vector it computes 1-norm as:
<img <img
src="userhtml11x.png" alt="res(i) &#x2190; &#x2225;xi&#x2225; src="userhtml11x.png" alt="res(i) &#x2190; &#x2225;xi&#x2225;
" class="math-display" ></center> " class="math-display" ></center>
<!--l. 562--><p class="nopar" > else if <span <!--l. 578--><p class="nopar" > else if <span
class="cmmi-10">x </span>is a complex vector then it computes 1-norm as: class="cmmi-10">x </span>is a complex vector then it computes 1-norm as:
<center class="math-display" > <center class="math-display" >
<img <img
src="userhtml12x.png" alt="res(i) &#x2190; &#x2225;re(x )&#x2225;1 +&#x2225;im (x )&#x2225;1 src="userhtml12x.png" alt="res(i) &#x2190; &#x2225;re(x )&#x2225;1 +&#x2225;im (x )&#x2225;1
" class="math-display" ></center> " class="math-display" ></center>
<!--l. 564--><p class="nopar" > <!--l. 580--><p class="nopar" >
<!--l. 583--><p class="indent" > <span class="lstinline"></span><span
class="cmtt-10">call</span><span
class="cmtt-10">&#x00A0;</span><span
<div class="verbatim" id="verbatim-46"> class="cmtt-10">psb_geasums</span><span
call&#x00A0;psb_geasums(res,&#x00A0;x,&#x00A0;desc_a,&#x00A0;info) class="cmtt-10">(</span><span
</div> class="cmtt-10">res</span><span
<!--l. 569--><p class="nopar" > class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">x</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">desc_a</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">info</span><span
class="cmtt-10">)</span>
<div class="table"> <div class="table">
<!--l. 571--><p class="indent" > <a <!--l. 585--><p class="indent" > <a
id="x25-620017"></a><hr class="float"><div class="float" id="x25-62001r7"></a><hr class="float"><div class="float"
> >
<div class="center" <div class="center"
> >
<!--l. 572--><p class="noindent" > <!--l. 586--><p class="noindent" >
<div class="tabular"> <table id="TBL-7" class="tabular" <div class="tabular"> <table id="TBL-7" class="tabular"
cellspacing="0" cellpadding="0" cellspacing="0" cellpadding="0"
><colgroup id="TBL-7-1g"><col ><colgroup id="TBL-7-1g"><col
@ -100,7 +109,7 @@ class="hline"><td><hr></td><td><hr></td><td><hr></td></tr><tr
class="td11"> </td></tr></table></div></div> class="td11"> </td></tr></table></div></div>
<br /> <div class="caption" <br /> <div class="caption"
><span class="id">Table&#x00A0;7: </span><span ><span class="id">Table&#x00A0;7: </span><span
class="content">Data types</span></div><!--tex4ht:label?: x25-620017 --> class="content">Data types</span></div><!--tex4ht:label?: x25-62001r7 -->
@ -132,7 +141,7 @@ class="cmtt-10">psb</span><span
class="cmtt-10">_T</span><span class="cmtt-10">_T</span><span
class="cmtt-10">_vect</span><span class="cmtt-10">_vect</span><span
class="cmtt-10">_type</span></a>&#x00A0;containing numbers of type specified in Table&#x00A0;<a class="cmtt-10">_type</span></a>&#x00A0;containing numbers of type specified in Table&#x00A0;<a
href="#x25-620017">7<!--tex4ht:ref: tab:f90asums --></a>. href="#x25-62001r7">7<!--tex4ht:ref: tab:f90asums --></a>.
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">desc</span><span class="cmbx-10">desc</span><span
@ -181,12 +190,12 @@ class="newline" />An integer value; 0 means no error has been detected.</dd></dl
<!--l. 627--><div class="crosslinks"><p class="noindent">[<a <!--l. 641--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu20.html" >next</a>] [<a href="userhtmlsu20.html" >next</a>] [<a
href="userhtmlsu15.html" >prev</a>] [<a href="userhtmlsu15.html" >prev</a>] [<a
href="userhtmlsu15.html#tailuserhtmlsu15.html" >prev-tail</a>] [<a href="userhtmlsu15.html#tailuserhtmlsu15.html" >prev-tail</a>] [<a
href="userhtmlsu16.html" >front</a>] [<a href="userhtmlsu16.html" >front</a>] [<a
href="userhtmlsu12.html#userhtmlsu19.html" >up</a>] </p></div> href="userhtmlsu12.html#userhtmlsu19.html" >up</a>] </p></div>
<!--l. 627--><p class="indent" > <a <!--l. 641--><p class="indent" > <a
id="tailuserhtmlsu16.html"></a> id="tailuserhtmlsu16.html"></a>
</body></html> </body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 627--><div class="crosslinks"><p class="noindent">[<a <!--l. 641--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu21.html" >next</a>] [<a href="userhtmlsu21.html" >next</a>] [<a
href="userhtmlsu16.html" >prev</a>] [<a href="userhtmlsu16.html" >prev</a>] [<a
href="userhtmlsu16.html#tailuserhtmlsu16.html" >prev-tail</a>] [<a href="userhtmlsu16.html#tailuserhtmlsu16.html" >prev-tail</a>] [<a
@ -18,7 +18,7 @@ href="userhtmlsu14.html#tailuserhtmlsu17.html">tail</a>] [<a
href="userhtmlsu12.html#userhtmlsu20.html" >up</a>] </p></div> href="userhtmlsu12.html#userhtmlsu20.html" >up</a>] </p></div>
<h4 class="subsectionHead"><span class="titlemark">4.8 </span> <a <h4 class="subsectionHead"><span class="titlemark">4.8 </span> <a
id="x26-630004.8"></a>psb_norm2 &#8212; 2-Norm of Vector</h4> id="x26-630004.8"></a>psb_norm2 &#8212; 2-Norm of Vector</h4>
<!--l. 629--><p class="noindent" >This function computes the 2-norm of a vector <span <!--l. 643--><p class="noindent" >This function computes the 2-norm of a vector <span
class="cmmi-10">x</span>.<br class="cmmi-10">x</span>.<br
class="newline" />If <span class="newline" />If <span
class="cmmi-10">x </span>is a real vector it computes 2-norm as: class="cmmi-10">x </span>is a real vector it computes 2-norm as:
@ -27,27 +27,27 @@ class="cmmi-10">x </span>is a real vector it computes 2-norm as:
src="userhtml13x.png" alt=" &#x221A; -T-- src="userhtml13x.png" alt=" &#x221A; -T--
nrm2 &#x2190; x x nrm2 &#x2190; x x
" class="math-display" ></center> " class="math-display" ></center>
<!--l. 632--><p class="nopar" > else if <span <!--l. 646--><p class="nopar" > else if <span
class="cmmi-10">x </span>is a complex vector then it computes 2-norm as: class="cmmi-10">x </span>is a complex vector then it computes 2-norm as:
<center class="math-display" > <center class="math-display" >
<img <img
src="userhtml14x.png" alt=" &#x221A;---- src="userhtml14x.png" alt=" &#x221A;----
nrm2 &#x2190; xHx nrm2 &#x2190; xHx
" class="math-display" ></center> " class="math-display" ></center>
<!--l. 634--><p class="nopar" > <!--l. 648--><p class="nopar" >
<div class="table"> <div class="table">
<!--l. 640--><p class="indent" > <a <!--l. 654--><p class="indent" > <a
id="x26-630018"></a><hr class="float"><div class="float" id="x26-63001r8"></a><hr class="float"><div class="float"
> >
<div class="center" <div class="center"
> >
<!--l. 641--><p class="noindent" > <!--l. 655--><p class="noindent" >
<div class="tabular"> <table id="TBL-8" class="tabular" <div class="tabular"> <table id="TBL-8" class="tabular"
cellspacing="0" cellpadding="0" cellspacing="0" cellpadding="0"
><colgroup id="TBL-8-1g"><col ><colgroup id="TBL-8-1g"><col
@ -88,20 +88,41 @@ class="hline"><td><hr></td><td><hr></td><td><hr></td></tr><tr
class="td11"> </td></tr></table></div></div> class="td11"> </td></tr></table></div></div>
<br /> <div class="caption" <br /> <div class="caption"
><span class="id">Table&#x00A0;8: </span><span ><span class="id">Table&#x00A0;8: </span><span
class="content">Data types</span></div><!--tex4ht:label?: x26-630018 --> class="content">Data types</span></div><!--tex4ht:label?: x26-63001r8 -->
</div><hr class="endfloat" /> </div><hr class="endfloat" />
</div> </div>
<!--l. 670--><p class="indent" > <span class="lstinline"></span><span
class="cmtt-10">psb_genrm2</span><span
class="cmtt-10">(</span><span
<div class="verbatim" id="verbatim-47"> class="cmtt-10">x</span><span
psb_genrm2(x,&#x00A0;desc_a,&#x00A0;info&#x00A0;[,global]) class="cmtt-10">,</span><span
&#x00A0;<br />psb_norm2(x,&#x00A0;desc_a,&#x00A0;info&#x00A0;[,global]) class="cmtt-10">&#x00A0;</span><span
</div> class="cmtt-10">desc_a</span><span
<!--l. 659--><p class="nopar" > class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">info</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">[,</span><span
class="cmtt-10">global</span><span
class="cmtt-10">])</span><br
class="newline" /><span class="lstinline"></span><span
class="cmtt-10">psb_norm2</span><span
class="cmtt-10">(</span><span
class="cmtt-10">x</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">desc_a</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">info</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">[,</span><span
class="cmtt-10">global</span><span
class="cmtt-10">])</span><br
class="newline" />
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">Type:</span> </dt><dd class="cmbx-10">Type:</span> </dt><dd
@ -128,7 +149,7 @@ class="cmtt-10">psb</span><span
class="cmtt-10">_T</span><span class="cmtt-10">_T</span><span
class="cmtt-10">_vect</span><span class="cmtt-10">_vect</span><span
class="cmtt-10">_type</span></a>&#x00A0;containing numbers of type specified in Table&#x00A0;<a class="cmtt-10">_type</span></a>&#x00A0;containing numbers of type specified in Table&#x00A0;<a
href="#x26-630018">8<!--tex4ht:ref: tab:f90nrm2 --></a>. href="#x26-63001r8">8<!--tex4ht:ref: tab:f90nrm2 --></a>.
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">desc</span><span class="cmbx-10">desc</span><span
@ -156,8 +177,11 @@ class="newline" />Type: <span
class="cmbx-10">optional</span>.<br class="cmbx-10">optional</span>.<br
class="newline" />Intent: <span class="newline" />Intent: <span
class="cmbx-10">in</span>.<br class="cmbx-10">in</span>.<br
class="newline" />Specified as: a logical scalar. Default: <span class="obeylines-h"><span class="verb"><span class="newline" />Specified as: a logical scalar. Default: <span class="lstinline"></span><span
class="cmtt-10">global=.true.</span></span></span><br class="cmtt-10">global</span><span
class="cmtt-10">=.</span><span
class="cmtt-10">true</span><span
class="cmtt-10">.</span><br
class="newline" /> class="newline" />
</dd><dt class="description"> </dd><dt class="description">
<span <span
@ -169,8 +193,11 @@ class="cmbx-10">Function Value</span> </dt><dd
class="description">is the 2-norm of vector <span class="description">is the 2-norm of vector <span
class="cmmi-10">x</span>.<br class="cmmi-10">x</span>.<br
class="newline" />Scope: <span class="newline" />Scope: <span
class="cmbx-10">global </span>unless the optional variable <span class="obeylines-h"><span class="verb"><span class="cmbx-10">global </span>unless the optional variable <span class="lstinline"></span><span
class="cmtt-10">global=.false.</span></span></span> has been class="cmtt-10">global</span><span
class="cmtt-10">=.</span><span
class="cmtt-10">false</span><span
class="cmtt-10">.</span> has been
specified<br specified<br
class="newline" />Type: <span class="newline" />Type: <span
class="cmbx-10">required </span><br class="cmbx-10">required </span><br
@ -189,96 +216,26 @@ class="newline" />An integer value; 0 means no error has been detected.</dd></dl
<!--l. 706--><p class="noindent" ><span <!--l. 718--><p class="noindent" ><span
class="cmbx-12">Notes</span> class="cmbx-12">Notes</span>
<ol class="enumerate1" > <ol class="enumerate1" >
<li <li
class="enumerate" id="x26-63003x1">The computation of a global result requires a global communication, which class="enumerate" id="x26-63003x1">The computation of a global result requires a global communication, which
entails a significant overhead. It may be necessary and/or advisable to compute entails a significant overhead. It may be necessary and/or advisable to compute
multiple norms at the same time; in this case, it is possible to improve the multiple norms at the same time; in this case, it is possible to improve the
runtime efficiency by using the following scheme: <!--l. 713--> runtime efficiency by using the following scheme: <!--l. 725-->
<div class="lstlisting" id="listing-4"><span class="label"><a <div class="lstlisting" id="listing-4"><span class="label"><a
id="x26-63004r1"></a></span><span id="x26-63004r1"></a></span>&#x00A0;&#x00A0;&#x00A0;&#x00A0;vres(1)&#x00A0;=&#x00A0;psb_genrm2(x1,desc_a,info,global=.<span
class="cmtt-10">&#x00A0;</span><span class="cmbx-10">false</span>.)&#x00A0;<br /><span class="label"><a
class="cmtt-10">&#x00A0;</span><span id="x26-63005r2"></a></span>&#x00A0;&#x00A0;&#x00A0;&#x00A0;vres(2)&#x00A0;=&#x00A0;psb_genrm2(x2,desc_a,info,global=.<span
class="cmtt-10">&#x00A0;</span><span class="cmbx-10">false</span>.)&#x00A0;<br /><span class="label"><a
class="cmtt-10">vres</span><span id="x26-63006r3"></a></span>&#x00A0;&#x00A0;&#x00A0;&#x00A0;vres(3)&#x00A0;=&#x00A0;psb_genrm2(x3,desc_a,info,global=.<span
class="cmtt-10">(1)</span><span class="cmbx-10">false</span>.)&#x00A0;<br /><span class="label"><a
class="cmtt-10">&#x00A0;</span><span id="x26-63007r4"></a></span>&#x00A0;&#x00A0;&#x00A0;&#x00A0;<span
class="cmtt-10">=</span><span class="cmbx-10">call</span>&#x00A0;psb_nrm2(ctxt,vres(1:3))
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_genrm2</span><span
class="cmtt-10">(</span><span
class="cmtt-10">x1</span><span
class="cmtt-10">,</span><span
class="cmtt-10">desc_a</span><span
class="cmtt-10">,</span><span
class="cmtt-10">info</span><span
class="cmtt-10">,</span><span
class="cmtt-10">global</span><span
class="cmtt-10">=.</span><span
class="cmtt-10">false</span><span
class="cmtt-10">.)</span><span
class="cmtt-10">&#x00A0;</span><br /><span class="label"><a
id="x26-63005r2"></a></span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">vres</span><span
class="cmtt-10">(2)</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">=</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_genrm2</span><span
class="cmtt-10">(</span><span
class="cmtt-10">x2</span><span
class="cmtt-10">,</span><span
class="cmtt-10">desc_a</span><span
class="cmtt-10">,</span><span
class="cmtt-10">info</span><span
class="cmtt-10">,</span><span
class="cmtt-10">global</span><span
class="cmtt-10">=.</span><span
class="cmtt-10">false</span><span
class="cmtt-10">.)</span><span
class="cmtt-10">&#x00A0;</span><br /><span class="label"><a
id="x26-63006r3"></a></span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">vres</span><span
class="cmtt-10">(3)</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">=</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_genrm2</span><span
class="cmtt-10">(</span><span
class="cmtt-10">x3</span><span
class="cmtt-10">,</span><span
class="cmtt-10">desc_a</span><span
class="cmtt-10">,</span><span
class="cmtt-10">info</span><span
class="cmtt-10">,</span><span
class="cmtt-10">global</span><span
class="cmtt-10">=.</span><span
class="cmtt-10">false</span><span
class="cmtt-10">.)</span><span
class="cmtt-10">&#x00A0;</span><br /><span class="label"><a
id="x26-63007r4"></a></span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">call</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_nrm2</span><span
class="cmtt-10">(</span><span
class="cmtt-10">ictxt</span><span
class="cmtt-10">,</span><span
class="cmtt-10">vres</span><span
class="cmtt-10">(1:3))</span>
</div> </div>
<!--l. 719--><p class="noindent" >In this way the global communication, which for small sizes is a latency-bound <!--l. 731--><p class="noindent" >In this way the global communication, which for small sizes is a latency-bound
operation, is invoked only once.</li></ol> operation, is invoked only once.</li></ol>
@ -286,12 +243,12 @@ class="cmtt-10">(1:3))</span>
<!--l. 725--><div class="crosslinks"><p class="noindent">[<a <!--l. 737--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu21.html" >next</a>] [<a href="userhtmlsu21.html" >next</a>] [<a
href="userhtmlsu16.html" >prev</a>] [<a href="userhtmlsu16.html" >prev</a>] [<a
href="userhtmlsu16.html#tailuserhtmlsu16.html" >prev-tail</a>] [<a href="userhtmlsu16.html#tailuserhtmlsu16.html" >prev-tail</a>] [<a
href="userhtmlsu17.html" >front</a>] [<a href="userhtmlsu17.html" >front</a>] [<a
href="userhtmlsu12.html#userhtmlsu20.html" >up</a>] </p></div> href="userhtmlsu12.html#userhtmlsu20.html" >up</a>] </p></div>
<!--l. 725--><p class="indent" > <a <!--l. 737--><p class="indent" > <a
id="tailuserhtmlsu17.html"></a> id="tailuserhtmlsu17.html"></a>
</body></html> </body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 725--><div class="crosslinks"><p class="noindent">[<a <!--l. 737--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu22.html" >next</a>] [<a href="userhtmlsu22.html" >next</a>] [<a
href="userhtmlsu17.html" >prev</a>] [<a href="userhtmlsu17.html" >prev</a>] [<a
href="userhtmlsu17.html#tailuserhtmlsu17.html" >prev-tail</a>] [<a href="userhtmlsu17.html#tailuserhtmlsu17.html" >prev-tail</a>] [<a
@ -18,34 +18,43 @@ href="userhtmlsu15.html#tailuserhtmlsu18.html">tail</a>] [<a
href="userhtmlsu12.html#userhtmlsu21.html" >up</a>] </p></div> href="userhtmlsu12.html#userhtmlsu21.html" >up</a>] </p></div>
<h4 class="subsectionHead"><span class="titlemark">4.9 </span> <a <h4 class="subsectionHead"><span class="titlemark">4.9 </span> <a
id="x27-640004.9"></a>psb_genrm2s &#8212; Generalized 2-Norm of Vector</h4> id="x27-640004.9"></a>psb_genrm2s &#8212; Generalized 2-Norm of Vector</h4>
<!--l. 727--><p class="noindent" >This subroutine computes a series of 2-norms on the columns of a dense matrix <!--l. 739--><p class="noindent" >This subroutine computes a series of 2-norms on the columns of a dense matrix
<span <span
class="cmmi-10">x</span>: class="cmmi-10">x</span>:
<center class="math-display" > <center class="math-display" >
<img <img
src="userhtml15x.png" alt="res(i) &#x2190; &#x2225;x(:,i)&#x2225;2 src="userhtml15x.png" alt="res(i) &#x2190; &#x2225;x(:,i)&#x2225;2
" class="math-display" ></center> " class="math-display" ></center>
<!--l. 729--><p class="nopar" > <!--l. 741--><p class="nopar" >
<!--l. 744--><p class="indent" > <span class="lstinline"></span><span
class="cmtt-10">call</span><span
class="cmtt-10">&#x00A0;</span><span
<div class="verbatim" id="verbatim-48"> class="cmtt-10">psb_genrm2s</span><span
call&#x00A0;psb_genrm2s(res,&#x00A0;x,&#x00A0;desc_a,&#x00A0;info) class="cmtt-10">(</span><span
</div> class="cmtt-10">res</span><span
<!--l. 734--><p class="nopar" > class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">x</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">desc_a</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">info</span><span
class="cmtt-10">)</span>
<div class="table"> <div class="table">
<!--l. 736--><p class="indent" > <a <!--l. 746--><p class="indent" > <a
id="x27-640019"></a><hr class="float"><div class="float" id="x27-64001r9"></a><hr class="float"><div class="float"
> >
<div class="center" <div class="center"
> >
<!--l. 737--><p class="noindent" > <!--l. 747--><p class="noindent" >
<div class="tabular"> <table id="TBL-9" class="tabular" <div class="tabular"> <table id="TBL-9" class="tabular"
cellspacing="0" cellpadding="0" cellspacing="0" cellpadding="0"
><colgroup id="TBL-9-1g"><col ><colgroup id="TBL-9-1g"><col
@ -86,7 +95,7 @@ class="hline"><td><hr></td><td><hr></td><td><hr></td></tr><tr
class="td11"> </td></tr></table></div></div> class="td11"> </td></tr></table></div></div>
<br /> <div class="caption" <br /> <div class="caption"
><span class="id">Table&#x00A0;9: </span><span ><span class="id">Table&#x00A0;9: </span><span
class="content">Data types</span></div><!--tex4ht:label?: x27-640019 --> class="content">Data types</span></div><!--tex4ht:label?: x27-64001r9 -->
@ -118,7 +127,7 @@ class="cmtt-10">psb</span><span
class="cmtt-10">_T</span><span class="cmtt-10">_T</span><span
class="cmtt-10">_vect</span><span class="cmtt-10">_vect</span><span
class="cmtt-10">_type</span></a>&#x00A0;containing numbers of type specified in Table&#x00A0;<a class="cmtt-10">_type</span></a>&#x00A0;containing numbers of type specified in Table&#x00A0;<a
href="#x27-640019">9<!--tex4ht:ref: tab:f90nrm2s --></a>. href="#x27-64001r9">9<!--tex4ht:ref: tab:f90nrm2s --></a>.
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">desc</span><span class="cmbx-10">desc</span><span
@ -166,12 +175,12 @@ class="newline" />An integer value; 0 means no error has been detected.</dd></dl
<!--l. 792--><div class="crosslinks"><p class="noindent">[<a <!--l. 802--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu22.html" >next</a>] [<a href="userhtmlsu22.html" >next</a>] [<a
href="userhtmlsu17.html" >prev</a>] [<a href="userhtmlsu17.html" >prev</a>] [<a
href="userhtmlsu17.html#tailuserhtmlsu17.html" >prev-tail</a>] [<a href="userhtmlsu17.html#tailuserhtmlsu17.html" >prev-tail</a>] [<a
href="userhtmlsu18.html" >front</a>] [<a href="userhtmlsu18.html" >front</a>] [<a
href="userhtmlsu12.html#userhtmlsu21.html" >up</a>] </p></div> href="userhtmlsu12.html#userhtmlsu21.html" >up</a>] </p></div>
<!--l. 792--><p class="indent" > <a <!--l. 802--><p class="indent" > <a
id="tailuserhtmlsu18.html"></a> id="tailuserhtmlsu18.html"></a>
</body></html> </body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 792--><div class="crosslinks"><p class="noindent">[<a <!--l. 802--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu23.html" >next</a>] [<a href="userhtmlsu23.html" >next</a>] [<a
href="userhtmlsu18.html" >prev</a>] [<a href="userhtmlsu18.html" >prev</a>] [<a
href="userhtmlsu18.html#tailuserhtmlsu18.html" >prev-tail</a>] [<a href="userhtmlsu18.html#tailuserhtmlsu18.html" >prev-tail</a>] [<a
@ -18,14 +18,14 @@ href="userhtmlsu16.html#tailuserhtmlsu19.html">tail</a>] [<a
href="userhtmlsu12.html#userhtmlsu22.html" >up</a>] </p></div> href="userhtmlsu12.html#userhtmlsu22.html" >up</a>] </p></div>
<h4 class="subsectionHead"><span class="titlemark">4.10 </span> <a <h4 class="subsectionHead"><span class="titlemark">4.10 </span> <a
id="x28-650004.10"></a>psb_norm1 &#8212; 1-Norm of Sparse Matrix</h4> id="x28-650004.10"></a>psb_norm1 &#8212; 1-Norm of Sparse Matrix</h4>
<!--l. 794--><p class="noindent" >This function computes the 1-norm of a matrix <span <!--l. 804--><p class="noindent" >This function computes the 1-norm of a matrix <span
class="cmmi-10">A</span>:<br class="cmmi-10">A</span>:<br
class="newline" /> class="newline" />
<center class="par-math-display" > <center class="par-math-display" >
<img <img
src="userhtml16x.png" alt="nrm1 &#x2190; &#x2225;A &#x2225;1 src="userhtml16x.png" alt="nrm1 &#x2190; &#x2225;A &#x2225;1
" class="par-math-display" ></center> " class="par-math-display" ></center>
<!--l. 796--><p class="nopar" > where: <!--l. 806--><p class="nopar" > where:
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmmi-10">A</span> </dt><dd class="cmmi-10">A</span> </dt><dd
@ -35,15 +35,15 @@ class="cmmi-10">A</span></dd></dl>
<!--l. 802--><p class="indent" > <a <!--l. 812--><p class="indent" > <a
id="x28-6500110"></a><hr class="float"><div class="float" id="x28-65001r10"></a><hr class="float"><div class="float"
> >
<div class="center" <div class="center"
> >
<!--l. 803--><p class="noindent" > <!--l. 813--><p class="noindent" >
<div class="tabular"> <table id="TBL-10" class="tabular" <div class="tabular"> <table id="TBL-10" class="tabular"
cellspacing="0" cellpadding="0" cellspacing="0" cellpadding="0"
><colgroup id="TBL-10-1g"><col ><colgroup id="TBL-10-1g"><col
@ -77,7 +77,7 @@ class="hline"><td><hr></td><td><hr></td></tr><tr
class="td11"> </td></tr></table></div></div> class="td11"> </td></tr></table></div></div>
<br /> <div class="caption" <br /> <div class="caption"
><span class="id">Table&#x00A0;10: </span><span ><span class="id">Table&#x00A0;10: </span><span
class="content">Data types</span></div><!--tex4ht:label?: x28-6500110 --> class="content">Data types</span></div><!--tex4ht:label?: x28-65001r10 -->
@ -86,11 +86,11 @@ class="content">Data types</span></div><!--tex4ht:label?: x28-6500110 -->
<div class="verbatim" id="verbatim-49"> <div class="verbatim" id="verbatim-31">
psb_spnrm1(A,&#x00A0;desc_a,&#x00A0;info) psb_spnrm1(A,&#x00A0;desc_a,&#x00A0;info)
&#x00A0;<br />psb_norm1(A,&#x00A0;desc_a,&#x00A0;info) &#x00A0;<br />psb_norm1(A,&#x00A0;desc_a,&#x00A0;info)
</div> </div>
<!--l. 821--><p class="nopar" > <!--l. 831--><p class="nopar" >
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">Type:</span> </dt><dd class="cmbx-10">Type:</span> </dt><dd
@ -160,12 +160,12 @@ class="newline" />An integer value; 0 means no error has been detected.</dd></dl
<!--l. 856--><div class="crosslinks"><p class="noindent">[<a <!--l. 866--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu23.html" >next</a>] [<a href="userhtmlsu23.html" >next</a>] [<a
href="userhtmlsu18.html" >prev</a>] [<a href="userhtmlsu18.html" >prev</a>] [<a
href="userhtmlsu18.html#tailuserhtmlsu18.html" >prev-tail</a>] [<a href="userhtmlsu18.html#tailuserhtmlsu18.html" >prev-tail</a>] [<a
href="userhtmlsu19.html" >front</a>] [<a href="userhtmlsu19.html" >front</a>] [<a
href="userhtmlsu12.html#userhtmlsu22.html" >up</a>] </p></div> href="userhtmlsu12.html#userhtmlsu22.html" >up</a>] </p></div>
<!--l. 856--><p class="indent" > <a <!--l. 866--><p class="indent" > <a
id="tailuserhtmlsu19.html"></a> id="tailuserhtmlsu19.html"></a>
</body></html> </body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 856--><div class="crosslinks"><p class="noindent">[<a <!--l. 866--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu24.html" >next</a>] [<a href="userhtmlsu24.html" >next</a>] [<a
href="userhtmlsu19.html" >prev</a>] [<a href="userhtmlsu19.html" >prev</a>] [<a
href="userhtmlsu19.html#tailuserhtmlsu19.html" >prev-tail</a>] [<a href="userhtmlsu19.html#tailuserhtmlsu19.html" >prev-tail</a>] [<a
@ -18,14 +18,14 @@ href="userhtmlsu17.html#tailuserhtmlsu20.html">tail</a>] [<a
href="userhtmlsu12.html#userhtmlsu23.html" >up</a>] </p></div> href="userhtmlsu12.html#userhtmlsu23.html" >up</a>] </p></div>
<h4 class="subsectionHead"><span class="titlemark">4.11 </span> <a <h4 class="subsectionHead"><span class="titlemark">4.11 </span> <a
id="x29-660004.11"></a>psb_normi &#8212; Infinity Norm of Sparse Matrix</h4> id="x29-660004.11"></a>psb_normi &#8212; Infinity Norm of Sparse Matrix</h4>
<!--l. 858--><p class="noindent" >This function computes the infinity-norm of a matrix <span <!--l. 868--><p class="noindent" >This function computes the infinity-norm of a matrix <span
class="cmmi-10">A</span>:<br class="cmmi-10">A</span>:<br
class="newline" /> class="newline" />
<center class="par-math-display" > <center class="par-math-display" >
<img <img
src="userhtml17x.png" alt="nrmi &#x2190; &#x2225;A&#x2225;&#x221E; src="userhtml17x.png" alt="nrmi &#x2190; &#x2225;A&#x2225;&#x221E;
" class="par-math-display" ></center> " class="par-math-display" ></center>
<!--l. 860--><p class="nopar" > where: <!--l. 870--><p class="nopar" > where:
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmmi-10">A</span> </dt><dd class="cmmi-10">A</span> </dt><dd
@ -35,15 +35,15 @@ class="cmmi-10">A</span></dd></dl>
<!--l. 866--><p class="indent" > <a <!--l. 876--><p class="indent" > <a
id="x29-6600111"></a><hr class="float"><div class="float" id="x29-66001r11"></a><hr class="float"><div class="float"
> >
<div class="center" <div class="center"
> >
<!--l. 867--><p class="noindent" > <!--l. 877--><p class="noindent" >
<div class="tabular"> <table id="TBL-11" class="tabular" <div class="tabular"> <table id="TBL-11" class="tabular"
cellspacing="0" cellpadding="0" cellspacing="0" cellpadding="0"
><colgroup id="TBL-11-1g"><col ><colgroup id="TBL-11-1g"><col
@ -77,7 +77,7 @@ class="hline"><td><hr></td><td><hr></td></tr><tr
class="td11"> </td></tr></table></div></div> class="td11"> </td></tr></table></div></div>
<br /> <div class="caption" <br /> <div class="caption"
><span class="id">Table&#x00A0;11: </span><span ><span class="id">Table&#x00A0;11: </span><span
class="content">Data types</span></div><!--tex4ht:label?: x29-6600111 --> class="content">Data types</span></div><!--tex4ht:label?: x29-66001r11 -->
@ -86,11 +86,11 @@ class="content">Data types</span></div><!--tex4ht:label?: x29-6600111 -->
<div class="verbatim" id="verbatim-50"> <div class="verbatim" id="verbatim-32">
psb_spnrmi(A,&#x00A0;desc_a,&#x00A0;info) psb_spnrmi(A,&#x00A0;desc_a,&#x00A0;info)
&#x00A0;<br />psb_normi(A,&#x00A0;desc_a,&#x00A0;info) &#x00A0;<br />psb_normi(A,&#x00A0;desc_a,&#x00A0;info)
</div> </div>
<!--l. 885--><p class="nopar" > <!--l. 895--><p class="nopar" >
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">Type:</span> </dt><dd class="cmbx-10">Type:</span> </dt><dd
@ -160,12 +160,12 @@ class="newline" />An integer value; 0 means no error has been detected.</dd></dl
<!--l. 920--><div class="crosslinks"><p class="noindent">[<a <!--l. 930--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu24.html" >next</a>] [<a href="userhtmlsu24.html" >next</a>] [<a
href="userhtmlsu19.html" >prev</a>] [<a href="userhtmlsu19.html" >prev</a>] [<a
href="userhtmlsu19.html#tailuserhtmlsu19.html" >prev-tail</a>] [<a href="userhtmlsu19.html#tailuserhtmlsu19.html" >prev-tail</a>] [<a
href="userhtmlsu20.html" >front</a>] [<a href="userhtmlsu20.html" >front</a>] [<a
href="userhtmlsu12.html#userhtmlsu23.html" >up</a>] </p></div> href="userhtmlsu12.html#userhtmlsu23.html" >up</a>] </p></div>
<!--l. 920--><p class="indent" > <a <!--l. 930--><p class="indent" > <a
id="tailuserhtmlsu20.html"></a> id="tailuserhtmlsu20.html"></a>
</body></html> </body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 921--><div class="crosslinks"><p class="noindent">[<a <!--l. 931--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu25.html" >next</a>] [<a href="userhtmlsu25.html" >next</a>] [<a
href="userhtmlsu20.html" >prev</a>] [<a href="userhtmlsu20.html" >prev</a>] [<a
href="userhtmlsu20.html#tailuserhtmlsu20.html" >prev-tail</a>] [<a href="userhtmlsu20.html#tailuserhtmlsu20.html" >prev-tail</a>] [<a
@ -18,7 +18,7 @@ href="userhtmlsu18.html#tailuserhtmlsu21.html">tail</a>] [<a
href="userhtmlsu12.html#userhtmlsu24.html" >up</a>] </p></div> href="userhtmlsu12.html#userhtmlsu24.html" >up</a>] </p></div>
<h4 class="subsectionHead"><span class="titlemark">4.12 </span> <a <h4 class="subsectionHead"><span class="titlemark">4.12 </span> <a
id="x30-670004.12"></a>psb_spmm &#8212; Sparse Matrix by Dense Matrix Product</h4> id="x30-670004.12"></a>psb_spmm &#8212; Sparse Matrix by Dense Matrix Product</h4>
<!--l. 923--><p class="noindent" >This subroutine computes the Sparse Matrix by Dense Matrix Product: <!--l. 933--><p class="noindent" >This subroutine computes the Sparse Matrix by Dense Matrix Product:
<table <table
class="equation"><tr><td> class="equation"><tr><td>
<center class="math-display" > <center class="math-display" >
@ -26,7 +26,7 @@ class="equation"><tr><td>
src="userhtml18x.png" alt="y &#x2190; &#x03B1;Ax + &#x03B2;y src="userhtml18x.png" alt="y &#x2190; &#x03B1;Ax + &#x03B2;y
" class="math-display" ><a " class="math-display" ><a
id="x30-67001r1"></a></center></td><td class="equation-label">(1)</td></tr></table> id="x30-67001r1"></a></center></td><td class="equation-label">(1)</td></tr></table>
<!--l. 928--><p class="nopar" > <!--l. 938--><p class="nopar" >
<table <table
class="equation"><tr><td> class="equation"><tr><td>
<center class="math-display" > <center class="math-display" >
@ -34,7 +34,7 @@ class="equation"><tr><td>
src="userhtml19x.png" alt="y &#x2190; &#x03B1;AT x+ &#x03B2;y src="userhtml19x.png" alt="y &#x2190; &#x03B1;AT x+ &#x03B2;y
" class="math-display" ><a " class="math-display" ><a
id="x30-67002r2"></a></center></td><td class="equation-label">(2)</td></tr></table> id="x30-67002r2"></a></center></td><td class="equation-label">(2)</td></tr></table>
<!--l. 932--><p class="nopar" > <!--l. 942--><p class="nopar" >
<table <table
class="equation"><tr><td> class="equation"><tr><td>
<center class="math-display" > <center class="math-display" >
@ -46,8 +46,8 @@ y &#x2190; &#x03B1;A x+ &#x03B2;y
" class="math-display" ><a " class="math-display" ><a
id="x30-67003r3"></a></center></td><td class="equation-label">(3)</td></tr></table> id="x30-67003r3"></a></center></td><td class="equation-label">(3)</td></tr></table>
<!--l. 936--><p class="nopar" > <!--l. 946--><p class="nopar" >
<!--l. 938--><p class="indent" > where: <!--l. 948--><p class="indent" > where:
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmmi-10">x</span> </dt><dd class="cmmi-10">x</span> </dt><dd
@ -73,15 +73,15 @@ class="cmmi-10">A</span></dd></dl>
<!--l. 945--><p class="indent" > <a <!--l. 955--><p class="indent" > <a
id="x30-6700412"></a><hr class="float"><div class="float" id="x30-67004r12"></a><hr class="float"><div class="float"
> >
<div class="center" <div class="center"
> >
<!--l. 946--><p class="noindent" > <!--l. 956--><p class="noindent" >
<div class="tabular"> <table id="TBL-12" class="tabular" <div class="tabular"> <table id="TBL-12" class="tabular"
cellspacing="0" cellpadding="0" cellspacing="0" cellpadding="0"
><colgroup id="TBL-12-1g"><col ><colgroup id="TBL-12-1g"><col
@ -120,21 +120,67 @@ class="hline"><td><hr></td><td><hr></td></tr><tr
class="td11"> </td></tr></table></div></div> class="td11"> </td></tr></table></div></div>
<br /> <div class="caption" <br /> <div class="caption"
><span class="id">Table&#x00A0;12: </span><span ><span class="id">Table&#x00A0;12: </span><span
class="content">Data types</span></div><!--tex4ht:label?: x30-6700412 --> class="content">Data types</span></div><!--tex4ht:label?: x30-67004r12 -->
</div><hr class="endfloat" /> </div><hr class="endfloat" />
</div> </div>
<!--l. 971--><p class="indent" > <span class="lstinline"></span><span
class="cmtt-10">call</span><span
class="cmtt-10">&#x00A0;</span><span
<div class="verbatim" id="verbatim-51"> class="cmtt-10">psb_spmm</span><span
call&#x00A0;psb_spmm(alpha,&#x00A0;a,&#x00A0;x,&#x00A0;beta,&#x00A0;y,&#x00A0;desc_a,&#x00A0;info) class="cmtt-10">(</span><span
&#x00A0;<br />call&#x00A0;psb_spmm(alpha,&#x00A0;a,&#x00A0;x,&#x00A0;beta,&#x00A0;y,desc_a,&#x00A0;info,&#x00A0;&amp; class="cmtt-10">alpha</span><span
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&amp;&#x00A0;trans,&#x00A0;work) class="cmtt-10">,</span><span
</div> class="cmtt-10">&#x00A0;</span><span
<!--l. 965--><p class="nopar" > class="cmtt-10">a</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">x</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">beta</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">y</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">desc_a</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">info</span><span
class="cmtt-10">)</span><br
class="newline" /><span class="lstinline"></span><span
class="cmtt-10">call</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_spmm</span><span
class="cmtt-10">(</span><span
class="cmtt-10">alpha</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">a</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">x</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">beta</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">y</span><span
class="cmtt-10">,</span><span
class="cmtt-10">desc_a</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">info</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">trans</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">work</span><span
class="cmtt-10">)</span>
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">Type:</span> </dt><dd class="cmbx-10">Type:</span> </dt><dd
@ -155,7 +201,7 @@ class="cmbx-10">required</span><br
class="newline" />Intent: <span class="newline" />Intent: <span
class="cmbx-10">in</span>.<br class="cmbx-10">in</span>.<br
class="newline" />Specified as: a number of the data type indicated in Table&#x00A0;<a class="newline" />Specified as: a number of the data type indicated in Table&#x00A0;<a
href="#x30-6700412">12<!--tex4ht:ref: tab:f90spmm --></a>. href="#x30-67004r12">12<!--tex4ht:ref: tab:f90spmm --></a>.
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">a</span> </dt><dd class="cmbx-10">a</span> </dt><dd
@ -190,7 +236,7 @@ class="cmtt-10">psb</span><span
class="cmtt-10">_T</span><span class="cmtt-10">_T</span><span
class="cmtt-10">_vect</span><span class="cmtt-10">_vect</span><span
class="cmtt-10">_type</span></a>&#x00A0;containing numbers of type specified in Table&#x00A0;<a class="cmtt-10">_type</span></a>&#x00A0;containing numbers of type specified in Table&#x00A0;<a
href="#x30-6700412">12<!--tex4ht:ref: tab:f90spmm --></a>. The href="#x30-67004r12">12<!--tex4ht:ref: tab:f90spmm --></a>. The
rank of <span rank of <span
class="cmmi-10">x </span>must be the same of <span class="cmmi-10">x </span>must be the same of <span
class="cmmi-10">y</span>. class="cmmi-10">y</span>.
@ -206,7 +252,7 @@ class="cmbx-10">required </span><br
class="newline" />Intent: <span class="newline" />Intent: <span
class="cmbx-10">in</span>.<br class="cmbx-10">in</span>.<br
class="newline" />Specified as: a number of the data type indicated in Table&#x00A0;<a class="newline" />Specified as: a number of the data type indicated in Table&#x00A0;<a
href="#x30-6700412">12<!--tex4ht:ref: tab:f90spmm --></a>. href="#x30-67004r12">12<!--tex4ht:ref: tab:f90spmm --></a>.
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">y</span> </dt><dd class="cmbx-10">y</span> </dt><dd
@ -225,13 +271,10 @@ class="cmtt-10">psb</span><span
class="cmtt-10">_T</span><span class="cmtt-10">_T</span><span
class="cmtt-10">_vect</span><span class="cmtt-10">_vect</span><span
class="cmtt-10">_type</span></a>&#x00A0;containing numbers of type specified in Table&#x00A0;<a class="cmtt-10">_type</span></a>&#x00A0;containing numbers of type specified in Table&#x00A0;<a
href="#x30-6700412">12<!--tex4ht:ref: tab:f90spmm --></a>. The href="#x30-67004r12">12<!--tex4ht:ref: tab:f90spmm --></a>. The
rank of <span rank of <span
class="cmmi-10">y </span>must be the same of <span class="cmmi-10">y </span>must be the same of <span
class="cmmi-10">x</span>. class="cmmi-10">x</span>.
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">desc</span><span class="cmbx-10">desc</span><span
@ -267,7 +310,7 @@ href="#x30-67002r2">2<!--tex4ht:ref: eq:f90spmm_tra --></a>
class="cmbx-10">trans = C</span> </dt><dd class="cmbx-10">trans = C</span> </dt><dd
class="description">the operation is specified by equation <a class="description">the operation is specified by equation <a
href="#x30-67003r3">3<!--tex4ht:ref: eq:f90spmm_con --></a></dd></dl> href="#x30-67003r3">3<!--tex4ht:ref: eq:f90spmm_con --></a></dd></dl>
<!--l. 1020--><p class="noindent" >Scope: <span <!--l. 1027--><p class="noindent" >Scope: <span
class="cmbx-10">global </span><br class="cmbx-10">global </span><br
class="newline" />Type: <span class="newline" />Type: <span
class="cmbx-10">optional</span><br class="cmbx-10">optional</span><br
@ -308,7 +351,7 @@ class="newline" />Intent: <span
class="cmbx-10">inout</span>.<br class="cmbx-10">inout</span>.<br
class="newline" />Specified as: an array of rank one or two containing numbers of type specified class="newline" />Specified as: an array of rank one or two containing numbers of type specified
in Table&#x00A0;<a in Table&#x00A0;<a
href="#x30-6700412">12<!--tex4ht:ref: tab:f90spmm --></a>. href="#x30-67004r12">12<!--tex4ht:ref: tab:f90spmm --></a>.
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">info</span> </dt><dd class="cmbx-10">info</span> </dt><dd
@ -326,12 +369,12 @@ class="newline" />An integer value; 0 means no error has been detected.</dd></dl
<!--l. 1072--><div class="crosslinks"><p class="noindent">[<a <!--l. 1079--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu25.html" >next</a>] [<a href="userhtmlsu25.html" >next</a>] [<a
href="userhtmlsu20.html" >prev</a>] [<a href="userhtmlsu20.html" >prev</a>] [<a
href="userhtmlsu20.html#tailuserhtmlsu20.html" >prev-tail</a>] [<a href="userhtmlsu20.html#tailuserhtmlsu20.html" >prev-tail</a>] [<a
href="userhtmlsu21.html" >front</a>] [<a href="userhtmlsu21.html" >front</a>] [<a
href="userhtmlsu12.html#userhtmlsu24.html" >up</a>] </p></div> href="userhtmlsu12.html#userhtmlsu24.html" >up</a>] </p></div>
<!--l. 1072--><p class="indent" > <a <!--l. 1079--><p class="indent" > <a
id="tailuserhtmlsu21.html"></a> id="tailuserhtmlsu21.html"></a>
</body></html> </body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 1072--><div class="crosslinks"><p class="noindent">[<a <!--l. 1079--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlse5.html" >next</a>] [<a href="userhtmlse5.html" >next</a>] [<a
href="userhtmlsu21.html" >prev</a>] [<a href="userhtmlsu21.html" >prev</a>] [<a
href="userhtmlsu21.html#tailuserhtmlsu21.html" >prev-tail</a>] [<a href="userhtmlsu21.html#tailuserhtmlsu21.html" >prev-tail</a>] [<a
@ -18,8 +18,8 @@ href="userhtmlsu19.html#tailuserhtmlsu22.html">tail</a>] [<a
href="userhtmlsu12.html#userhtmlsu25.html" >up</a>] </p></div> href="userhtmlsu12.html#userhtmlsu25.html" >up</a>] </p></div>
<h4 class="subsectionHead"><span class="titlemark">4.13 </span> <a <h4 class="subsectionHead"><span class="titlemark">4.13 </span> <a
id="x31-680004.13"></a>psb_spsm &#8212; Triangular System Solve</h4> id="x31-680004.13"></a>psb_spsm &#8212; Triangular System Solve</h4>
<!--l. 1074--><p class="noindent" >This subroutine computes the Triangular System Solve: <!--l. 1081--><p class="noindent" >This subroutine computes the Triangular System Solve:
<!--l. 1076--><p class="indent" > <div class="eqnarray"> <!--l. 1083--><p class="indent" > <div class="eqnarray">
<center class="math-display" > <center class="math-display" >
<img <img
src="userhtml21x.png" alt="y &#x2190; &#x03B1;T- 1x + &#x03B2;y src="userhtml21x.png" alt="y &#x2190; &#x03B1;T- 1x + &#x03B2;y
@ -35,7 +35,7 @@ y &#x2190; &#x03B1;DT -Hx + &#x03B2;y
y &#x2190; &#x03B1;T- HDx + &#x03B2;y y &#x2190; &#x03B1;T- HDx + &#x03B2;y
" class="math-display" ></center> " class="math-display" ></center>
</div> </div>
<!--l. 1089--><p class="indent" > where: <!--l. 1096--><p class="indent" > where:
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmmi-10">x</span> </dt><dd class="cmmi-10">x</span> </dt><dd
@ -61,28 +61,85 @@ class="cmmi-10">T</span>
<span <span
class="cmmi-10">D</span> </dt><dd class="cmmi-10">D</span> </dt><dd
class="description">is the scaling diagonal matrix.</dd></dl> class="description">is the scaling diagonal matrix.</dd></dl>
<!--l. 1104--><p class="indent" > <span class="lstinline"></span><span
class="cmtt-10">call</span><span
class="cmtt-10">&#x00A0;</span><span
<div class="verbatim" id="verbatim-52"> class="cmtt-10">psb_spsm</span><span
call&#x00A0;psb_spsm(alpha,&#x00A0;t,&#x00A0;x,&#x00A0;beta,&#x00A0;y,&#x00A0;desc_a,&#x00A0;info) class="cmtt-10">(</span><span
&#x00A0;<br />call&#x00A0;psb_spsm(alpha,&#x00A0;t,&#x00A0;x,&#x00A0;beta,&#x00A0;y,&#x00A0;desc_a,&#x00A0;info,&amp; class="cmtt-10">alpha</span><span
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&amp;&#x00A0;trans,&#x00A0;unit,&#x00A0;choice,&#x00A0;diag,&#x00A0;work) class="cmtt-10">,</span><span
</div> class="cmtt-10">&#x00A0;</span><span
<!--l. 1101--><p class="nopar" > class="cmtt-10">t</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">x</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">beta</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">y</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">desc_a</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">info</span><span
class="cmtt-10">)</span><br
class="newline" /><span class="lstinline"></span><span
class="cmtt-10">call</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_spsm</span><span
class="cmtt-10">(</span><span
class="cmtt-10">alpha</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">t</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">x</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">beta</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">y</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">desc_a</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">info</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">trans</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">unit</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">choice</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">diag</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">work</span><span
class="cmtt-10">)</span><br
class="newline" />
<div class="table"> <div class="table">
<!--l. 1103--><p class="indent" > <a <!--l. 1107--><p class="indent" > <a
id="x31-6800213"></a><hr class="float"><div class="float" id="x31-68002r13"></a><hr class="float"><div class="float"
> >
<div class="center" <div class="center"
> >
<!--l. 1104--><p class="noindent" > <!--l. 1108--><p class="noindent" >
<div class="tabular"> <table id="TBL-13" class="tabular" <div class="tabular"> <table id="TBL-13" class="tabular"
cellspacing="0" cellpadding="0" cellspacing="0" cellpadding="0"
><colgroup id="TBL-13-1g"><col ><colgroup id="TBL-13-1g"><col
@ -122,7 +179,7 @@ class="hline"><td><hr></td><td><hr></td></tr><tr
class="td11"> </td></tr></table></div></div> class="td11"> </td></tr></table></div></div>
<br /> <div class="caption" <br /> <div class="caption"
><span class="id">Table&#x00A0;13: </span><span ><span class="id">Table&#x00A0;13: </span><span
class="content">Data types</span></div><!--tex4ht:label?: x31-6800213 --> class="content">Data types</span></div><!--tex4ht:label?: x31-68002r13 -->
@ -148,7 +205,7 @@ class="cmbx-10">required</span><br
class="newline" />Intent: <span class="newline" />Intent: <span
class="cmbx-10">in</span>.<br class="cmbx-10">in</span>.<br
class="newline" />Specified as: a number of the data type indicated in Table&#x00A0;<a class="newline" />Specified as: a number of the data type indicated in Table&#x00A0;<a
href="#x31-6800213">13<!--tex4ht:ref: tab:f90spsm --></a>. href="#x31-68002r13">13<!--tex4ht:ref: tab:f90spsm --></a>.
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">t</span> </dt><dd class="cmbx-10">t</span> </dt><dd
@ -181,7 +238,7 @@ class="cmtt-10">psb</span><span
class="cmtt-10">_T</span><span class="cmtt-10">_T</span><span
class="cmtt-10">_vect</span><span class="cmtt-10">_vect</span><span
class="cmtt-10">_type</span></a>&#x00A0;containing numbers of type specified in Table&#x00A0;<a class="cmtt-10">_type</span></a>&#x00A0;containing numbers of type specified in Table&#x00A0;<a
href="#x31-6800213">13<!--tex4ht:ref: tab:f90spsm --></a>. The href="#x31-68002r13">13<!--tex4ht:ref: tab:f90spsm --></a>. The
rank of <span rank of <span
class="cmmi-10">x </span>must be the same of <span class="cmmi-10">x </span>must be the same of <span
class="cmmi-10">y</span>. class="cmmi-10">y</span>.
@ -197,7 +254,7 @@ class="cmbx-10">required </span><br
class="newline" />Intent: <span class="newline" />Intent: <span
class="cmbx-10">in</span>.<br class="cmbx-10">in</span>.<br
class="newline" />Specified as: a number of the data type indicated in Table&#x00A0;<a class="newline" />Specified as: a number of the data type indicated in Table&#x00A0;<a
href="#x31-6800213">13<!--tex4ht:ref: tab:f90spsm --></a>. href="#x31-68002r13">13<!--tex4ht:ref: tab:f90spsm --></a>.
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">y</span> </dt><dd class="cmbx-10">y</span> </dt><dd
@ -216,7 +273,7 @@ class="cmtt-10">psb</span><span
class="cmtt-10">_T</span><span class="cmtt-10">_T</span><span
class="cmtt-10">_vect</span><span class="cmtt-10">_vect</span><span
class="cmtt-10">_type</span></a>&#x00A0;containing numbers of type specified in Table&#x00A0;<a class="cmtt-10">_type</span></a>&#x00A0;containing numbers of type specified in Table&#x00A0;<a
href="#x31-6800213">13<!--tex4ht:ref: tab:f90spsm --></a>. The href="#x31-68002r13">13<!--tex4ht:ref: tab:f90spsm --></a>. The
rank of <span rank of <span
class="cmmi-10">y </span>must be the same of <span class="cmmi-10">y </span>must be the same of <span
class="cmmi-10">x</span>. class="cmmi-10">x</span>.
@ -256,7 +313,7 @@ class="description">the operation is with transposed matrix.
<span <span
class="cmbx-10">trans = &#8217;C&#8217;</span> </dt><dd class="cmbx-10">trans = &#8217;C&#8217;</span> </dt><dd
class="description">the operation is with conjugate transposed matrix.</dd></dl> class="description">the operation is with conjugate transposed matrix.</dd></dl>
<!--l. 1173--><p class="noindent" >Scope: <span <!--l. 1177--><p class="noindent" >Scope: <span
class="cmbx-10">global </span><br class="cmbx-10">global </span><br
class="newline" />Type: <span class="newline" />Type: <span
class="cmbx-10">optional</span><br class="cmbx-10">optional</span><br
@ -283,7 +340,7 @@ class="description">the operation is with left scaling
<span <span
class="cmbx-10">unitd = &#8217;R&#8217;</span> </dt><dd class="cmbx-10">unitd = &#8217;R&#8217;</span> </dt><dd
class="description">the operation is with right scaling.</dd></dl> class="description">the operation is with right scaling.</dd></dl>
<!--l. 1184--><p class="noindent" >Scope: <span <!--l. 1188--><p class="noindent" >Scope: <span
class="cmbx-10">global </span><br class="cmbx-10">global </span><br
class="newline" />Type: <span class="newline" />Type: <span
class="cmbx-10">optional</span><br class="cmbx-10">optional</span><br
@ -299,28 +356,28 @@ class="cmbx-10">choice</span> </dt><dd
class="description">specifies the update of overlap elements to be performed on exit: class="description">specifies the update of overlap elements to be performed on exit:
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
</dt><dd </dt><dd
class="description"><span class="obeylines-h"><span class="verb"><span class="description"><span class="lstinline"></span><span
class="cmtt-10">psb_none_</span></span></span> class="cmtt-10">psb_none_</span>
</dd><dt class="description"> </dd><dt class="description">
</dt><dd </dt><dd
class="description"><span class="obeylines-h"><span class="verb"><span class="description"><span class="lstinline"></span><span
class="cmtt-10">psb_sum_</span></span></span> class="cmtt-10">psb_sum_</span>
</dd><dt class="description"> </dd><dt class="description">
</dt><dd </dt><dd
class="description"><span class="obeylines-h"><span class="verb"><span class="description"><span class="lstinline"></span><span
class="cmtt-10">psb_avg_</span></span></span> class="cmtt-10">psb_avg_</span>
</dd><dt class="description"> </dd><dt class="description">
</dt><dd </dt><dd
class="description"><span class="obeylines-h"><span class="verb"><span class="description"><span class="lstinline"></span><span
class="cmtt-10">psb_square_root_</span></span></span></dd></dl> class="cmtt-10">psb_square_root_</span></dd></dl>
<!--l. 1197--><p class="noindent" >Scope: <span <!--l. 1201--><p class="noindent" >Scope: <span
class="cmbx-10">global </span><br class="cmbx-10">global </span><br
class="newline" />Type: <span class="newline" />Type: <span
class="cmbx-10">optional</span><br class="cmbx-10">optional</span><br
class="newline" />Intent: <span class="newline" />Intent: <span
class="cmbx-10">in</span>.<br class="cmbx-10">in</span>.<br
class="newline" />Default: <span class="obeylines-h"><span class="verb"><span class="newline" />Default: <span class="lstinline"></span><span
class="cmtt-10">psb_avg_</span></span></span><br class="cmtt-10">psb_avg_</span><br
class="newline" />Specified as: an integer variable. class="newline" />Specified as: an integer variable.
@ -340,7 +397,7 @@ class="cmmi-10">diag</span>(1) = 1(<span
class="cmmi-10">noscaling</span>)<br class="cmmi-10">noscaling</span>)<br
class="newline" />Specified as: a rank one array containing numbers of the type indicated in class="newline" />Specified as: a rank one array containing numbers of the type indicated in
Table&#x00A0;<a Table&#x00A0;<a
href="#x31-6800213">13<!--tex4ht:ref: tab:f90spsm --></a>. href="#x31-68002r13">13<!--tex4ht:ref: tab:f90spsm --></a>.
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">work</span> </dt><dd class="cmbx-10">work</span> </dt><dd
@ -371,7 +428,7 @@ class="newline" />Intent: <span
class="cmbx-10">inout</span>.<br class="cmbx-10">inout</span>.<br
class="newline" />Specified as: an array of rank one or two containing numbers of type specified class="newline" />Specified as: an array of rank one or two containing numbers of type specified
in Table&#x00A0;<a in Table&#x00A0;<a
href="#x31-6800213">13<!--tex4ht:ref: tab:f90spsm --></a>. href="#x31-68002r13">13<!--tex4ht:ref: tab:f90spsm --></a>.
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">info</span> </dt><dd class="cmbx-10">info</span> </dt><dd
@ -389,12 +446,12 @@ class="newline" />An integer value; 0 means no error has been detected.</dd></dl
<!--l. 1241--><div class="crosslinks"><p class="noindent">[<a <!--l. 1245--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlse5.html" >next</a>] [<a href="userhtmlse5.html" >next</a>] [<a
href="userhtmlsu21.html" >prev</a>] [<a href="userhtmlsu21.html" >prev</a>] [<a
href="userhtmlsu21.html#tailuserhtmlsu21.html" >prev-tail</a>] [<a href="userhtmlsu21.html#tailuserhtmlsu21.html" >prev-tail</a>] [<a
href="userhtmlsu22.html" >front</a>] [<a href="userhtmlsu22.html" >front</a>] [<a
href="userhtmlsu12.html#userhtmlsu25.html" >up</a>] </p></div> href="userhtmlsu12.html#userhtmlsu25.html" >up</a>] </p></div>
<!--l. 1241--><p class="indent" > <a <!--l. 1245--><p class="indent" > <a
id="tailuserhtmlsu22.html"></a> id="tailuserhtmlsu22.html"></a>
</body></html> </body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 1241--><div class="crosslinks"><p class="noindent">[<a <!--l. 1245--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu26.html" >next</a>] [<a href="userhtmlsu26.html" >next</a>] [<a
href="userhtmlsu22.html" >prev</a>] [<a href="userhtmlsu22.html" >prev</a>] [<a
href="userhtmlsu22.html#tailuserhtmlsu22.html" >prev-tail</a>] [<a href="userhtmlsu22.html#tailuserhtmlsu22.html" >prev-tail</a>] [<a
@ -18,7 +18,7 @@ href="userhtmlsu20.html#tailuserhtmlsu23.html">tail</a>] [<a
href="userhtmlsu12.html#userhtmlse5.html" >up</a>] </p></div> href="userhtmlsu12.html#userhtmlse5.html" >up</a>] </p></div>
<h4 class="subsectionHead"><span class="titlemark">4.14 </span> <a <h4 class="subsectionHead"><span class="titlemark">4.14 </span> <a
id="x32-690004.14"></a>psb_gemlt &#8212; Entrywise Product</h4> id="x32-690004.14"></a>psb_gemlt &#8212; Entrywise Product</h4>
<!--l. 1243--><p class="noindent" >This function computes the entrywise product between two vectors <span <!--l. 1247--><p class="noindent" >This function computes the entrywise product between two vectors <span
class="cmmi-10">x </span>and class="cmmi-10">x </span>and
<span <span
class="cmmi-10">y</span> class="cmmi-10">y</span>
@ -26,26 +26,34 @@ class="cmmi-10">y</span>
<img <img
src="userhtml22x.png" alt="dot &#x2190; x(i)y(i). src="userhtml22x.png" alt="dot &#x2190; x(i)y(i).
" class="math-display" ></center> " class="math-display" ></center>
<!--l. 1245--><p class="nopar" > <!--l. 1249--><p class="nopar" >
<!--l. 1251--><p class="indent" > <span class="lstinline"></span><span
class="cmtt-10">psb_gemlt</span><span
class="cmtt-10">(</span><span
class="cmtt-10">x</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">y</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">desc_a</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">info</span><span
class="cmtt-10">)</span>
<div class="table">
<div class="verbatim" id="verbatim-53"> <!--l. 1254--><p class="indent" > <a
psb_gemlt(x,&#x00A0;y,&#x00A0;desc_a,&#x00A0;info) id="x32-69001r14"></a><hr class="float"><div class="float"
</div>
<!--l. 1249--><p class="nopar" > <div class="table">
<!--l. 1251--><p class="indent" > <a
id="x32-6900114"></a><hr class="float"><div class="float"
> >
<div class="center" <div class="center"
> >
<!--l. 1252--><p class="noindent" > <!--l. 1255--><p class="noindent" >
<div class="tabular"> <table id="TBL-14" class="tabular" <div class="tabular"> <table id="TBL-14" class="tabular"
cellspacing="0" cellpadding="0" cellspacing="0" cellpadding="0"
><colgroup id="TBL-14-1g"><col ><colgroup id="TBL-14-1g"><col
@ -82,7 +90,7 @@ class="hline"><td><hr></td><td><hr></td></tr><tr
class="td11"> </td></tr></table></div></div> class="td11"> </td></tr></table></div></div>
<br /> <div class="caption" <br /> <div class="caption"
><span class="id">Table&#x00A0;14: </span><span ><span class="id">Table&#x00A0;14: </span><span
class="content">Data types</span></div><!--tex4ht:label?: x32-6900114 --> class="content">Data types</span></div><!--tex4ht:label?: x32-69001r14 -->
@ -114,7 +122,7 @@ class="cmtt-10">_T</span><span
class="cmtt-10">_vect</span><span class="cmtt-10">_vect</span><span
class="cmtt-10">_type</span></a>&#x00A0;containing numbers of class="cmtt-10">_type</span></a>&#x00A0;containing numbers of
type specified in Table&#x00A0;<a type specified in Table&#x00A0;<a
href="userhtmlsu11.html#x20-570012">2<!--tex4ht:ref: tab:f90dot --></a>. href="userhtmlsu11.html#x20-57001r2">2<!--tex4ht:ref: tab:f90dot --></a>.
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">y</span> </dt><dd class="cmbx-10">y</span> </dt><dd
@ -133,7 +141,7 @@ class="cmtt-10">_T</span><span
class="cmtt-10">_vect</span><span class="cmtt-10">_vect</span><span
class="cmtt-10">_type</span></a>&#x00A0;containing numbers of class="cmtt-10">_type</span></a>&#x00A0;containing numbers of
type specified in Table&#x00A0;<a type specified in Table&#x00A0;<a
href="userhtmlsu11.html#x20-570012">2<!--tex4ht:ref: tab:f90dot --></a>. href="userhtmlsu11.html#x20-57001r2">2<!--tex4ht:ref: tab:f90dot --></a>.
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">desc</span><span class="cmbx-10">desc</span><span
@ -172,7 +180,7 @@ class="cmtt-10">_T</span><span
class="cmtt-10">_vect</span><span class="cmtt-10">_vect</span><span
class="cmtt-10">_type</span></a>&#x00A0;containing numbers of class="cmtt-10">_type</span></a>&#x00A0;containing numbers of
the type indicated in Table&#x00A0;<a the type indicated in Table&#x00A0;<a
href="#x32-6900114">14<!--tex4ht:ref: tab:f90mlt --></a>. href="#x32-69001r14">14<!--tex4ht:ref: tab:f90mlt --></a>.
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">info</span> </dt><dd class="cmbx-10">info</span> </dt><dd
@ -190,12 +198,12 @@ class="newline" />An integer value; 0 means no error has been detected.</dd></dl
<!--l. 1309--><div class="crosslinks"><p class="noindent">[<a <!--l. 1312--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu26.html" >next</a>] [<a href="userhtmlsu26.html" >next</a>] [<a
href="userhtmlsu22.html" >prev</a>] [<a href="userhtmlsu22.html" >prev</a>] [<a
href="userhtmlsu22.html#tailuserhtmlsu22.html" >prev-tail</a>] [<a href="userhtmlsu22.html#tailuserhtmlsu22.html" >prev-tail</a>] [<a
href="userhtmlsu23.html" >front</a>] [<a href="userhtmlsu23.html" >front</a>] [<a
href="userhtmlsu12.html#userhtmlse5.html" >up</a>] </p></div> href="userhtmlsu12.html#userhtmlse5.html" >up</a>] </p></div>
<!--l. 1309--><p class="indent" > <a <!--l. 1312--><p class="indent" > <a
id="tailuserhtmlsu23.html"></a> id="tailuserhtmlsu23.html"></a>
</body></html> </body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 1309--><div class="crosslinks"><p class="noindent">[<a <!--l. 1312--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu27.html" >next</a>] [<a href="userhtmlsu27.html" >next</a>] [<a
href="userhtmlsu23.html" >prev</a>] [<a href="userhtmlsu23.html" >prev</a>] [<a
href="userhtmlsu23.html#tailuserhtmlsu23.html" >prev-tail</a>] [<a href="userhtmlsu23.html#tailuserhtmlsu23.html" >prev-tail</a>] [<a
@ -18,7 +18,7 @@ href="userhtmlsu21.html#tailuserhtmlsu24.html">tail</a>] [<a
href="userhtmlsu12.html#userhtmlsu26.html" >up</a>] </p></div> href="userhtmlsu12.html#userhtmlsu26.html" >up</a>] </p></div>
<h4 class="subsectionHead"><span class="titlemark">4.15 </span> <a <h4 class="subsectionHead"><span class="titlemark">4.15 </span> <a
id="x33-700004.15"></a>psb_gediv &#8212; Entrywise Division</h4> id="x33-700004.15"></a>psb_gediv &#8212; Entrywise Division</h4>
<!--l. 1311--><p class="noindent" >This function computes the entrywise division between two vectors <span <!--l. 1314--><p class="noindent" >This function computes the entrywise division between two vectors <span
class="cmmi-10">x </span>and class="cmmi-10">x </span>and
<span <span
class="cmmi-10">y</span> class="cmmi-10">y</span>
@ -26,26 +26,38 @@ class="cmmi-10">y</span>
<img <img
src="userhtml23x.png" alt="&#x2215; &#x2190; x(i)&#x2215;y(i). src="userhtml23x.png" alt="&#x2215; &#x2190; x(i)&#x2215;y(i).
" class="math-display" ></center> " class="math-display" ></center>
<!--l. 1313--><p class="nopar" > <!--l. 1316--><p class="nopar" >
<!--l. 1318--><p class="indent" > <span class="lstinline"></span><span
class="cmtt-10">psb_gediv</span><span
class="cmtt-10">(</span><span
class="cmtt-10">x</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">y</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">desc_a</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">info</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">[</span><span
class="cmtt-10">flag</span><span
class="cmtt-10">)</span>
<div class="table">
<div class="verbatim" id="verbatim-54"> <!--l. 1321--><p class="indent" > <a
psb_gediv(x,&#x00A0;y,&#x00A0;desc_a,&#x00A0;info,&#x00A0;[flag) id="x33-70001r15"></a><hr class="float"><div class="float"
</div>
<!--l. 1317--><p class="nopar" > <div class="table">
<!--l. 1319--><p class="indent" > <a
id="x33-7000115"></a><hr class="float"><div class="float"
> >
<div class="center" <div class="center"
> >
<!--l. 1320--><p class="noindent" > <!--l. 1322--><p class="noindent" >
<div class="tabular"> <table id="TBL-15" class="tabular" <div class="tabular"> <table id="TBL-15" class="tabular"
cellspacing="0" cellpadding="0" cellspacing="0" cellpadding="0"
><colgroup id="TBL-15-1g"><col ><colgroup id="TBL-15-1g"><col
@ -82,7 +94,7 @@ class="hline"><td><hr></td><td><hr></td></tr><tr
class="td11"> </td></tr></table></div></div> class="td11"> </td></tr></table></div></div>
<br /> <div class="caption" <br /> <div class="caption"
><span class="id">Table&#x00A0;15: </span><span ><span class="id">Table&#x00A0;15: </span><span
class="content">Data types</span></div><!--tex4ht:label?: x33-7000115 --> class="content">Data types</span></div><!--tex4ht:label?: x33-70001r15 -->
@ -114,7 +126,7 @@ class="cmtt-10">_T</span><span
class="cmtt-10">_vect</span><span class="cmtt-10">_vect</span><span
class="cmtt-10">_type</span></a>&#x00A0;containing numbers of class="cmtt-10">_type</span></a>&#x00A0;containing numbers of
type specified in Table&#x00A0;<a type specified in Table&#x00A0;<a
href="userhtmlsu11.html#x20-570012">2<!--tex4ht:ref: tab:f90dot --></a>. href="userhtmlsu11.html#x20-57001r2">2<!--tex4ht:ref: tab:f90dot --></a>.
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">y</span> </dt><dd class="cmbx-10">y</span> </dt><dd
@ -133,7 +145,7 @@ class="cmtt-10">_T</span><span
class="cmtt-10">_vect</span><span class="cmtt-10">_vect</span><span
class="cmtt-10">_type</span></a>&#x00A0;containing numbers of class="cmtt-10">_type</span></a>&#x00A0;containing numbers of
type specified in Table&#x00A0;<a type specified in Table&#x00A0;<a
href="userhtmlsu11.html#x20-570012">2<!--tex4ht:ref: tab:f90dot --></a>. href="userhtmlsu11.html#x20-57001r2">2<!--tex4ht:ref: tab:f90dot --></a>.
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">desc</span><span class="cmbx-10">desc</span><span
@ -162,8 +174,11 @@ class="cmbx-10">local </span><br
class="newline" />Type: <span class="newline" />Type: <span
class="cmbx-10">optional </span>Intent: <span class="cmbx-10">optional </span>Intent: <span
class="cmbx-10">in</span>.<br class="cmbx-10">in</span>.<br
class="newline" />Specified as: the logical value <span class="obeylines-h"><span class="verb"><span class="newline" />Specified as: the logical value <span class="lstinline"></span><span
class="cmtt-10">flag=.true.</span></span></span> class="cmtt-10">flag</span><span
class="cmtt-10">=.</span><span
class="cmtt-10">true</span><span
class="cmtt-10">.</span>
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">On Return</span> </dt><dd class="cmbx-10">On Return</span> </dt><dd
@ -186,7 +201,7 @@ class="cmtt-10">_T</span><span
class="cmtt-10">_vect</span><span class="cmtt-10">_vect</span><span
class="cmtt-10">_type</span></a>&#x00A0;containing numbers of class="cmtt-10">_type</span></a>&#x00A0;containing numbers of
the type indicated in Table&#x00A0;<a the type indicated in Table&#x00A0;<a
href="userhtmlsu23.html#x32-6900114">14<!--tex4ht:ref: tab:f90mlt --></a>. href="userhtmlsu23.html#x32-69001r14">14<!--tex4ht:ref: tab:f90mlt --></a>.
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">info</span> </dt><dd class="cmbx-10">info</span> </dt><dd
@ -204,12 +219,12 @@ class="newline" />An integer value; 0 means no error has been detected.</dd></dl
<!--l. 1382--><div class="crosslinks"><p class="noindent">[<a <!--l. 1384--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu27.html" >next</a>] [<a href="userhtmlsu27.html" >next</a>] [<a
href="userhtmlsu23.html" >prev</a>] [<a href="userhtmlsu23.html" >prev</a>] [<a
href="userhtmlsu23.html#tailuserhtmlsu23.html" >prev-tail</a>] [<a href="userhtmlsu23.html#tailuserhtmlsu23.html" >prev-tail</a>] [<a
href="userhtmlsu24.html" >front</a>] [<a href="userhtmlsu24.html" >front</a>] [<a
href="userhtmlsu12.html#userhtmlsu26.html" >up</a>] </p></div> href="userhtmlsu12.html#userhtmlsu26.html" >up</a>] </p></div>
<!--l. 1382--><p class="indent" > <a <!--l. 1384--><p class="indent" > <a
id="tailuserhtmlsu24.html"></a> id="tailuserhtmlsu24.html"></a>
</body></html> </body></html>

@ -10,14 +10,14 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 1382--><div class="crosslinks"><p class="noindent">[<a <!--l. 1384--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu24.html" >prev</a>] [<a href="userhtmlsu24.html" >prev</a>] [<a
href="userhtmlsu24.html#tailuserhtmlsu24.html" >prev-tail</a>] [<a href="userhtmlsu24.html#tailuserhtmlsu24.html" >prev-tail</a>] [<a
href="userhtmlsu22.html#tailuserhtmlsu25.html">tail</a>] [<a href="userhtmlsu22.html#tailuserhtmlsu25.html">tail</a>] [<a
href="userhtmlsu12.html#userhtmlsu27.html" >up</a>] </p></div> href="userhtmlsu12.html#userhtmlsu27.html" >up</a>] </p></div>
<h4 class="subsectionHead"><span class="titlemark">4.16 </span> <a <h4 class="subsectionHead"><span class="titlemark">4.16 </span> <a
id="x34-710004.16"></a>psb_geinv &#8212; Entrywise Inversion</h4> id="x34-710004.16"></a>psb_geinv &#8212; Entrywise Inversion</h4>
<!--l. 1384--><p class="noindent" >This function computes the entrywise inverse of a vector <span <!--l. 1386--><p class="noindent" >This function computes the entrywise inverse of a vector <span
class="cmmi-10">x </span>and puts it into class="cmmi-10">x </span>and puts it into
<span <span
class="cmmi-10">y</span> class="cmmi-10">y</span>
@ -25,26 +25,38 @@ class="cmmi-10">y</span>
<img <img
src="userhtml24x.png" alt="&#x2215; &#x2190; 1&#x2215;x(i). src="userhtml24x.png" alt="&#x2215; &#x2190; 1&#x2215;x(i).
" class="math-display" ></center> " class="math-display" ></center>
<!--l. 1386--><p class="nopar" > <!--l. 1388--><p class="nopar" >
<!--l. 1390--><p class="indent" > <span class="lstinline"></span><span
class="cmtt-10">psb_geinv</span><span
class="cmtt-10">(</span><span
class="cmtt-10">x</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">y</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">desc_a</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">info</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">[</span><span
class="cmtt-10">flag</span><span
class="cmtt-10">)</span>
<div class="table">
<div class="verbatim" id="verbatim-55"> <!--l. 1393--><p class="indent" > <a
psb_geinv(x,&#x00A0;y,&#x00A0;desc_a,&#x00A0;info,&#x00A0;[flag) id="x34-71001r16"></a><hr class="float"><div class="float"
</div>
<!--l. 1390--><p class="nopar" > <div class="table">
<!--l. 1392--><p class="indent" > <a
id="x34-7100116"></a><hr class="float"><div class="float"
> >
<div class="center" <div class="center"
> >
<!--l. 1393--><p class="noindent" > <!--l. 1394--><p class="noindent" >
<div class="tabular"> <table id="TBL-16" class="tabular" <div class="tabular"> <table id="TBL-16" class="tabular"
cellspacing="0" cellpadding="0" cellspacing="0" cellpadding="0"
><colgroup id="TBL-16-1g"><col ><colgroup id="TBL-16-1g"><col
@ -81,7 +93,7 @@ class="hline"><td><hr></td><td><hr></td></tr><tr
class="td11"> </td></tr></table></div></div> class="td11"> </td></tr></table></div></div>
<br /> <div class="caption" <br /> <div class="caption"
><span class="id">Table&#x00A0;16: </span><span ><span class="id">Table&#x00A0;16: </span><span
class="content">Data types</span></div><!--tex4ht:label?: x34-7100116 --> class="content">Data types</span></div><!--tex4ht:label?: x34-71001r16 -->
@ -113,7 +125,7 @@ class="cmtt-10">_T</span><span
class="cmtt-10">_vect</span><span class="cmtt-10">_vect</span><span
class="cmtt-10">_type</span></a>&#x00A0;containing numbers of class="cmtt-10">_type</span></a>&#x00A0;containing numbers of
type specified in Table&#x00A0;<a type specified in Table&#x00A0;<a
href="userhtmlsu11.html#x20-570012">2<!--tex4ht:ref: tab:f90dot --></a>. href="userhtmlsu11.html#x20-57001r2">2<!--tex4ht:ref: tab:f90dot --></a>.
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">desc</span><span class="cmbx-10">desc</span><span
@ -142,8 +154,11 @@ class="cmbx-10">local </span><br
class="newline" />Type: <span class="newline" />Type: <span
class="cmbx-10">optional </span>Intent: <span class="cmbx-10">optional </span>Intent: <span
class="cmbx-10">in</span>.<br class="cmbx-10">in</span>.<br
class="newline" />Specified as: the logical value <span class="obeylines-h"><span class="verb"><span class="newline" />Specified as: the logical value <span class="lstinline"></span><span
class="cmtt-10">flag=.true.</span></span></span> class="cmtt-10">flag</span><span
class="cmtt-10">=.</span><span
class="cmtt-10">true</span><span
class="cmtt-10">.</span>
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">On Return</span> </dt><dd class="cmbx-10">On Return</span> </dt><dd
@ -166,7 +181,7 @@ class="cmtt-10">_T</span><span
class="cmtt-10">_vect</span><span class="cmtt-10">_vect</span><span
class="cmtt-10">_type</span></a>&#x00A0;containing numbers of class="cmtt-10">_type</span></a>&#x00A0;containing numbers of
the type indicated in Table&#x00A0;<a the type indicated in Table&#x00A0;<a
href="#x34-7100116">16<!--tex4ht:ref: tab:f90inv --></a>. href="#x34-71001r16">16<!--tex4ht:ref: tab:f90inv --></a>.
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">info</span> </dt><dd class="cmbx-10">info</span> </dt><dd

@ -31,7 +31,7 @@ class="description">is a global dense submatrix.</dd></dl>
<!--l. 23--><p class="indent" > <a <!--l. 23--><p class="indent" > <a
id="x36-7300117"></a><hr class="float"><div class="float" id="x36-73001r17"></a><hr class="float"><div class="float"
> >
@ -78,15 +78,13 @@ class="hline"><td><hr></td><td><hr></td></tr><tr
class="td11"> </td></tr></table></div></div> class="td11"> </td></tr></table></div></div>
<br /> <div class="caption" <br /> <div class="caption"
><span class="id">Table&#x00A0;17: </span><span ><span class="id">Table&#x00A0;17: </span><span
class="content">Data types</span></div><!--tex4ht:label?: x36-7300117 --> class="content">Data types</span></div><!--tex4ht:label?: x36-73001r17 -->
</div><hr class="endfloat" /> </div><hr class="endfloat" />
</div> </div>
<!--l. 40--> <!--l. 40--><p class="noindent" ><span class="lstinline"></span><span
<div class="lstlisting" id="listing-5"><span class="label"><a
id="x36-73002r1"></a></span><span
class="cmtt-10">call</span><span class="cmtt-10">call</span><span
class="cmtt-10">&#x00A0;</span><span class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_halo</span><span class="cmtt-10">psb_halo</span><span
@ -98,9 +96,8 @@ class="cmtt-10">desc_a</span><span
class="cmtt-10">,</span><span class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">info</span><span class="cmtt-10">info</span><span
class="cmtt-10">)</span><span class="cmtt-10">)</span><br
class="cmtt-10">&#x00A0;</span><br /><span class="label"><a class="newline" /><span class="lstinline"></span><span
id="x36-73003r2"></a></span><span
class="cmtt-10">call</span><span class="cmtt-10">call</span><span
class="cmtt-10">&#x00A0;</span><span class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_halo</span><span class="cmtt-10">psb_halo</span><span
@ -119,8 +116,6 @@ class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">data</span><span class="cmtt-10">data</span><span
class="cmtt-10">)</span> class="cmtt-10">)</span>
</div>
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">Type:</span> </dt><dd class="cmbx-10">Type:</span> </dt><dd
@ -147,7 +142,7 @@ class="cmtt-10">psb</span><span
class="cmtt-10">_T</span><span class="cmtt-10">_T</span><span
class="cmtt-10">_vect</span><span class="cmtt-10">_vect</span><span
class="cmtt-10">_type</span></a>&#x00A0;containing numbers of type specified in Table&#x00A0;<a class="cmtt-10">_type</span></a>&#x00A0;containing numbers of type specified in Table&#x00A0;<a
href="#x36-7300117">17<!--tex4ht:ref: tab:f90halo --></a>. href="#x36-73001r17">17<!--tex4ht:ref: tab:f90halo --></a>.
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">desc</span><span class="cmbx-10">desc</span><span
@ -185,12 +180,12 @@ class="cmbx-10">global </span><br
class="newline" />Type: <span class="newline" />Type: <span
class="cmbx-10">optional </span><br class="cmbx-10">optional </span><br
class="newline" />Specified class="newline" />Specified
as: an integer. Values:<span class="obeylines-h"><span class="verb"><span as: an integer. Values:<span class="lstinline"></span><span
class="cmtt-10">psb_comm_halo_</span></span></span>,<span class="obeylines-h"><span class="verb"><span class="cmtt-10">psb_comm_halo_</span>,<span class="lstinline"></span><span
class="cmtt-10">psb_comm_mov_</span></span></span>, <span class="obeylines-h"><span class="verb"><span class="cmtt-10">psb_comm_mov_</span>, <span class="lstinline"></span><span
class="cmtt-10">psb_comm_ext_</span></span></span>, class="cmtt-10">psb_comm_ext_</span>,
default: <span class="obeylines-h"><span class="verb"><span default: <span class="lstinline"></span><span
class="cmtt-10">psb_comm_halo_</span></span></span>. Chooses the index list on which to base the data class="cmtt-10">psb_comm_halo_</span>. Chooses the index list on which to base the data
exchange. exchange.
</dd><dt class="description"> </dd><dt class="description">
<span <span
@ -209,7 +204,10 @@ class="newline" />Intent: <span
class="cmbx-10">inout</span>.<br class="cmbx-10">inout</span>.<br
class="newline" />Returned as: a rank one or two array containing numbers of type specified class="newline" />Returned as: a rank one or two array containing numbers of type specified
in Table&#x00A0;<a in Table&#x00A0;<a
href="#x36-7300117">17<!--tex4ht:ref: tab:f90halo --></a>. href="#x36-73001r17">17<!--tex4ht:ref: tab:f90halo --></a>.
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">info</span> </dt><dd class="cmbx-10">info</span> </dt><dd
@ -222,41 +220,41 @@ class="cmbx-10">required </span><br
class="newline" />Intent: <span class="newline" />Intent: <span
class="cmbx-10">out</span>.<br class="cmbx-10">out</span>.<br
class="newline" />An integer value that contains an error code.</dd></dl> class="newline" />An integer value that contains an error code.</dd></dl>
<!--l. 87--><p class="noindent" ><hr class="figure"><div class="figure" <!--l. 85--><p class="noindent" ><hr class="figure"><div class="figure"
><a ><a
id="x36-730047"></a> id="x36-73002r3"></a>
<div class="center" <div class="center"
> >
<!--l. 88--><p class="noindent" > <!--l. 86--><p class="noindent" >
<!--l. 90--><p class="noindent" ><img <!--l. 88--><p class="noindent" ><img
src="try8x8.png" alt="PIC" src="try8x8.png" alt="PIC"
></div> ></div>
<br /> <div class="caption" <br /> <div class="caption"
><span class="id">Figure&#x00A0;7: </span><span ><span class="id">Figure&#x00A0;3: </span><span
class="content">Sample discretization mesh.</span></div><!--tex4ht:label?: x36-730047 --> class="content">Sample discretization mesh.</span></div><!--tex4ht:label?: x36-73002r3 -->
<!--l. 96--><p class="indent" > </div><hr class="endfigure"> <!--l. 94--><p class="indent" > </div><hr class="endfigure">
<!--l. 98--><p class="noindent" ><span <!--l. 96--><p class="noindent" ><span
class="cmbx-12">Usage Example </span>Consider the discretization mesh depicted in fig.&#x00A0;<a class="cmbx-12">Usage Example </span>Consider the discretization mesh depicted in fig.&#x00A0;<a
href="#x36-730047">7<!--tex4ht:ref: fig:try8x8 --></a>, partitioned href="#x36-73002r3">3<!--tex4ht:ref: fig:try8x8 --></a>, partitioned
among two processes as shown by the dashed line; the data distribution is such that among two processes as shown by the dashed line; the data distribution is such that
each process will own 32 entries in the index space, with a halo made of 8 entries each process will own 32 entries in the index space, with a halo made of 8 entries
placed at local indices 33 through 40. If process 0 assigns an initial value of 1 to placed at local indices 33 through 40. If process 0 assigns an initial value of 1 to
its entries in the <span its entries in the <span
class="cmmi-10">x </span>vector, and process 1 assigns a value of 2, then after class="cmmi-10">x </span>vector, and process 1 assigns a value of 2, then after
a call to <span class="obeylines-h"><span class="verb"><span a call to <span class="lstinline"></span><span
class="cmtt-10">psb_halo</span></span></span> the contents of the local vectors will be the following: class="cmtt-10">psb_halo</span> the contents of the local vectors will be the following:
<div class="table"> <div class="table">
<!--l. 108--><p class="indent" > <hr class="float"><div class="float" <!--l. 106--><p class="indent" > <hr class="float"><div class="float"
> >
<div class="center" <div class="center"
> >
<!--l. 108--><p class="noindent" > <!--l. 106--><p class="noindent" >
<div class="tabular"> <table id="TBL-18" class="tabular" <div class="tabular"> <table id="TBL-18" class="tabular"
cellspacing="0" cellpadding="0" cellspacing="0" cellpadding="0"
><colgroup id="TBL-18-1g"><col ><colgroup id="TBL-18-1g"><col
@ -850,10 +848,10 @@ class="td11"> </td></tr></table></div></div>
<!--l. 164--><div class="crosslinks"><p class="noindent">[<a <!--l. 162--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlse6.html" >next</a>] [<a href="userhtmlse6.html" >next</a>] [<a
href="userhtmlsu26.html" >front</a>] [<a href="userhtmlsu26.html" >front</a>] [<a
href="userhtmlsu28.html#userhtmlsu29.html" >up</a>] </p></div> href="userhtmlsu28.html#userhtmlsu29.html" >up</a>] </p></div>
<!--l. 164--><p class="indent" > <a <!--l. 162--><p class="indent" > <a
id="tailuserhtmlsu26.html"></a> id="tailuserhtmlsu26.html"></a>
</body></html> </body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 164--><div class="crosslinks"><p class="noindent">[<a <!--l. 162--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu30.html" >next</a>] [<a href="userhtmlsu30.html" >next</a>] [<a
href="userhtmlsu26.html" >prev</a>] [<a href="userhtmlsu26.html" >prev</a>] [<a
href="userhtmlsu26.html#tailuserhtmlsu26.html" >prev-tail</a>] [<a href="userhtmlsu26.html#tailuserhtmlsu26.html" >prev-tail</a>] [<a
@ -18,12 +18,12 @@ href="userhtmlsu25.html#tailuserhtmlsu27.html">tail</a>] [<a
href="userhtmlsu28.html#userhtmlse6.html" >up</a>] </p></div> href="userhtmlsu28.html#userhtmlse6.html" >up</a>] </p></div>
<h4 class="subsectionHead"><span class="titlemark">5.2 </span> <a <h4 class="subsectionHead"><span class="titlemark">5.2 </span> <a
id="x37-740005.2"></a>psb_ovrl &#8212; Overlap Update</h4> id="x37-740005.2"></a>psb_ovrl &#8212; Overlap Update</h4>
<!--l. 166--><p class="noindent" >These subroutines applies an overlap operator to the input vector: <!--l. 164--><p class="noindent" >These subroutines applies an overlap operator to the input vector:
<center class="par-math-display" > <center class="par-math-display" >
<img <img
src="userhtml26x.png" alt="x &#x2190; Qx src="userhtml26x.png" alt="x &#x2190; Qx
" class="par-math-display" ></center> " class="par-math-display" ></center>
<!--l. 168--><p class="nopar" > where: <!--l. 166--><p class="nopar" > where:
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmmi-10">x</span> </dt><dd class="cmmi-10">x</span> </dt><dd
@ -41,15 +41,15 @@ class="cmmi-7">T</span></sup>.</dd></dl>
<!--l. 176--><p class="indent" > <a <!--l. 174--><p class="indent" > <a
id="x37-7400118"></a><hr class="float"><div class="float" id="x37-74001r18"></a><hr class="float"><div class="float"
> >
<div class="center" <div class="center"
> >
<!--l. 177--><p class="noindent" > <!--l. 175--><p class="noindent" >
<div class="tabular"> <table id="TBL-19" class="tabular" <div class="tabular"> <table id="TBL-19" class="tabular"
cellspacing="0" cellpadding="0" cellspacing="0" cellpadding="0"
><colgroup id="TBL-19-1g"><col ><colgroup id="TBL-19-1g"><col
@ -83,15 +83,13 @@ class="hline"><td><hr></td><td><hr></td></tr><tr
class="td11"> </td></tr></table></div></div> class="td11"> </td></tr></table></div></div>
<br /> <div class="caption" <br /> <div class="caption"
><span class="id">Table&#x00A0;18: </span><span ><span class="id">Table&#x00A0;18: </span><span
class="content">Data types</span></div><!--tex4ht:label?: x37-7400118 --> class="content">Data types</span></div><!--tex4ht:label?: x37-74001r18 -->
</div><hr class="endfloat" /> </div><hr class="endfloat" />
</div> </div>
<!--l. 192--> <!--l. 190--><p class="noindent" ><span class="lstinline"></span><span
<div class="lstlisting" id="listing-6"><span class="label"><a
id="x37-74002r1"></a></span><span
class="cmtt-10">call</span><span class="cmtt-10">call</span><span
class="cmtt-10">&#x00A0;</span><span class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_ovrl</span><span class="cmtt-10">psb_ovrl</span><span
@ -103,9 +101,8 @@ class="cmtt-10">desc_a</span><span
class="cmtt-10">,</span><span class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">info</span><span class="cmtt-10">info</span><span
class="cmtt-10">)</span><span class="cmtt-10">)</span><br
class="cmtt-10">&#x00A0;</span><br /><span class="label"><a class="newline" /><span class="lstinline"></span><span
id="x37-74003r2"></a></span><span
class="cmtt-10">call</span><span class="cmtt-10">call</span><span
class="cmtt-10">&#x00A0;</span><span class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_ovrl</span><span class="cmtt-10">psb_ovrl</span><span
@ -128,8 +125,6 @@ class="cmtt-10">work</span><span
class="cmtt-10">=</span><span class="cmtt-10">=</span><span
class="cmtt-10">work</span><span class="cmtt-10">work</span><span
class="cmtt-10">)</span> class="cmtt-10">)</span>
</div>
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">Type:</span> </dt><dd class="cmbx-10">Type:</span> </dt><dd
@ -156,7 +151,7 @@ class="cmtt-10">psb</span><span
class="cmtt-10">_T</span><span class="cmtt-10">_T</span><span
class="cmtt-10">_vect</span><span class="cmtt-10">_vect</span><span
class="cmtt-10">_type</span></a>&#x00A0;containing numbers of type specified in Table&#x00A0;<a class="cmtt-10">_type</span></a>&#x00A0;containing numbers of type specified in Table&#x00A0;<a
href="#x37-7400118">18<!--tex4ht:ref: tab:f90ovrl --></a>. href="#x37-74001r18">18<!--tex4ht:ref: tab:f90ovrl --></a>.
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">desc</span><span class="cmbx-10">desc</span><span
@ -202,7 +197,7 @@ class="cmmi-10">P</span><sub><span
class="cmmi-7">a</span></sub><span class="cmmi-7">a</span></sub><span
class="cmmi-10">P</span><sup><span class="cmmi-10">P</span><sup><span
class="cmmi-7">T</span></sup>;</dd></dl> class="cmmi-7">T</span></sup>;</dd></dl>
<!--l. 219--><p class="noindent" >Scope: <span <!--l. 215--><p class="noindent" >Scope: <span
class="cmbx-10">global </span><br class="cmbx-10">global </span><br
class="newline" />Intent: <span class="newline" />Intent: <span
class="cmbx-10">in</span>.<br class="cmbx-10">in</span>.<br
@ -226,13 +221,13 @@ class="newline" />Intent: <span
class="cmbx-10">inout</span>.<br class="cmbx-10">inout</span>.<br
class="newline" />Specified as: a one dimensional array of the same type of <span class="newline" />Specified as: a one dimensional array of the same type of <span
class="cmmi-10">x</span>. class="cmmi-10">x</span>.
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">On Return</span> </dt><dd class="cmbx-10">On Return</span> </dt><dd
class="description"> class="description">
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">x</span> </dt><dd class="cmbx-10">x</span> </dt><dd
@ -246,7 +241,7 @@ class="newline" />Intent: <span
class="cmbx-10">inout</span>.<br class="cmbx-10">inout</span>.<br
class="newline" />Specified as: an array of rank one or two containing numbers of type specified class="newline" />Specified as: an array of rank one or two containing numbers of type specified
in Table&#x00A0;<a in Table&#x00A0;<a
href="#x37-7400118">18<!--tex4ht:ref: tab:f90ovrl --></a>. href="#x37-74001r18">18<!--tex4ht:ref: tab:f90ovrl --></a>.
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">info</span> </dt><dd class="cmbx-10">info</span> </dt><dd
@ -258,15 +253,15 @@ class="cmbx-10">required </span><br
class="newline" />Intent: <span class="newline" />Intent: <span
class="cmbx-10">out</span>.<br class="cmbx-10">out</span>.<br
class="newline" />An integer value; 0 means no error has been detected.</dd></dl> class="newline" />An integer value; 0 means no error has been detected.</dd></dl>
<!--l. 246--><p class="noindent" ><span <!--l. 242--><p class="noindent" ><span
class="cmbx-12">Notes</span> class="cmbx-12">Notes</span>
<ol class="enumerate1" > <ol class="enumerate1" >
<li <li
class="enumerate" id="x37-74005x1">If there is no overlap in the data distribution associated with the class="enumerate" id="x37-74003x1">If there is no overlap in the data distribution associated with the
descriptor, no operations are performed; descriptor, no operations are performed;
</li> </li>
<li <li
class="enumerate" id="x37-74007x2">The operator <span class="enumerate" id="x37-74005x2">The operator <span
class="cmmi-10">P</span><sup><span class="cmmi-10">P</span><sup><span
class="cmmi-7">T</span></sup> performs the reduction sum of overlap elements; it is a class="cmmi-7">T</span></sup> performs the reduction sum of overlap elements; it is a
&#8220;prolongation&#8221; operator <span &#8220;prolongation&#8221; operator <span
@ -275,63 +270,63 @@ class="cmmi-7">T</span></sup> that replicates overlap elements, accounting
for the physical replication of data; for the physical replication of data;
</li> </li>
<li <li
class="enumerate" id="x37-74009x3">The operator <span class="enumerate" id="x37-74007x3">The operator <span
class="cmmi-10">P</span><sub><span class="cmmi-10">P</span><sub><span
class="cmmi-7">a</span></sub> performs a scaling on the overlap elements by the class="cmmi-7">a</span></sub> performs a scaling on the overlap elements by the
amount of replication; thus, when combined with the reduction operator, amount of replication; thus, when combined with the reduction operator,
it implements the average of replicated elements over all of their instances.</li></ol> it implements the average of replicated elements over all of their instances.</li></ol>
<!--l. 265--><p class="indent" > <hr class="figure"><div class="figure" <!--l. 261--><p class="indent" > <hr class="figure"><div class="figure"
> >
<a <a
id="x37-740108"></a> id="x37-74008r4"></a>
<div class="center" <div class="center"
> >
<!--l. 266--><p class="noindent" > <!--l. 262--><p class="noindent" >
<!--l. 268--><p class="noindent" ><img <!--l. 264--><p class="noindent" ><img
src="try8x8_ov.png" alt="PIC" src="try8x8_ov.png" alt="PIC"
></div> ></div>
<br /> <div class="caption" <br /> <div class="caption"
><span class="id">Figure&#x00A0;8: </span><span ><span class="id">Figure&#x00A0;4: </span><span
class="content">Sample discretization mesh.</span></div><!--tex4ht:label?: x37-740108 --> class="content">Sample discretization mesh.</span></div><!--tex4ht:label?: x37-74008r4 -->
<!--l. 274--><p class="indent" > </div><hr class="endfigure"> <!--l. 270--><p class="indent" > </div><hr class="endfigure">
<!--l. 275--><p class="noindent" ><span <!--l. 271--><p class="noindent" ><span
class="cmbx-12">Example of use </span>Consider the discretization mesh depicted in fig.&#x00A0;<a class="cmbx-12">Example of use </span>Consider the discretization mesh depicted in fig.&#x00A0;<a
href="#x37-740108">8<!--tex4ht:ref: fig:try8x8_ov --></a>, partitioned href="#x37-74008r4">4<!--tex4ht:ref: fig:try8x8_ov --></a>, partitioned
among two processes as shown by the dashed lines, with an overlap of 1 extra layer among two processes as shown by the dashed lines, with an overlap of 1 extra layer
with respect to the partition of fig.&#x00A0;<a with respect to the partition of fig.&#x00A0;<a
href="userhtmlsu26.html#x36-730047">7<!--tex4ht:ref: fig:try8x8 --></a>; the data distribution is such that href="userhtmlsu26.html#x36-73002r3">3<!--tex4ht:ref: fig:try8x8 --></a>; the data distribution is such that
each process will own 40 entries in the index space, with an overlap of 16 each process will own 40 entries in the index space, with an overlap of 16
entries placed at local indices 25 through 40; the halo will run from local entries placed at local indices 25 through 40; the halo will run from local
index 41 through local index 48.. If process 0 assigns an initial value of 1 to index 41 through local index 48.. If process 0 assigns an initial value of 1 to
its entries in the <span its entries in the <span
class="cmmi-10">x </span>vector, and process 1 assigns a value of 2, then after a class="cmmi-10">x </span>vector, and process 1 assigns a value of 2, then after a
call to <span class="obeylines-h"><span class="verb"><span call to <span class="lstinline"></span><span
class="cmtt-10">psb_ovrl</span></span></span> with <span class="obeylines-h"><span class="verb"><span class="cmtt-10">psb_ovrl</span> with <span class="lstinline"></span><span
class="cmtt-10">psb_avg_</span></span></span> and a call to <span class="obeylines-h"><span class="verb"><span class="cmtt-10">psb_avg_</span> and a call to <span class="lstinline"></span><span
class="cmtt-10">psb_halo_</span></span></span> the contents of class="cmtt-10">psb_halo_</span> the contents of
the local vectors will be the following (showing a transition among the two the local vectors will be the following (showing a transition among the two
subdomains) subdomains)
<div class="table"> <div class="table">
<!--l. 289--><p class="indent" > <hr class="float"><div class="float" <!--l. 285--><p class="indent" > <hr class="float"><div class="float"
> >
<div class="center" <div class="center"
> >
<!--l. 289--><p class="noindent" > <!--l. 285--><p class="noindent" >
<div class="tabular"> <table id="TBL-20" class="tabular" <div class="tabular"> <table id="TBL-20" class="tabular"
cellspacing="0" cellpadding="0" cellspacing="0" cellpadding="0"
><colgroup id="TBL-20-1g"><col ><colgroup id="TBL-20-1g"><col
@ -1035,12 +1030,12 @@ class="td11"> </td></tr></table></div></div>
<!--l. 355--><div class="crosslinks"><p class="noindent">[<a <!--l. 351--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu30.html" >next</a>] [<a href="userhtmlsu30.html" >next</a>] [<a
href="userhtmlsu26.html" >prev</a>] [<a href="userhtmlsu26.html" >prev</a>] [<a
href="userhtmlsu26.html#tailuserhtmlsu26.html" >prev-tail</a>] [<a href="userhtmlsu26.html#tailuserhtmlsu26.html" >prev-tail</a>] [<a
href="userhtmlsu27.html" >front</a>] [<a href="userhtmlsu27.html" >front</a>] [<a
href="userhtmlsu28.html#userhtmlse6.html" >up</a>] </p></div> href="userhtmlsu28.html#userhtmlse6.html" >up</a>] </p></div>
<!--l. 355--><p class="indent" > <a <!--l. 351--><p class="indent" > <a
id="tailuserhtmlsu27.html"></a> id="tailuserhtmlsu27.html"></a>
</body></html> </body></html>

@ -10,7 +10,7 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 355--><div class="crosslinks"><p class="noindent">[<a <!--l. 351--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu31.html" >next</a>] [<a href="userhtmlsu31.html" >next</a>] [<a
href="userhtmlsu27.html" >prev</a>] [<a href="userhtmlsu27.html" >prev</a>] [<a
href="userhtmlsu27.html#tailuserhtmlsu27.html" >prev-tail</a>] [<a href="userhtmlsu27.html#tailuserhtmlsu27.html" >prev-tail</a>] [<a
@ -18,13 +18,13 @@ href="userhtmlse5.html#tailuserhtmlsu28.html">tail</a>] [<a
href="userhtmlsu28.html#userhtmlsu30.html" >up</a>] </p></div> href="userhtmlsu28.html#userhtmlsu30.html" >up</a>] </p></div>
<h4 class="subsectionHead"><span class="titlemark">5.3 </span> <a <h4 class="subsectionHead"><span class="titlemark">5.3 </span> <a
id="x38-750005.3"></a>psb_gather &#8212; Gather Global Dense Matrix</h4> id="x38-750005.3"></a>psb_gather &#8212; Gather Global Dense Matrix</h4>
<!--l. 357--><p class="noindent" >These subroutines collect the portions of global dense matrix distributed over all <!--l. 353--><p class="noindent" >These subroutines collect the portions of global dense matrix distributed over all
process into one single array stored on one process. process into one single array stored on one process.
<center class="par-math-display" > <center class="par-math-display" >
<img <img
src="userhtml27x.png" alt="glob-x &#x2190; collect(loc-xi) src="userhtml27x.png" alt="glob-x &#x2190; collect(loc-xi)
" class="par-math-display" ></center> " class="par-math-display" ></center>
<!--l. 361--><p class="nopar" > where: <!--l. 357--><p class="nopar" > where:
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmmi-10">glob</span>_<span class="cmmi-10">glob</span>_<span
@ -51,15 +51,15 @@ class="description">is the collect function.</dd></dl>
<!--l. 370--><p class="indent" > <a <!--l. 366--><p class="indent" > <a
id="x38-7500119"></a><hr class="float"><div class="float" id="x38-75001r19"></a><hr class="float"><div class="float"
> >
<div class="center" <div class="center"
> >
<!--l. 371--><p class="noindent" > <!--l. 367--><p class="noindent" >
<div class="tabular"> <table id="TBL-21" class="tabular" <div class="tabular"> <table id="TBL-21" class="tabular"
cellspacing="0" cellpadding="0" cellspacing="0" cellpadding="0"
><colgroup id="TBL-21-1g"><col ><colgroup id="TBL-21-1g"><col
@ -100,15 +100,13 @@ class="hline"><td><hr></td><td><hr></td></tr><tr
class="td11"> </td></tr></table></div></div> class="td11"> </td></tr></table></div></div>
<br /> <div class="caption" <br /> <div class="caption"
><span class="id">Table&#x00A0;19: </span><span ><span class="id">Table&#x00A0;19: </span><span
class="content">Data types</span></div><!--tex4ht:label?: x38-7500119 --> class="content">Data types</span></div><!--tex4ht:label?: x38-75001r19 -->
</div><hr class="endfloat" /> </div><hr class="endfloat" />
</div> </div>
<!--l. 387--> <!--l. 383--><p class="noindent" ><span class="lstinline"></span><span
<div class="lstlisting" id="listing-7"><span class="label"><a
id="x38-75002r1"></a></span><span
class="cmtt-10">call</span><span class="cmtt-10">call</span><span
class="cmtt-10">&#x00A0;</span><span class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_gather</span><span class="cmtt-10">psb_gather</span><span
@ -126,9 +124,8 @@ class="cmtt-10">info</span><span
class="cmtt-10">,</span><span class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">root</span><span class="cmtt-10">root</span><span
class="cmtt-10">)</span><span class="cmtt-10">)</span>
class="cmtt-10">&#x00A0;</span><br /><span class="label"><a <span class="lstinline"></span><span
id="x38-75003r2"></a></span><span
class="cmtt-10">call</span><span class="cmtt-10">call</span><span
class="cmtt-10">&#x00A0;</span><span class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_gather</span><span class="cmtt-10">psb_gather</span><span
@ -147,8 +144,6 @@ class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">root</span><span class="cmtt-10">root</span><span
class="cmtt-10">)</span> class="cmtt-10">)</span>
</div>
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">Type:</span> </dt><dd class="cmbx-10">Type:</span> </dt><dd
@ -177,7 +172,7 @@ class="cmtt-10">psb</span><span
class="cmtt-10">_T</span><span class="cmtt-10">_T</span><span
class="cmtt-10">_vect</span><span class="cmtt-10">_vect</span><span
class="cmtt-10">_type</span></a>&#x00A0;indicated in Table&#x00A0;<a class="cmtt-10">_type</span></a>&#x00A0;indicated in Table&#x00A0;<a
href="#x38-7500119">19<!--tex4ht:ref: tab:gather --></a>. href="#x38-75001r19">19<!--tex4ht:ref: tab:gather --></a>.
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">desc</span><span class="cmbx-10">desc</span><span
@ -230,8 +225,8 @@ class="newline" />Type: <span
class="cmbx-10">required</span><br class="cmbx-10">required</span><br
class="newline" />Intent: <span class="newline" />Intent: <span
class="cmbx-10">out</span>.<br class="cmbx-10">out</span>.<br
class="newline" />Specified as: a rank one or two array with the <span class="obeylines-h"><span class="verb"><span class="newline" />Specified as: a rank one or two array with the <span class="lstinline"></span><span
class="cmtt-10">ALLOCATABLE</span></span></span> attribute. class="cmtt-10">ALLOCATABLE</span> attribute.
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">info</span> </dt><dd class="cmbx-10">info</span> </dt><dd
@ -249,12 +244,12 @@ class="newline" />An integer value; 0 means no error has been detected.</dd></dl
<!--l. 456--><div class="crosslinks"><p class="noindent">[<a <!--l. 451--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu31.html" >next</a>] [<a href="userhtmlsu31.html" >next</a>] [<a
href="userhtmlsu27.html" >prev</a>] [<a href="userhtmlsu27.html" >prev</a>] [<a
href="userhtmlsu27.html#tailuserhtmlsu27.html" >prev-tail</a>] [<a href="userhtmlsu27.html#tailuserhtmlsu27.html" >prev-tail</a>] [<a
href="userhtmlsu28.html" >front</a>] [<a href="userhtmlsu28.html" >front</a>] [<a
href="userhtmlsu28.html#userhtmlsu30.html" >up</a>] </p></div> href="userhtmlsu28.html#userhtmlsu30.html" >up</a>] </p></div>
<!--l. 456--><p class="indent" > <a <!--l. 451--><p class="indent" > <a
id="tailuserhtmlsu28.html"></a> id="tailuserhtmlsu28.html"></a>
</body></html> </body></html>

@ -10,20 +10,20 @@
<link rel="stylesheet" type="text/css" href="userhtml.css"> <link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body </head><body
> >
<!--l. 456--><div class="crosslinks"><p class="noindent">[<a <!--l. 451--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu28.html" >prev</a>] [<a href="userhtmlsu28.html" >prev</a>] [<a
href="userhtmlsu28.html#tailuserhtmlsu28.html" >prev-tail</a>] [<a href="userhtmlsu28.html#tailuserhtmlsu28.html" >prev-tail</a>] [<a
href="userhtmlsu26.html#tailuserhtmlsu29.html">tail</a>] [<a href="userhtmlsu26.html#tailuserhtmlsu29.html">tail</a>] [<a
href="userhtmlsu28.html#userhtmlsu31.html" >up</a>] </p></div> href="userhtmlsu28.html#userhtmlsu31.html" >up</a>] </p></div>
<h4 class="subsectionHead"><span class="titlemark">5.4 </span> <a <h4 class="subsectionHead"><span class="titlemark">5.4 </span> <a
id="x39-760005.4"></a>psb_scatter &#8212; Scatter Global Dense Matrix</h4> id="x39-760005.4"></a>psb_scatter &#8212; Scatter Global Dense Matrix</h4>
<!--l. 458--><p class="noindent" >These subroutines scatters the portions of global dense matrix owned by a process to <!--l. 453--><p class="noindent" >These subroutines scatters the portions of global dense matrix owned by a process to
all the processes in the processes grid. all the processes in the processes grid.
<center class="par-math-display" > <center class="par-math-display" >
<img <img
src="userhtml28x.png" alt="loc-xi &#x2190; scatter(glob-x) src="userhtml28x.png" alt="loc-xi &#x2190; scatter(glob-x)
" class="par-math-display" ></center> " class="par-math-display" ></center>
<!--l. 461--><p class="nopar" > where: <!--l. 456--><p class="nopar" > where:
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmmi-10">glob</span>_<span class="cmmi-10">glob</span>_<span
@ -50,15 +50,15 @@ class="description">is the scatter function.</dd></dl>
<!--l. 470--><p class="indent" > <a <!--l. 465--><p class="indent" > <a
id="x39-7600120"></a><hr class="float"><div class="float" id="x39-76001r20"></a><hr class="float"><div class="float"
> >
<div class="center" <div class="center"
> >
<!--l. 471--><p class="noindent" > <!--l. 466--><p class="noindent" >
<div class="tabular"> <table id="TBL-22" class="tabular" <div class="tabular"> <table id="TBL-22" class="tabular"
cellspacing="0" cellpadding="0" cellspacing="0" cellpadding="0"
><colgroup id="TBL-22-1g"><col ><colgroup id="TBL-22-1g"><col
@ -99,15 +99,13 @@ class="hline"><td><hr></td><td><hr></td></tr><tr
class="td11"> </td></tr></table></div></div> class="td11"> </td></tr></table></div></div>
<br /> <div class="caption" <br /> <div class="caption"
><span class="id">Table&#x00A0;20: </span><span ><span class="id">Table&#x00A0;20: </span><span
class="content">Data types</span></div><!--tex4ht:label?: x39-7600120 --> class="content">Data types</span></div><!--tex4ht:label?: x39-76001r20 -->
</div><hr class="endfloat" /> </div><hr class="endfloat" />
</div> </div>
<!--l. 487--> <!--l. 482--><p class="indent" > <span class="lstinline"></span><span
<div class="lstlisting" id="listing-8"><span class="label"><a
id="x39-76002r1"></a></span><span
class="cmtt-10">call</span><span class="cmtt-10">call</span><span
class="cmtt-10">&#x00A0;</span><span class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_scatter</span><span class="cmtt-10">psb_scatter</span><span
@ -129,8 +127,6 @@ class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">mold</span><span class="cmtt-10">mold</span><span
class="cmtt-10">)</span> class="cmtt-10">)</span>
</div>
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">Type:</span> </dt><dd class="cmbx-10">Type:</span> </dt><dd
@ -186,8 +182,8 @@ class="cmsy-10">&#x2264; </span><span
class="cmmi-10">root </span><span class="cmmi-10">root </span><span
class="cmsy-10">&#x2264; </span><span class="cmsy-10">&#x2264; </span><span
class="cmmi-10">np </span><span class="cmmi-10">np </span><span
class="cmsy-10">- </span>1, default <span class="obeylines-h"><span class="verb"><span class="cmsy-10">- </span>1, default <span class="lstinline"></span><span
class="cmtt-10">psb_root_</span></span></span>, class="cmtt-10">psb_root_</span>,
i.e. process 0. i.e. process 0.
</dd><dt class="description"> </dd><dt class="description">
<span <span
@ -236,7 +232,10 @@ class="cmtt-10">psb</span><span
class="cmtt-10">_T</span><span class="cmtt-10">_T</span><span
class="cmtt-10">_vect</span><span class="cmtt-10">_vect</span><span
class="cmtt-10">_type</span></a>&#x00A0;containing numbers of the type indicated in Table&#x00A0;<a class="cmtt-10">_type</span></a>&#x00A0;containing numbers of the type indicated in Table&#x00A0;<a
href="#x39-7600120">20<!--tex4ht:ref: tab:scatter --></a>. href="#x39-76001r20">20<!--tex4ht:ref: tab:scatter --></a>.
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">info</span> </dt><dd class="cmbx-10">info</span> </dt><dd

@ -19,7 +19,7 @@ href="userhtmlsu32.html#userhtmlsu33.html" >up</a>] </p></div>
<div class="verbatim" id="verbatim-56"> <div class="verbatim" id="verbatim-33">
call&#x00A0;psb_cdall(icontxt,&#x00A0;desc_a,&#x00A0;info,mg=mg,parts=parts) call&#x00A0;psb_cdall(icontxt,&#x00A0;desc_a,&#x00A0;info,mg=mg,parts=parts)
&#x00A0;<br />call&#x00A0;psb_cdall(icontxt,&#x00A0;desc_a,&#x00A0;info,vg=vg,[mg=mg,flag=flag]) &#x00A0;<br />call&#x00A0;psb_cdall(icontxt,&#x00A0;desc_a,&#x00A0;info,vg=vg,[mg=mg,flag=flag])
&#x00A0;<br />call&#x00A0;psb_cdall(icontxt,&#x00A0;desc_a,&#x00A0;info,vl=vl,[nl=nl,globalcheck=.false.,lidx=lidx]) &#x00A0;<br />call&#x00A0;psb_cdall(icontxt,&#x00A0;desc_a,&#x00A0;info,vl=vl,[nl=nl,globalcheck=.false.,lidx=lidx])
@ -234,7 +234,7 @@ class="cmtt-10">mg</span></span></span> as well. The
<div class="verbatim" id="verbatim-57"> <div class="verbatim" id="verbatim-34">
&#x00A0;&#x00A0;interface &#x00A0;&#x00A0;interface
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;subroutine&#x00A0;psb_parts(glob_index,mg,np,pv,nv) &#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;subroutine&#x00A0;psb_parts(glob_index,mg,np,pv,nv)
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;integer,&#x00A0;intent&#x00A0;(in)&#x00A0;&#x00A0;::&#x00A0;glob_index,np,mg &#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;integer,&#x00A0;intent&#x00A0;(in)&#x00A0;&#x00A0;::&#x00A0;glob_index,np,mg

@ -21,7 +21,7 @@ href="userhtmlsu32.html#userhtmlsu34.html" >up</a>] </p></div>
<div class="verbatim" id="verbatim-58"> <div class="verbatim" id="verbatim-35">
call&#x00A0;psb_cdins(nz,&#x00A0;ia,&#x00A0;ja,&#x00A0;desc_a,&#x00A0;info&#x00A0;[,ila,jla]) call&#x00A0;psb_cdins(nz,&#x00A0;ia,&#x00A0;ja,&#x00A0;desc_a,&#x00A0;info&#x00A0;[,ila,jla])
&#x00A0;<br />call&#x00A0;psb_cdins(nz,ja,desc,info[,jla,mask,lidx]) &#x00A0;<br />call&#x00A0;psb_cdins(nz,ja,desc,info[,jla,mask,lidx])
</div> </div>

@ -21,7 +21,7 @@ href="userhtmlsu32.html#userhtmlsu35.html" >up</a>] </p></div>
<div class="verbatim" id="verbatim-59"> <div class="verbatim" id="verbatim-36">
call&#x00A0;psb_cdasb(desc_a,&#x00A0;info&#x00A0;[,&#x00A0;mold]) call&#x00A0;psb_cdasb(desc_a,&#x00A0;info&#x00A0;[,&#x00A0;mold])
</div> </div>
<!--l. 298--><p class="nopar" > <!--l. 298--><p class="nopar" >

@ -21,7 +21,7 @@ href="userhtmlsu32.html#userhtmlsu36.html" >up</a>] </p></div>
<div class="verbatim" id="verbatim-60"> <div class="verbatim" id="verbatim-37">
call&#x00A0;psb_cdcpy(desc_in,&#x00A0;desc_out,&#x00A0;info) call&#x00A0;psb_cdcpy(desc_in,&#x00A0;desc_out,&#x00A0;info)
</div> </div>
<!--l. 351--><p class="nopar" > <!--l. 351--><p class="nopar" >

@ -21,7 +21,7 @@ href="userhtmlsu32.html#userhtmlsu37.html" >up</a>] </p></div>
<div class="verbatim" id="verbatim-61"> <div class="verbatim" id="verbatim-38">
call&#x00A0;psb_cdfree(desc_a,&#x00A0;info) call&#x00A0;psb_cdfree(desc_a,&#x00A0;info)
</div> </div>
<!--l. 386--><p class="nopar" > <!--l. 386--><p class="nopar" >

@ -21,7 +21,7 @@ href="userhtmlsu32.html#userhtmlsu38.html" >up</a>] </p></div>
<div class="verbatim" id="verbatim-62"> <div class="verbatim" id="verbatim-39">
call&#x00A0;psb_cdbldext(a,desc_a,nl,desc_out,&#x00A0;info,&#x00A0;extype) call&#x00A0;psb_cdbldext(a,desc_a,nl,desc_out,&#x00A0;info,&#x00A0;extype)
</div> </div>
<!--l. 417--><p class="nopar" > <!--l. 417--><p class="nopar" >

@ -21,7 +21,7 @@ href="userhtmlsu32.html#userhtmlsu39.html" >up</a>] </p></div>
<div class="verbatim" id="verbatim-63"> <div class="verbatim" id="verbatim-40">
call&#x00A0;psb_spall(a,&#x00A0;desc_a,&#x00A0;info,&#x00A0;nnz) call&#x00A0;psb_spall(a,&#x00A0;desc_a,&#x00A0;info,&#x00A0;nnz)
</div> </div>
<!--l. 551--><p class="nopar" > <!--l. 551--><p class="nopar" >

@ -21,7 +21,7 @@ href="userhtmlsu32.html#userhtmlsu40.html" >up</a>] </p></div>
<div class="verbatim" id="verbatim-64"> <div class="verbatim" id="verbatim-41">
call&#x00A0;psb_spins(nz,&#x00A0;ia,&#x00A0;ja,&#x00A0;val,&#x00A0;a,&#x00A0;desc_a,&#x00A0;info&#x00A0;[,local]) call&#x00A0;psb_spins(nz,&#x00A0;ia,&#x00A0;ja,&#x00A0;val,&#x00A0;a,&#x00A0;desc_a,&#x00A0;info&#x00A0;[,local])
&#x00A0;<br />call&#x00A0;psb_spins(nr,&#x00A0;irw,&#x00A0;irp,&#x00A0;ja,&#x00A0;val,&#x00A0;a,&#x00A0;desc_a,&#x00A0;info&#x00A0;[,local]) &#x00A0;<br />call&#x00A0;psb_spins(nr,&#x00A0;irw,&#x00A0;irp,&#x00A0;ja,&#x00A0;val,&#x00A0;a,&#x00A0;desc_a,&#x00A0;info&#x00A0;[,local])
</div> </div>

@ -21,7 +21,7 @@ href="userhtmlsu32.html#userhtmlsu41.html" >up</a>] </p></div>
<div class="verbatim" id="verbatim-65"> <div class="verbatim" id="verbatim-42">
call&#x00A0;psb_spasb(a,&#x00A0;desc_a,&#x00A0;info,&#x00A0;afmt,&#x00A0;upd,&#x00A0;dupl,&#x00A0;mold) call&#x00A0;psb_spasb(a,&#x00A0;desc_a,&#x00A0;info,&#x00A0;afmt,&#x00A0;upd,&#x00A0;dupl,&#x00A0;mold)
</div> </div>
<!--l. 728--><p class="nopar" > <!--l. 728--><p class="nopar" >

@ -21,7 +21,7 @@ href="userhtmlsu32.html#userhtmlsu42.html" >up</a>] </p></div>
<div class="verbatim" id="verbatim-66"> <div class="verbatim" id="verbatim-43">
call&#x00A0;psb_spfree(a,&#x00A0;desc_a,&#x00A0;info) call&#x00A0;psb_spfree(a,&#x00A0;desc_a,&#x00A0;info)
</div> </div>
<!--l. 836--><p class="nopar" > <!--l. 836--><p class="nopar" >

@ -21,7 +21,7 @@ href="userhtmlsu32.html#userhtmlsu43.html" >up</a>] </p></div>
<div class="verbatim" id="verbatim-67"> <div class="verbatim" id="verbatim-44">
call&#x00A0;psb_sprn(a,&#x00A0;decsc_a,&#x00A0;info,&#x00A0;clear) call&#x00A0;psb_sprn(a,&#x00A0;decsc_a,&#x00A0;info,&#x00A0;clear)
</div> </div>
<!--l. 873--><p class="nopar" > <!--l. 873--><p class="nopar" >

@ -21,7 +21,7 @@ href="userhtmlsu32.html#userhtmlsu44.html" >up</a>] </p></div>
<div class="verbatim" id="verbatim-68"> <div class="verbatim" id="verbatim-45">
call&#x00A0;psb_geall(x,&#x00A0;desc_a,&#x00A0;info,&#x00A0;n,&#x00A0;lb) call&#x00A0;psb_geall(x,&#x00A0;desc_a,&#x00A0;info,&#x00A0;n,&#x00A0;lb)
</div> </div>
<!--l. 961--><p class="nopar" > <!--l. 961--><p class="nopar" >

@ -21,7 +21,7 @@ href="userhtmlsu32.html#userhtmlsu45.html" >up</a>] </p></div>
<div class="verbatim" id="verbatim-69"> <div class="verbatim" id="verbatim-46">
call&#x00A0;psb_geins(m,&#x00A0;irw,&#x00A0;val,&#x00A0;x,&#x00A0;desc_a,&#x00A0;info&#x00A0;[,dupl,local]) call&#x00A0;psb_geins(m,&#x00A0;irw,&#x00A0;val,&#x00A0;x,&#x00A0;desc_a,&#x00A0;info&#x00A0;[,dupl,local])
</div> </div>
<!--l. 1009--><p class="nopar" > <!--l. 1009--><p class="nopar" >

@ -21,7 +21,7 @@ href="userhtmlsu32.html#userhtmlsu46.html" >up</a>] </p></div>
<div class="verbatim" id="verbatim-70"> <div class="verbatim" id="verbatim-47">
call&#x00A0;psb_geasb(x,&#x00A0;desc_a,&#x00A0;info,&#x00A0;mold) call&#x00A0;psb_geasb(x,&#x00A0;desc_a,&#x00A0;info,&#x00A0;mold)
</div> </div>
<!--l. 1082--><p class="nopar" > <!--l. 1082--><p class="nopar" >

@ -21,7 +21,7 @@ href="userhtmlsu32.html#userhtmlsu47.html" >up</a>] </p></div>
<div class="verbatim" id="verbatim-71"> <div class="verbatim" id="verbatim-48">
call&#x00A0;psb_gefree(x,&#x00A0;desc_a,&#x00A0;info) call&#x00A0;psb_gefree(x,&#x00A0;desc_a,&#x00A0;info)
</div> </div>
<!--l. 1122--><p class="nopar" > <!--l. 1122--><p class="nopar" >

@ -21,7 +21,7 @@ href="userhtmlsu32.html#userhtmlsu48.html" >up</a>] </p></div>
<div class="verbatim" id="verbatim-72"> <div class="verbatim" id="verbatim-49">
call&#x00A0;psb_gelp(trans,&#x00A0;iperm,&#x00A0;x,&#x00A0;info) call&#x00A0;psb_gelp(trans,&#x00A0;iperm,&#x00A0;x,&#x00A0;info)
</div> </div>
<!--l. 1161--><p class="nopar" > <!--l. 1161--><p class="nopar" >

@ -21,7 +21,7 @@ href="userhtmlsu32.html#userhtmlsu49.html" >up</a>] </p></div>
<div class="verbatim" id="verbatim-73"> <div class="verbatim" id="verbatim-50">
call&#x00A0;psb_glob_to_loc(x,&#x00A0;y,&#x00A0;desc_a,&#x00A0;info,&#x00A0;iact,owned) call&#x00A0;psb_glob_to_loc(x,&#x00A0;y,&#x00A0;desc_a,&#x00A0;info,&#x00A0;iact,owned)
&#x00A0;<br />call&#x00A0;psb_glob_to_loc(x,&#x00A0;desc_a,&#x00A0;info,&#x00A0;iact,owned) &#x00A0;<br />call&#x00A0;psb_glob_to_loc(x,&#x00A0;desc_a,&#x00A0;info,&#x00A0;iact,owned)
</div> </div>

@ -21,7 +21,7 @@ href="userhtmlsu32.html#userhtmlsu50.html" >up</a>] </p></div>
<div class="verbatim" id="verbatim-74"> <div class="verbatim" id="verbatim-51">
call&#x00A0;psb_loc_to_glob(x,&#x00A0;y,&#x00A0;desc_a,&#x00A0;info,&#x00A0;iact) call&#x00A0;psb_loc_to_glob(x,&#x00A0;y,&#x00A0;desc_a,&#x00A0;info,&#x00A0;iact)
&#x00A0;<br />call&#x00A0;psb_loc_to_glob(x,&#x00A0;desc_a,&#x00A0;info,&#x00A0;iact) &#x00A0;<br />call&#x00A0;psb_loc_to_glob(x,&#x00A0;desc_a,&#x00A0;info,&#x00A0;iact)
</div> </div>

@ -21,7 +21,7 @@ href="userhtmlsu32.html#userhtmlsu51.html" >up</a>] </p></div>
<div class="verbatim" id="verbatim-75"> <div class="verbatim" id="verbatim-52">
call&#x00A0;psb_is_owned(x,&#x00A0;desc_a) call&#x00A0;psb_is_owned(x,&#x00A0;desc_a)
</div> </div>
<!--l. 1326--><p class="nopar" > <!--l. 1326--><p class="nopar" >

@ -21,7 +21,7 @@ href="userhtmlsu32.html#userhtmlsu52.html" >up</a>] </p></div>
<div class="verbatim" id="verbatim-76"> <div class="verbatim" id="verbatim-53">
call&#x00A0;psb_owned_index(y,&#x00A0;x,&#x00A0;desc_a,&#x00A0;info) call&#x00A0;psb_owned_index(y,&#x00A0;x,&#x00A0;desc_a,&#x00A0;info)
</div> </div>
<!--l. 1366--><p class="nopar" > <!--l. 1366--><p class="nopar" >

@ -28,16 +28,16 @@ class="cmtt-10">_type</span></a>. Every structure of this
type is associated with a discretization pattern and enables data communications and type is associated with a discretization pattern and enables data communications and
other operations that are necessary for implementing the various algorithms of other operations that are necessary for implementing the various algorithms of
interest to us. interest to us.
<!--l. 57--><p class="indent" > The data structure itself <span class="obeylines-h"><span class="verb"><span <!--l. 57--><p class="indent" > The data structure itself <span class="lstinline"></span><span
class="cmtt-10">psb_desc_type</span></span></span> can be treated as an opaque object class="cmtt-10">psb_desc_type</span> can be treated as an opaque object
handled via the tools routines of Sec.&#x00A0;<a handled via the tools routines of Sec.&#x00A0;<a
href="userhtmlse6.html#x40-770006">6<!--tex4ht:ref: sec:toolsrout --></a> or the query routines detailed below; href="userhtmlse6.html#x40-770006">6<!--tex4ht:ref: sec:toolsrout --></a> or the query routines detailed below;
nevertheless we include here a description for the curious reader. nevertheless we include here a description for the curious reader.
<!--l. 63--><p class="indent" > First we describe the <span class="obeylines-h"><span class="verb"><span <!--l. 63--><p class="indent" > First we describe the <span class="lstinline"></span><span
class="cmtt-10">psb_indx_map</span></span></span> type. This is a data structure that keeps class="cmtt-10">psb_indx_map</span> type. This is a data structure that keeps
track of a certain number of basic issues such as: track of a certain number of basic issues such as:
<ul class="itemize1"> <ul class="itemize1">
<li class="itemize">The value of the communication/MPI context; <li class="itemize">The value of the communication context;
</li> </li>
<li class="itemize">The number of indices in the index space, i.e. global number of rows and <li class="itemize">The number of indices in the index space, i.e. global number of rows and
columns of a sparse matrix; columns of a sparse matrix;
@ -168,13 +168,17 @@ class="cmbx-10">bnd</span><span
class="cmbx-10">_elem</span> </dt><dd class="cmbx-10">_elem</span> </dt><dd
class="description">A list of all boundary points, i.e. points that have a connection with class="description">A list of all boundary points, i.e. points that have a connection with
other processes.</dd></dl> other processes.</dd></dl>
<!--l. 145--><p class="noindent" >The Fortran&#x00A0;2003 declaration for <span class="obeylines-h"><span class="verb"><span <!--l. 145--><p class="noindent" >The Fortran&#x00A0;2003 declaration for <span class="lstinline"></span><span
class="cmtt-10">psb_desc_type</span></span></span> structures is as follows: <hr class="figure"><div class="figure" class="cmtt-10">psb_desc_type</span> structures is as follows:
><a <!--l. 147--><p class="indent" > <a
id="x13-100273"></a> id="x13-10027r1"></a><hr class="float"><div class="float"
>
<div class="center" <div class="center"
> >
<!--l. 149--><p class="noindent" > <!--l. 162--><p class="noindent" >
<div class="minipage"><div class="verbatim" id="verbatim-1"> <div class="minipage"><div class="verbatim" id="verbatim-1">
type&#x00A0;psb_desc_type type&#x00A0;psb_desc_type
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;class(psb_indx_map),&#x00A0;allocatable&#x00A0;::&#x00A0;indxmap &#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;class(psb_indx_map),&#x00A0;allocatable&#x00A0;::&#x00A0;indxmap
@ -186,13 +190,16 @@ type&#x00A0;psb_desc_type
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;integer,&#x00A0;allocatable&#x00A0;&#x00A0;::&#x00A0;bnd_elem(:) &#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;integer,&#x00A0;allocatable&#x00A0;&#x00A0;::&#x00A0;bnd_elem(:)
&#x00A0;<br />end&#x00A0;type&#x00A0;psb_desc_type &#x00A0;<br />end&#x00A0;type&#x00A0;psb_desc_type
</div> </div>
<!--l. 161--><p class="nopar" ></div></div> <!--l. 174--><p class="nopar" ></div></div>
<br /> <div class="caption" <br /> <div class="caption"
><span class="id">Figure&#x00A0;3: </span><span ><span class="id">Listing 1: </span><span
class="content">The PSBLAS defined data type that contains the communication class="content">The PSBLAS defined data type that contains the communication
descriptor.</span></div><!--tex4ht:label?: x13-100273 --> descriptor.</span></div><!--tex4ht:label?: x13-10027r1 -->
<!--l. 171--><p class="indent" > </div><hr class="endfigure">
<!--l. 172--><p class="indent" > A communication descriptor associated with a sparse matrix has a state, which
</div><hr class="endfloat" />
<!--l. 186--><p class="indent" > A communication descriptor associated with a sparse matrix has a state, which
can take the following values: can take the following values:
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
@ -200,19 +207,15 @@ class="cmbx-10">Build:</span> </dt><dd
class="description">State entered after the first allocation, and before the first assembly; in class="description">State entered after the first allocation, and before the first assembly; in
this state it is possible to add communication requirements among different this state it is possible to add communication requirements among different
processes. processes.
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">Assembled:</span> </dt><dd class="cmbx-10">Assembled:</span> </dt><dd
class="description">State entered after the assembly; computations using the class="description">State entered after the assembly; computations using the
associated sparse matrix, such as matrix-vector products, are only possible associated sparse matrix, such as matrix-vector products, are only possible
in this state.</dd></dl> in this state.</dd></dl>
<!--l. 183--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.1.1 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.1.1 </span> <a
id="x13-110003.1.1"></a>Descriptor Methods</h5> id="x13-110003.1.1"></a>Descriptor Methods</h5>
<!--l. 185--><p class="noindent" > <!--l. 199--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.1.2 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.1.2 </span> <a
id="x13-120003.1.2"></a>get_local_rows &#8212; Get number of local rows</h5> id="x13-120003.1.2"></a>get_local_rows &#8212; Get number of local rows</h5>
@ -221,8 +224,8 @@ class="description">State entered after the assembly; computations using
<div class="verbatim" id="verbatim-2"> <div class="verbatim" id="verbatim-2">
nr&#x00A0;=&#x00A0;desc%get_local_rows() nr&#x00A0;=&#x00A0;desc%get_local_rows()
</div> </div>
<!--l. 189--><p class="nopar" > <!--l. 203--><p class="nopar" >
<!--l. 191--><p class="indent" > <!--l. 205--><p class="indent" >
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">Type:</span> </dt><dd class="cmbx-10">Type:</span> </dt><dd
@ -238,7 +241,7 @@ class="description">the communication descriptor.<br
class="newline" />Scope: <span class="newline" />Scope: <span
class="cmbx-10">local</span>.<br class="cmbx-10">local</span>.<br
class="newline" /></dd></dl> class="newline" /></dd></dl>
<!--l. 201--><p class="indent" > <!--l. 215--><p class="indent" >
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">On Return</span> </dt><dd class="cmbx-10">On Return</span> </dt><dd
@ -258,7 +261,7 @@ src="cmsy10-42.png" alt="B" class="10x-x-42" /></span><sub><span
class="cmmi-7">i</span></sub><span class="cmmi-7">i</span></sub><span
class="cmsy-10">|</span>. The returned class="cmsy-10">|</span>. The returned
value is specific to the calling process.</dd></dl> value is specific to the calling process.</dd></dl>
<!--l. 210--><p class="noindent" > <!--l. 224--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.1.3 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.1.3 </span> <a
id="x13-130003.1.3"></a>get_local_cols &#8212; Get number of local cols</h5> id="x13-130003.1.3"></a>get_local_cols &#8212; Get number of local cols</h5>
@ -267,8 +270,8 @@ class="cmsy-10">|</span>. The returned
<div class="verbatim" id="verbatim-3"> <div class="verbatim" id="verbatim-3">
nc&#x00A0;=&#x00A0;desc%get_local_cols() nc&#x00A0;=&#x00A0;desc%get_local_cols()
</div> </div>
<!--l. 214--><p class="nopar" > <!--l. 228--><p class="nopar" >
<!--l. 216--><p class="indent" > <!--l. 230--><p class="indent" >
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">Type:</span> </dt><dd class="cmbx-10">Type:</span> </dt><dd
@ -284,7 +287,7 @@ class="description">the communication descriptor.<br
class="newline" />Scope: <span class="newline" />Scope: <span
class="cmbx-10">local</span>.<br class="cmbx-10">local</span>.<br
class="newline" /></dd></dl> class="newline" /></dd></dl>
<!--l. 226--><p class="indent" > <!--l. 240--><p class="indent" >
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">On Return</span> </dt><dd class="cmbx-10">On Return</span> </dt><dd
@ -309,7 +312,7 @@ src="cmsy10-48.png" alt="H" class="10x-x-48" /></span><sub><span
class="cmmi-7">i</span></sub><span class="cmmi-7">i</span></sub><span
class="cmsy-10">|</span>. The returned value is specific to the class="cmsy-10">|</span>. The returned value is specific to the
calling process.</dd></dl> calling process.</dd></dl>
<!--l. 236--><p class="noindent" > <!--l. 250--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.1.4 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.1.4 </span> <a
id="x13-140003.1.4"></a>get_global_rows &#8212; Get number of global rows</h5> id="x13-140003.1.4"></a>get_global_rows &#8212; Get number of global rows</h5>
@ -318,8 +321,8 @@ class="cmsy-10">|</span>. The returned value is specific to the
<div class="verbatim" id="verbatim-4"> <div class="verbatim" id="verbatim-4">
nr&#x00A0;=&#x00A0;desc%get_global_rows() nr&#x00A0;=&#x00A0;desc%get_global_rows()
</div> </div>
<!--l. 240--><p class="nopar" > <!--l. 254--><p class="nopar" >
<!--l. 242--><p class="indent" > <!--l. 256--><p class="indent" >
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">Type:</span> </dt><dd class="cmbx-10">Type:</span> </dt><dd
@ -335,7 +338,7 @@ class="description">the communication descriptor.<br
class="newline" />Scope: <span class="newline" />Scope: <span
class="cmbx-10">local</span>.<br class="cmbx-10">local</span>.<br
class="newline" /></dd></dl> class="newline" /></dd></dl>
<!--l. 252--><p class="indent" > <!--l. 266--><p class="indent" >
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">On Return</span> </dt><dd class="cmbx-10">On Return</span> </dt><dd
@ -345,7 +348,7 @@ class="description">
class="cmbx-10">Function value</span> </dt><dd class="cmbx-10">Function value</span> </dt><dd
class="description">The number of global rows, i.e. the size of the global index class="description">The number of global rows, i.e. the size of the global index
space.</dd></dl> space.</dd></dl>
<!--l. 258--><p class="noindent" > <!--l. 272--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.1.5 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.1.5 </span> <a
id="x13-150003.1.5"></a>get_global_cols &#8212; Get number of global cols</h5> id="x13-150003.1.5"></a>get_global_cols &#8212; Get number of global cols</h5>
@ -354,8 +357,8 @@ class="description">The number of global rows, i.e. the size of the global index
<div class="verbatim" id="verbatim-5"> <div class="verbatim" id="verbatim-5">
nr&#x00A0;=&#x00A0;desc%get_global_cols() nr&#x00A0;=&#x00A0;desc%get_global_cols()
</div> </div>
<!--l. 262--><p class="nopar" > <!--l. 276--><p class="nopar" >
<!--l. 264--><p class="indent" > <!--l. 278--><p class="indent" >
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">Type:</span> </dt><dd class="cmbx-10">Type:</span> </dt><dd
@ -371,7 +374,7 @@ class="description">the communication descriptor.<br
class="newline" />Scope: <span class="newline" />Scope: <span
class="cmbx-10">local</span>.<br class="cmbx-10">local</span>.<br
class="newline" /></dd></dl> class="newline" /></dd></dl>
<!--l. 274--><p class="indent" > <!--l. 288--><p class="indent" >
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">On Return</span> </dt><dd class="cmbx-10">On Return</span> </dt><dd
@ -381,7 +384,7 @@ class="description">
class="cmbx-10">Function value</span> </dt><dd class="cmbx-10">Function value</span> </dt><dd
class="description">The number of global cols; usually this is equal to the number class="description">The number of global cols; usually this is equal to the number
of global rows.</dd></dl> of global rows.</dd></dl>
<!--l. 281--><p class="noindent" > <!--l. 295--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.1.6 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.1.6 </span> <a
id="x13-160003.1.6"></a>get_global_indices &#8212; Get vector of global indices</h5> id="x13-160003.1.6"></a>get_global_indices &#8212; Get vector of global indices</h5>
@ -390,8 +393,8 @@ class="description">The number of global cols; usually this is equal to the numb
<div class="verbatim" id="verbatim-6"> <div class="verbatim" id="verbatim-6">
myidx&#x00A0;=&#x00A0;desc%get_global_indices([owned]) myidx&#x00A0;=&#x00A0;desc%get_global_indices([owned])
</div> </div>
<!--l. 285--><p class="nopar" > <!--l. 299--><p class="nopar" >
<!--l. 287--><p class="indent" > <!--l. 301--><p class="indent" >
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">Type:</span> </dt><dd class="cmbx-10">Type:</span> </dt><dd
@ -412,16 +415,24 @@ class="newline" />
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">owned</span> </dt><dd class="cmbx-10">owned</span> </dt><dd
class="description">Choose if you only want owned indices (<span class="obeylines-h"><span class="verb"><span class="description">Choose if you only want owned indices (<span class="lstinline"></span><span
class="cmtt-10">owned=.true.</span></span></span>) or also halo class="cmtt-10">owned</span><span
indices (<span class="obeylines-h"><span class="verb"><span class="cmtt-10">=.</span><span
class="cmtt-10">owned=.false.</span></span></span>). Scope: <span class="cmtt-10">true</span><span
class="cmtt-10">.</span>) or also halo
indices (<span class="lstinline"></span><span
class="cmtt-10">owned</span><span
class="cmtt-10">=.</span><span
class="cmtt-10">false</span><span
class="cmtt-10">.</span>). Scope: <span
class="cmbx-10">local</span>.<br class="cmbx-10">local</span>.<br
class="newline" />Type: <span class="newline" />Type: <span
class="cmbx-10">optional</span>; default: <span class="obeylines-h"><span class="verb"><span class="cmbx-10">optional</span>; default: <span class="lstinline"></span><span
class="cmtt-10">.true.</span></span></span>.<br class="cmtt-10">.</span><span
class="cmtt-10">true</span><span
class="cmtt-10">.</span>.<br
class="newline" /></dd></dl> class="newline" /></dd></dl>
<!--l. 301--><p class="indent" > <!--l. 315--><p class="indent" >
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">On Return</span> </dt><dd class="cmbx-10">On Return</span> </dt><dd
@ -430,19 +441,19 @@ class="description">
<span <span
class="cmbx-10">Function value</span> </dt><dd class="cmbx-10">Function value</span> </dt><dd
class="description">The global indices, returned as an allocatable integer array of class="description">The global indices, returned as an allocatable integer array of
kind <span class="obeylines-h"><span class="verb"><span kind <span class="lstinline"></span><span
class="cmtt-10">psb_lpk_</span></span></span> and rank 1.</dd></dl> class="cmtt-10">psb_lpk_</span> and rank 1.</dd></dl>
<!--l. 309--><p class="noindent" > <!--l. 323--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.1.7 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.1.7 </span> <a
id="x13-170003.1.7"></a>get_context &#8212; Get communication context</h5> id="x13-170003.1.7"></a>get_context &#8212; Get communication context</h5>
<div class="verbatim" id="verbatim-7"> <div class="verbatim" id="verbatim-7">
ictxt&#x00A0;=&#x00A0;desc%get_context() ctxt&#x00A0;=&#x00A0;desc%get_context()
</div> </div>
<!--l. 313--><p class="nopar" > <!--l. 327--><p class="nopar" >
<!--l. 315--><p class="indent" > <!--l. 329--><p class="indent" >
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">Type:</span> </dt><dd class="cmbx-10">Type:</span> </dt><dd
@ -458,7 +469,7 @@ class="description">the communication descriptor.<br
class="newline" />Scope: <span class="newline" />Scope: <span
class="cmbx-10">local</span>.<br class="cmbx-10">local</span>.<br
class="newline" /></dd></dl> class="newline" /></dd></dl>
<!--l. 325--><p class="indent" > <!--l. 339--><p class="indent" >
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">On Return</span> </dt><dd class="cmbx-10">On Return</span> </dt><dd
@ -467,7 +478,7 @@ class="description">
<span <span
class="cmbx-10">Function value</span> </dt><dd class="cmbx-10">Function value</span> </dt><dd
class="description">The communication context.</dd></dl> class="description">The communication context.</dd></dl>
<!--l. 330--><p class="noindent" > <!--l. 344--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.1.8 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.1.8 </span> <a
id="x13-180003.1.8"></a>Clone &#8212; clone current object</h5> id="x13-180003.1.8"></a>Clone &#8212; clone current object</h5>
@ -476,8 +487,8 @@ class="description">The communication context.</dd></dl>
<div class="verbatim" id="verbatim-8"> <div class="verbatim" id="verbatim-8">
call&#x00A0;&#x00A0;desc%clone(descout,info) call&#x00A0;&#x00A0;desc%clone(descout,info)
</div> </div>
<!--l. 334--><p class="nopar" > <!--l. 348--><p class="nopar" >
<!--l. 336--><p class="indent" > <!--l. 350--><p class="indent" >
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">Type:</span> </dt><dd class="cmbx-10">Type:</span> </dt><dd
@ -493,7 +504,7 @@ class="description">the communication descriptor.<br
class="newline" />Scope: <span class="newline" />Scope: <span
class="cmbx-10">local</span>.<br class="cmbx-10">local</span>.<br
class="newline" /></dd></dl> class="newline" /></dd></dl>
<!--l. 346--><p class="indent" > <!--l. 360--><p class="indent" >
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">On Return</span> </dt><dd class="cmbx-10">On Return</span> </dt><dd
@ -506,7 +517,7 @@ class="description">A copy of the input object.
<span <span
class="cmbx-10">info</span> </dt><dd class="cmbx-10">info</span> </dt><dd
class="description">Return code.</dd></dl> class="description">Return code.</dd></dl>
<!--l. 353--><p class="noindent" > <!--l. 367--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.1.9 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.1.9 </span> <a
id="x13-190003.1.9"></a>CNV &#8212; convert internal storage format</h5> id="x13-190003.1.9"></a>CNV &#8212; convert internal storage format</h5>
@ -515,8 +526,8 @@ class="description">Return code.</dd></dl>
<div class="verbatim" id="verbatim-9"> <div class="verbatim" id="verbatim-9">
call&#x00A0;&#x00A0;desc%cnv(mold) call&#x00A0;&#x00A0;desc%cnv(mold)
</div> </div>
<!--l. 357--><p class="nopar" > <!--l. 371--><p class="nopar" >
<!--l. 359--><p class="indent" > <!--l. 373--><p class="indent" >
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">Type:</span> </dt><dd class="cmbx-10">Type:</span> </dt><dd
@ -546,10 +557,10 @@ class="cmtt-10">_T</span><span
class="cmtt-10">_base</span><span class="cmtt-10">_base</span><span
class="cmtt-10">_vect</span><span class="cmtt-10">_vect</span><span
class="cmtt-10">_type</span></a>.</dd></dl> class="cmtt-10">_type</span></a>.</dd></dl>
<!--l. 370--><p class="noindent" >The <span class="obeylines-h"><span class="verb"><span <!--l. 384--><p class="noindent" >The <span class="lstinline"></span><span
class="cmtt-10">mold</span></span></span> arguments may be employed to interface with special devices, such as GPUs class="cmtt-10">mold</span> arguments may be employed to interface with special devices, such as GPUs
and other accelerators. and other accelerators.
<!--l. 377--><p class="noindent" > <!--l. 391--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.1.10 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.1.10 </span> <a
id="x13-200003.1.10"></a>psb_cd_get_large_threshold &#8212; Get threshold for index mapping id="x13-200003.1.10"></a>psb_cd_get_large_threshold &#8212; Get threshold for index mapping
switch</h5> switch</h5>
@ -559,8 +570,8 @@ switch</h5>
<div class="verbatim" id="verbatim-10"> <div class="verbatim" id="verbatim-10">
ith&#x00A0;=&#x00A0;psb_cd_get_large_threshold() ith&#x00A0;=&#x00A0;psb_cd_get_large_threshold()
</div> </div>
<!--l. 381--><p class="nopar" > <!--l. 395--><p class="nopar" >
<!--l. 383--><p class="indent" > <!--l. 397--><p class="indent" >
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">Type:</span> </dt><dd class="cmbx-10">Type:</span> </dt><dd
@ -574,7 +585,7 @@ class="description">
class="cmbx-10">Function value</span> </dt><dd class="cmbx-10">Function value</span> </dt><dd
class="description">The current value for the size threshold. class="description">The current value for the size threshold.
</dd></dl> </dd></dl>
<!--l. 393--><p class="noindent" > <!--l. 407--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.1.11 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.1.11 </span> <a
id="x13-210003.1.11"></a>psb_cd_set_large_threshold &#8212; Set threshold for index mapping id="x13-210003.1.11"></a>psb_cd_set_large_threshold &#8212; Set threshold for index mapping
switch</h5> switch</h5>
@ -584,8 +595,8 @@ switch</h5>
<div class="verbatim" id="verbatim-11"> <div class="verbatim" id="verbatim-11">
call&#x00A0;psb_cd_set_large_threshold(ith) call&#x00A0;psb_cd_set_large_threshold(ith)
</div> </div>
<!--l. 398--><p class="nopar" > <!--l. 412--><p class="nopar" >
<!--l. 400--><p class="indent" > <!--l. 414--><p class="indent" >
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">Type:</span> </dt><dd class="cmbx-10">Type:</span> </dt><dd
@ -605,12 +616,12 @@ class="cmbx-10">required</span>.<br
class="newline" />Intent: <span class="newline" />Intent: <span
class="cmbx-10">in</span>.<br class="cmbx-10">in</span>.<br
class="newline" />Specified as: an integer value greater than zero.</dd></dl> class="newline" />Specified as: an integer value greater than zero.</dd></dl>
<!--l. 409--><p class="noindent" >Note: the threshold value is only queried by the library at the time a call to <span class="obeylines-h"><span class="verb"><span <!--l. 423--><p class="noindent" >Note: the threshold value is only queried by the library at the time a call to <span class="lstinline"></span><span
class="cmtt-10">psb_cdall</span></span></span> class="cmtt-10">psb_cdall</span>
is executed, therefore changing the threshold has no effect on communication is executed, therefore changing the threshold has no effect on communication
descriptors that have already been initialized. Moreover the threshold must have the descriptors that have already been initialized. Moreover the threshold must have the
same value on all processes. same value on all processes.
<!--l. 416--><p class="noindent" > <!--l. 430--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.1.12 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.1.12 </span> <a
id="x13-220003.1.12"></a>get_p_adjcncy &#8212; Get process adjacency list</h5> id="x13-220003.1.12"></a>get_p_adjcncy &#8212; Get process adjacency list</h5>
@ -619,8 +630,8 @@ same value on all processes.
<div class="verbatim" id="verbatim-12"> <div class="verbatim" id="verbatim-12">
list&#x00A0;=&#x00A0;&#x00A0;desc%get_p_adjcncy() list&#x00A0;=&#x00A0;&#x00A0;desc%get_p_adjcncy()
</div> </div>
<!--l. 421--><p class="nopar" > <!--l. 435--><p class="nopar" >
<!--l. 423--><p class="indent" > <!--l. 437--><p class="indent" >
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">Type:</span> </dt><dd class="cmbx-10">Type:</span> </dt><dd
@ -635,7 +646,7 @@ class="cmbx-10">Function value</span> </dt><dd
class="description">The current list of adjacent processes, i.e. processes with class="description">The current list of adjacent processes, i.e. processes with
which the current one has to exchange halo data. which the current one has to exchange halo data.
</dd></dl> </dd></dl>
<!--l. 432--><p class="noindent" > <!--l. 446--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.1.13 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.1.13 </span> <a
id="x13-230003.1.13"></a>set_p_adjcncy &#8212; Set process adjacency list</h5> id="x13-230003.1.13"></a>set_p_adjcncy &#8212; Set process adjacency list</h5>
@ -644,8 +655,8 @@ class="description">The current list of adjacent processes, i.e. processe
<div class="verbatim" id="verbatim-13"> <div class="verbatim" id="verbatim-13">
call&#x00A0;desc%set_p_adjcncy(list) call&#x00A0;desc%set_p_adjcncy(list)
</div> </div>
<!--l. 437--><p class="nopar" > <!--l. 451--><p class="nopar" >
<!--l. 439--><p class="indent" > <!--l. 453--><p class="indent" >
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">Type:</span> </dt><dd class="cmbx-10">Type:</span> </dt><dd
@ -664,16 +675,16 @@ class="newline" />Type: <span
class="cmbx-10">required</span>.<br class="cmbx-10">required</span>.<br
class="newline" />Intent: <span class="newline" />Intent: <span
class="cmbx-10">in</span>.<br class="cmbx-10">in</span>.<br
class="newline" />Specified as: a one-dimensional array of integers of kind <span class="obeylines-h"><span class="verb"><span class="newline" />Specified as: a one-dimensional array of integers of kind <span class="lstinline"></span><span
class="cmtt-10">psb_ipk_</span></span></span>.</dd></dl> class="cmtt-10">psb_ipk_</span>.</dd></dl>
<!--l. 448--><p class="noindent" >Note: this method can be called after a call to <span class="obeylines-h"><span class="verb"><span <!--l. 462--><p class="noindent" >Note: this method can be called after a call to <span class="lstinline"></span><span
class="cmtt-10">psb_cdall</span></span></span> and before a call to class="cmtt-10">psb_cdall</span> and before a call to
<span class="obeylines-h"><span class="verb"><span <span class="lstinline"></span><span
class="cmtt-10">psb_cdasb</span></span></span>. The user is specifying here some knowledge about which processes are class="cmtt-10">psb_cdasb</span>. The user is specifying here some knowledge about which processes are
topological neighbours of the current process. The availability of this information topological neighbours of the current process. The availability of this information
may speed up the execution of the assembly call <span class="obeylines-h"><span class="verb"><span may speed up the execution of the assembly call <span class="lstinline"></span><span
class="cmtt-10">psb_cdasb</span></span></span>. class="cmtt-10">psb_cdasb</span>.
<!--l. 455--><p class="noindent" > <!--l. 469--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.1.14 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.1.14 </span> <a
id="x13-240003.1.14"></a>fnd_owner &#8212; Find the owner process of a set of indices</h5> id="x13-240003.1.14"></a>fnd_owner &#8212; Find the owner process of a set of indices</h5>
@ -682,8 +693,8 @@ class="cmtt-10">psb_cdasb</span></span></span>.
<div class="verbatim" id="verbatim-14"> <div class="verbatim" id="verbatim-14">
call&#x00A0;desc%fnd_owner(idx,iprc,info) call&#x00A0;desc%fnd_owner(idx,iprc,info)
</div> </div>
<!--l. 460--><p class="nopar" > <!--l. 474--><p class="nopar" >
<!--l. 462--><p class="indent" > <!--l. 476--><p class="indent" >
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">Type:</span> </dt><dd class="cmbx-10">Type:</span> </dt><dd
@ -702,8 +713,8 @@ class="newline" />Type: <span
class="cmbx-10">required</span>.<br class="cmbx-10">required</span>.<br
class="newline" />Intent: <span class="newline" />Intent: <span
class="cmbx-10">in</span>.<br class="cmbx-10">in</span>.<br
class="newline" />Specified as: a one-dimensional array of integers of kind <span class="obeylines-h"><span class="verb"><span class="newline" />Specified as: a one-dimensional array of integers of kind <span class="lstinline"></span><span
class="cmtt-10">psb_lpk_</span></span></span>. class="cmtt-10">psb_lpk_</span>.
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">On Return</span> </dt><dd class="cmbx-10">On Return</span> </dt><dd
@ -711,8 +722,8 @@ class="description">
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">iprc</span> </dt><dd class="cmbx-10">iprc</span> </dt><dd
class="description">the list of processes owning the indices in <span class="obeylines-h"><span class="verb"><span class="description">the list of processes owning the indices in <span class="lstinline"></span><span
class="cmtt-10">idx</span></span></span>.<br class="cmtt-10">idx</span>.<br
class="newline" />Scope: <span class="newline" />Scope: <span
class="cmbx-10">local</span>.<br class="cmbx-10">local</span>.<br
class="newline" />Type: <span class="newline" />Type: <span
@ -720,16 +731,16 @@ class="cmbx-10">required</span>.<br
class="newline" />Intent: <span class="newline" />Intent: <span
class="cmbx-10">in</span>.<br class="cmbx-10">in</span>.<br
class="newline" />Specified as: an allocatable one-dimensional array of integers of kind class="newline" />Specified as: an allocatable one-dimensional array of integers of kind
<span class="obeylines-h"><span class="verb"><span <span class="lstinline"></span><span
class="cmtt-10">psb_ipk_</span></span></span>.</dd></dl> class="cmtt-10">psb_ipk_</span>.</dd></dl>
<!--l. 477--><p class="noindent" >Note: this method may or may not actually require communications, depending on the <!--l. 491--><p class="noindent" >Note: this method may or may not actually require communications, depending on the
exact internal data storage; given that the choice of storage may be altered by exact internal data storage; given that the choice of storage may be altered by
runtime parameters, it is necessary for safety that this method is called by all runtime parameters, it is necessary for safety that this method is called by all
processes. processes.
<!--l. 485--><p class="noindent" > <!--l. 499--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.1.15 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.1.15 </span> <a
id="x13-250003.1.15"></a>Named Constants</h5> id="x13-250003.1.15"></a>Named Constants</h5>
<!--l. 487--><p class="noindent" > <!--l. 501--><p class="noindent" >
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">psb</span><span class="cmbx-10">psb</span><span
@ -775,40 +786,40 @@ class="cmbx-10">psb</span><span
class="cmbx-10">_comm</span><span class="cmbx-10">_comm</span><span
class="cmbx-10">_halo</span><span class="cmbx-10">_halo</span><span
class="cmbx-10">_</span> </dt><dd class="cmbx-10">_</span> </dt><dd
class="description">Exchange data based on the <span class="obeylines-h"><span class="verb"><span class="description">Exchange data based on the <span class="lstinline"></span><span
class="cmtt-10">halo_index</span></span></span> list; class="cmtt-10">halo_index</span> list;
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">psb</span><span class="cmbx-10">psb</span><span
class="cmbx-10">_comm</span><span class="cmbx-10">_comm</span><span
class="cmbx-10">_ext</span><span class="cmbx-10">_ext</span><span
class="cmbx-10">_</span> </dt><dd class="cmbx-10">_</span> </dt><dd
class="description">Exchange data based on the <span class="obeylines-h"><span class="verb"><span class="description">Exchange data based on the <span class="lstinline"></span><span
class="cmtt-10">ext_index</span></span></span> list; class="cmtt-10">ext_index</span> list;
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">psb</span><span class="cmbx-10">psb</span><span
class="cmbx-10">_comm</span><span class="cmbx-10">_comm</span><span
class="cmbx-10">_ovr</span><span class="cmbx-10">_ovr</span><span
class="cmbx-10">_</span> </dt><dd class="cmbx-10">_</span> </dt><dd
class="description">Exchange data based on the <span class="obeylines-h"><span class="verb"><span class="description">Exchange data based on the <span class="lstinline"></span><span
class="cmtt-10">ovrlap_index</span></span></span> list; class="cmtt-10">ovrlap_index</span> list;
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">psb</span><span class="cmbx-10">psb</span><span
class="cmbx-10">_comm</span><span class="cmbx-10">_comm</span><span
class="cmbx-10">_mov</span><span class="cmbx-10">_mov</span><span
class="cmbx-10">_</span> </dt><dd class="cmbx-10">_</span> </dt><dd
class="description">Exchange data based on the <span class="obeylines-h"><span class="verb"><span class="description">Exchange data based on the <span class="lstinline"></span><span
class="cmtt-10">ovr_mst_idx</span></span></span> list; class="cmtt-10">ovr_mst_idx</span> list;
</dd></dl> </dd></dl>
<!--l. 520--><div class="crosslinks"><p class="noindent">[<a <!--l. 534--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu9.html" >next</a>] [<a href="userhtmlsu9.html" >next</a>] [<a
href="userhtmlsu5.html" >front</a>] [<a href="userhtmlsu5.html" >front</a>] [<a
href="userhtmlsu7.html#userhtmlsu8.html" >up</a>] </p></div> href="userhtmlsu7.html#userhtmlsu8.html" >up</a>] </p></div>
<!--l. 520--><p class="indent" > <a <!--l. 534--><p class="indent" > <a
id="tailuserhtmlsu5.html"></a> id="tailuserhtmlsu5.html"></a>
</body></html> </body></html>

@ -21,7 +21,7 @@ href="userhtmlsu32.html#userhtmlsu53.html" >up</a>] </p></div>
<div class="verbatim" id="verbatim-77"> <div class="verbatim" id="verbatim-54">
call&#x00A0;psb_is_local(x,&#x00A0;desc_a) call&#x00A0;psb_is_local(x,&#x00A0;desc_a)
</div> </div>
<!--l. 1418--><p class="nopar" > <!--l. 1418--><p class="nopar" >

@ -21,7 +21,7 @@ href="userhtmlsu32.html#userhtmlsu54.html" >up</a>] </p></div>
<div class="verbatim" id="verbatim-78"> <div class="verbatim" id="verbatim-55">
call&#x00A0;psb_local_index(y,&#x00A0;x,&#x00A0;desc_a,&#x00A0;info) call&#x00A0;psb_local_index(y,&#x00A0;x,&#x00A0;desc_a,&#x00A0;info)
</div> </div>
<!--l. 1457--><p class="nopar" > <!--l. 1457--><p class="nopar" >

@ -21,7 +21,7 @@ href="userhtmlsu32.html#userhtmlsu55.html" >up</a>] </p></div>
<div class="verbatim" id="verbatim-79"> <div class="verbatim" id="verbatim-56">
call&#x00A0;psb_get_boundary(bndel,&#x00A0;desc,&#x00A0;info) call&#x00A0;psb_get_boundary(bndel,&#x00A0;desc,&#x00A0;info)
</div> </div>
<!--l. 1514--><p class="nopar" > <!--l. 1514--><p class="nopar" >

@ -21,7 +21,7 @@ href="userhtmlsu32.html#userhtmlsu56.html" >up</a>] </p></div>
<div class="verbatim" id="verbatim-80"> <div class="verbatim" id="verbatim-57">
call&#x00A0;psb_get_overlap(ovrel,&#x00A0;desc,&#x00A0;info) call&#x00A0;psb_get_overlap(ovrel,&#x00A0;desc,&#x00A0;info)
</div> </div>
<!--l. 1557--><p class="nopar" > <!--l. 1557--><p class="nopar" >

@ -21,7 +21,7 @@ href="userhtmlsu32.html#userhtmlse7.html" >up</a>] </p></div>
<div class="verbatim" id="verbatim-81"> <div class="verbatim" id="verbatim-58">
call&#x00A0;psb_sp_getrow(row,&#x00A0;a,&#x00A0;nz,&#x00A0;ia,&#x00A0;ja,&#x00A0;val,&#x00A0;info,&#x00A0;&amp; call&#x00A0;psb_sp_getrow(row,&#x00A0;a,&#x00A0;nz,&#x00A0;ia,&#x00A0;ja,&#x00A0;val,&#x00A0;info,&#x00A0;&amp;
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&amp;&#x00A0;append,&#x00A0;nzin,&#x00A0;lrw) &#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&amp;&#x00A0;append,&#x00A0;nzin,&#x00A0;lrw)
</div> </div>

@ -22,7 +22,7 @@ href="userhtmlsu32.html#userhtmlsu57.html" >up</a>] </p></div>
<div class="verbatim" id="verbatim-82"> <div class="verbatim" id="verbatim-59">
isz&#x00A0;=&#x00A0;psb_sizeof(a) isz&#x00A0;=&#x00A0;psb_sizeof(a)
&#x00A0;<br />isz&#x00A0;=&#x00A0;psb_sizeof(desc_a) &#x00A0;<br />isz&#x00A0;=&#x00A0;psb_sizeof(desc_a)
&#x00A0;<br />isz&#x00A0;=&#x00A0;psb_sizeof(prec) &#x00A0;<br />isz&#x00A0;=&#x00A0;psb_sizeof(prec)

@ -29,7 +29,7 @@ class="cmbx-12">_hsort &#8212; Sorting by the Heapsort algorithm</span>
<div class="verbatim" id="verbatim-83"> <div class="verbatim" id="verbatim-60">
call&#x00A0;psb_msort(x,ix,dir,flag) call&#x00A0;psb_msort(x,ix,dir,flag)
&#x00A0;<br />call&#x00A0;psb_qsort(x,ix,dir,flag) &#x00A0;<br />call&#x00A0;psb_qsort(x,ix,dir,flag)
&#x00A0;<br />call&#x00A0;psb_hsort(x,ix,dir,flag) &#x00A0;<br />call&#x00A0;psb_hsort(x,ix,dir,flag)

@ -19,8 +19,8 @@ href="userhtmlsu59.html#userhtmlsu60.html" >up</a>] </p></div>
<div class="verbatim" id="verbatim-84"> <div class="verbatim" id="verbatim-61">
call&#x00A0;psb_init(icontxt,&#x00A0;np,&#x00A0;basectxt,&#x00A0;ids) call&#x00A0;psb_init(ctxt,&#x00A0;np,&#x00A0;basectxt,&#x00A0;ids)
</div> </div>
<!--l. 11--><p class="nopar" > <!--l. 11--><p class="nopar" >
<!--l. 13--><p class="indent" > This subroutine initializes the PSBLAS parallel environment, defining a virtual <!--l. 13--><p class="indent" > This subroutine initializes the PSBLAS parallel environment, defining a virtual
@ -80,12 +80,13 @@ class="cmbx-10">On Return</span> </dt><dd
class="description"> class="description">
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">icontxt</span> </dt><dd class="cmbx-10">ctxt</span> </dt><dd
class="description">the communication context identifying the virtual parallel machine. class="description">the communication context identifying the virtual parallel machine, type
Note that this is always a duplicate of <span class="obeylines-h"><span class="verb"><span <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">basectxt</span></span></span>, so that library class="cmtt-10">psb_ctxt_type</span></span></span>. Note that this is always a duplicate of <span class="obeylines-h"><span class="verb"><span
communications are completely separated from other communication class="cmtt-10">basectxt</span></span></span>,
operations.<br so that library communications are completely separated from other
communication operations.<br
class="newline" />Scope: <span class="newline" />Scope: <span
class="cmbx-10">global</span>.<br class="cmbx-10">global</span>.<br
class="newline" />Type: <span class="newline" />Type: <span

@ -21,8 +21,8 @@ href="userhtmlsu59.html#userhtmlsu61.html" >up</a>] </p></div>
<div class="verbatim" id="verbatim-85"> <div class="verbatim" id="verbatim-62">
call&#x00A0;psb_info(icontxt,&#x00A0;iam,&#x00A0;np) call&#x00A0;psb_info(ctxt,&#x00A0;iam,&#x00A0;np)
</div> </div>
<!--l. 69--><p class="nopar" > <!--l. 69--><p class="nopar" >
<!--l. 71--><p class="indent" > This subroutine returns information about the PSBLAS parallel environment, <!--l. 71--><p class="indent" > This subroutine returns information about the PSBLAS parallel environment,
@ -37,7 +37,7 @@ class="cmbx-10">On Entry</span> </dt><dd
class="description"> class="description">
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">icontxt</span> </dt><dd class="cmbx-10">ctxt</span> </dt><dd
class="description">the communication context identifying the virtual parallel machine.<br class="description">the communication context identifying the virtual parallel machine.<br
class="newline" />Scope: <span class="newline" />Scope: <span
class="cmbx-10">global</span>.<br class="cmbx-10">global</span>.<br
@ -98,8 +98,8 @@ class="cmtt-10">psb_init</span></span></span> a number of processes less than
processes will have on return <span processes will have on return <span
class="cmmi-10">iam </span>= <span class="cmmi-10">iam </span>= <span
class="cmsy-10">-</span>1; the only call involving <span class="obeylines-h"><span class="verb"><span class="cmsy-10">-</span>1; the only call involving <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">icontxt</span></span></span> class="cmtt-10">ctxt</span></span></span> that
that any such process may execute is to <span class="obeylines-h"><span class="verb"><span any such process may execute is to <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">psb_exit</span></span></span>.</li></ol> class="cmtt-10">psb_exit</span></span></span>.</li></ol>

@ -21,9 +21,9 @@ href="userhtmlsu59.html#userhtmlsu62.html" >up</a>] </p></div>
<div class="verbatim" id="verbatim-86"> <div class="verbatim" id="verbatim-63">
call&#x00A0;psb_exit(icontxt) call&#x00A0;psb_exit(ctxt)
&#x00A0;<br />call&#x00A0;psb_exit(icontxt,close) &#x00A0;<br />call&#x00A0;psb_exit(ctxt,close)
</div> </div>
<!--l. 117--><p class="nopar" > <!--l. 117--><p class="nopar" >
<!--l. 119--><p class="indent" > This subroutine exits from the PSBLAS parallel virtual machine. <!--l. 119--><p class="indent" > This subroutine exits from the PSBLAS parallel virtual machine.
@ -37,7 +37,7 @@ class="cmbx-10">On Entry</span> </dt><dd
class="description"> class="description">
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">icontxt</span> </dt><dd class="cmbx-10">ctxt</span> </dt><dd
class="description">the communication context identifying the virtual parallel machine.<br class="description">the communication context identifying the virtual parallel machine.<br
class="newline" />Scope: <span class="newline" />Scope: <span
class="cmbx-10">global</span>.<br class="cmbx-10">global</span>.<br
@ -50,7 +50,7 @@ class="newline" />Specified as: an integer variable.
<span <span
class="cmbx-10">close</span> </dt><dd class="cmbx-10">close</span> </dt><dd
class="description">Whether to close all data structures related to the virtual parallel class="description">Whether to close all data structures related to the virtual parallel
machine, besides those associated with icontxt.<br machine, besides those associated with ctxt.<br
class="newline" />Scope: <span class="newline" />Scope: <span
class="cmbx-10">global</span>.<br class="cmbx-10">global</span>.<br
class="newline" />Type: <span class="newline" />Type: <span
@ -68,7 +68,7 @@ class="cmtt-10">psb_info</span></span></span> has returned
class="cmmi-10">iam </span>= <span class="cmmi-10">iam </span>= <span
class="cmsy-10">-</span>1; indeed, it it is the only routine that may be called with class="cmsy-10">-</span>1; indeed, it it is the only routine that may be called with
argument <span class="obeylines-h"><span class="verb"><span argument <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">icontxt</span></span></span> in this situation. class="cmtt-10">ctxt</span></span></span> in this situation.
</li> </li>
<li <li
class="enumerate" id="x71-108004x2">A call to this routine with <span class="obeylines-h"><span class="verb"><span class="enumerate" id="x71-108004x2">A call to this routine with <span class="obeylines-h"><span class="verb"><span

File diff suppressed because it is too large Load Diff

@ -21,8 +21,8 @@ href="userhtmlsu59.html#userhtmlsu63.html" >up</a>] </p></div>
<div class="verbatim" id="verbatim-87"> <div class="verbatim" id="verbatim-64">
icomm&#x00A0;=&#x00A0;psb_get_mpi_comm(icontxt) icomm&#x00A0;=&#x00A0;psb_get_mpi_comm(ctxt)
</div> </div>
<!--l. 158--><p class="nopar" > <!--l. 158--><p class="nopar" >
<!--l. 160--><p class="indent" > This function returns the MPI communicator associated with a PSBLAS <!--l. 160--><p class="indent" > This function returns the MPI communicator associated with a PSBLAS
@ -37,7 +37,7 @@ class="cmbx-10">On Entry</span> </dt><dd
class="description"> class="description">
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">icontxt</span> </dt><dd class="cmbx-10">ctxt</span> </dt><dd
class="description">the communication context identifying the virtual parallel machine.<br class="description">the communication context identifying the virtual parallel machine.<br
class="newline" />Scope: <span class="newline" />Scope: <span
class="cmbx-10">global</span>.<br class="cmbx-10">global</span>.<br

@ -21,8 +21,8 @@ href="userhtmlsu59.html#userhtmlsu64.html" >up</a>] </p></div>
<div class="verbatim" id="verbatim-88"> <div class="verbatim" id="verbatim-65">
rank&#x00A0;=&#x00A0;psb_get_mpi_rank(icontxt,&#x00A0;id) rank&#x00A0;=&#x00A0;psb_get_mpi_rank(ctxt,&#x00A0;id)
</div> </div>
<!--l. 188--><p class="nopar" > <!--l. 188--><p class="nopar" >
<!--l. 190--><p class="indent" > This function returns the MPI rank of the PSBLAS process <span <!--l. 190--><p class="indent" > This function returns the MPI rank of the PSBLAS process <span
@ -37,7 +37,7 @@ class="cmbx-10">On Entry</span> </dt><dd
class="description"> class="description">
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">icontxt</span> </dt><dd class="cmbx-10">ctxt</span> </dt><dd
class="description">the communication context identifying the virtual parallel machine.<br class="description">the communication context identifying the virtual parallel machine.<br
class="newline" />Scope: <span class="newline" />Scope: <span
class="cmbx-10">global</span>.<br class="cmbx-10">global</span>.<br

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save