Modified docs to included LXspmat & friends.

mat-allocate
Salvatore Filippone 4 years ago
parent 7c2b613ea5
commit c9e2d3ed44

Binary file not shown.

Before

Width:  |  Height:  |  Size: 331 B

After

Width:  |  Height:  |  Size: 334 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 373 B

After

Width:  |  Height:  |  Size: 382 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 292 B

After

Width:  |  Height:  |  Size: 296 B

@ -8,13 +8,11 @@
.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;}
@ -23,7 +21,6 @@
.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;}
@ -31,10 +28,6 @@
.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; }
@ -104,8 +97,9 @@ 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 {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;} .marginpar,.reversemarginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;}
.marginpar p{margin-top:0.4em; margin-bottom:0.4em;} .marginpar p,.reversemarginpar 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; }
@ -148,6 +142,7 @@ 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; }

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: 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: 2.0 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.5 KiB

After

Width:  |  Height:  |  Size: 1.6 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.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.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 10 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: 439 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 765 B

After

Width:  |  Height:  |  Size: 763 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.3 KiB

After

Width:  |  Height:  |  Size: 2.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: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 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.8 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.4 KiB

After

Width:  |  Height:  |  Size: 1.5 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.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

@ -70,264 +70,254 @@ explicitly.
<div class="fbox"><div class="minipage"><!--l. 44--> <div class="fbox"><div class="minipage"><!--l. 44-->
<div class="lstlisting" id="listing-9"><span class="label"><a <div class="lstlisting" id="listing-9"><span class="label"><a
id="x86-123001r1"></a></span><span id="x86-123001r1"></a></span><span
class="cmbx-9">subroutine</span><span class="cmtt-9">subroutine</span><span
class="cmr-9">&#x00A0;</span><span class="cmtt-9">&#x00A0;</span><span
class="cmr-9">psb</span><span class="cmtt-9">psb_foo</span><span
class="cmr-9">_foo</span><span class="cmtt-9">(</span><span
class="cmr-9">(</span><span class="cmtt-9">some</span><span
class="cmr-9">some</span><span class="cmtt-9">&#x00A0;</span><span
class="cmr-9">&#x00A0;</span><span class="cmtt-9">args</span><span
class="cmr-9">args</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">info</span><span
class="cmr-9">info</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-123002r2"></a></span><span id="x86-123002r2"></a></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">...</span><span class="cmtt-9">...</span><span
class="cmr-9">&#x00A0;</span><br /><span class="label"><a class="cmtt-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123003r3"></a></span><span id="x86-123003r3"></a></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="cmbx-9">if</span><span class="cmtt-9">if</span><span
class="cmr-9">(</span><span class="cmtt-9">(</span><span
class="cmr-9">error</span><span class="cmtt-9">error</span><span
class="cmr-9">&#x00A0;</span><span class="cmtt-9">&#x00A0;</span><span
class="cmr-9">detected</span><span class="cmtt-9">detected</span><span
class="cmr-9">)</span><span class="cmtt-9">)</span><span
class="cmr-9">&#x00A0;</span><span class="cmtt-9">&#x00A0;</span><span
class="cmbx-9">then</span><span class="cmtt-9">then</span><span
class="cmr-9">&#x00A0;</span><br /><span class="label"><a class="cmtt-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123004r4"></a></span><span id="x86-123004r4"></a></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">&#x00A0;</span><span
class="cmr-9">info</span><span class="cmtt-9">info</span><span
class="cmr-9">=</span><span class="cmtt-9">=</span><span
class="cmr-9">errcode1</span><span class="cmtt-9">errcode1</span><span
class="cmr-9">&#x00A0;</span><br /><span class="label"><a class="cmtt-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123005r5"></a></span><span id="x86-123005r5"></a></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">&#x00A0;</span><span
class="cmbx-9">call</span><span class="cmtt-9">call</span><span
class="cmr-9">&#x00A0;</span><span class="cmtt-9">&#x00A0;</span><span
class="cmr-9">psb</span><span class="cmtt-9">psb_errpush</span><span
class="cmr-9">_errpush</span><span class="cmtt-9">(</span><span
class="cmr-9">(</span><span class="cmtt-9">&#8217;</span><span
class="cmr-9">&#8217;</span><span class="cmtt-9">psb_foo</span><span
class="cmr-9">psb</span><span class="cmtt-9">&#8217;</span><span
class="cmr-9">_foo</span><span class="cmtt-9">,</span><span
class="cmr-9">&#8217;</span><span class="cmtt-9">&#x00A0;</span><span
class="cmr-9">,</span><span class="cmtt-9">errcode1</span><span
class="cmr-9">&#x00A0;</span><span class="cmtt-9">)</span><span
class="cmr-9">errcode1</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-123006r6"></a></span><span id="x86-123006r6"></a></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">&#x00A0;</span><span
class="cmbx-9">goto</span><span class="cmtt-9">goto</span><span
class="cmr-9">&#x00A0;</span><span class="cmtt-9">&#x00A0;</span><span
class="cmr-9">9999</span><span class="cmtt-9">9999</span><span
class="cmr-9">&#x00A0;</span><br /><span class="label"><a class="cmtt-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123007r7"></a></span><span id="x86-123007r7"></a></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="cmbx-9">end</span><span class="cmtt-9">end</span><span
class="cmr-9">&#x00A0;</span><span class="cmtt-9">&#x00A0;</span><span
class="cmbx-9">if</span><span class="cmtt-9">if</span><span
class="cmr-9">&#x00A0;</span><br /><span class="label"><a class="cmtt-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123008r8"></a></span><span id="x86-123008r8"></a></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">...</span><span class="cmtt-9">...</span><span
class="cmr-9">&#x00A0;</span><br /><span class="label"><a class="cmtt-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123009r9"></a></span><span id="x86-123009r9"></a></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="cmbx-9">call</span><span class="cmtt-9">call</span><span
class="cmr-9">&#x00A0;</span><span class="cmtt-9">&#x00A0;</span><span
class="cmr-9">psb</span><span class="cmtt-9">psb_bar</span><span
class="cmr-9">_bar</span><span class="cmtt-9">(</span><span
class="cmr-9">(</span><span class="cmtt-9">some</span><span
class="cmr-9">some</span><span class="cmtt-9">&#x00A0;</span><span
class="cmr-9">&#x00A0;</span><span class="cmtt-9">args</span><span
class="cmr-9">args</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">info</span><span
class="cmr-9">info</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-123010r10"></a></span><span id="x86-123010r10"></a></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="cmbx-9">if</span><span class="cmtt-9">if</span><span
class="cmr-9">(</span><span class="cmtt-9">(</span><span
class="cmr-9">info</span><span class="cmtt-9">info</span><span
class="cmr-9">&#x00A0;</span><span class="cmtt-9">&#x00A0;</span><span
class="cmr-9">.</span><span class="cmtt-9">.</span><span
class="cmbx-9">ne</span><span class="cmtt-9">ne</span><span
class="cmr-9">.</span><span class="cmtt-9">.</span><span
class="cmr-9">&#x00A0;</span><span class="cmtt-9">&#x00A0;</span><span
class="cmr-9">zero</span><span class="cmtt-9">zero</span><span
class="cmr-9">)</span><span class="cmtt-9">)</span><span
class="cmr-9">&#x00A0;</span><span class="cmtt-9">&#x00A0;</span><span
class="cmbx-9">then</span><span class="cmtt-9">then</span><span
class="cmr-9">&#x00A0;</span><br /><span class="label"><a class="cmtt-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123011r11"></a></span><span id="x86-123011r11"></a></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">&#x00A0;</span><span
class="cmr-9">info</span><span class="cmtt-9">info</span><span
class="cmr-9">=</span><span class="cmtt-9">=</span><span
class="cmr-9">errcode2</span><span class="cmtt-9">errcode2</span><span
class="cmr-9">&#x00A0;</span><br /><span class="label"><a class="cmtt-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123012r12"></a></span><span id="x86-123012r12"></a></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">&#x00A0;</span><span
class="cmbx-9">call</span><span class="cmtt-9">call</span><span
class="cmr-9">&#x00A0;</span><span class="cmtt-9">&#x00A0;</span><span
class="cmr-9">psb</span><span class="cmtt-9">psb_errpush</span><span
class="cmr-9">_errpush</span><span class="cmtt-9">(</span><span
class="cmr-9">(</span><span class="cmtt-9">&#8217;</span><span
class="cmr-9">&#8217;</span><span class="cmtt-9">psb_foo</span><span
class="cmr-9">psb</span><span class="cmtt-9">&#8217;</span><span
class="cmr-9">_foo</span><span class="cmtt-9">,</span><span
class="cmr-9">&#8217;</span><span class="cmtt-9">&#x00A0;</span><span
class="cmr-9">,</span><span class="cmtt-9">errcode2</span><span
class="cmr-9">&#x00A0;</span><span class="cmtt-9">)</span><span
class="cmr-9">errcode2</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-123013r13"></a></span><span id="x86-123013r13"></a></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">&#x00A0;</span><span
class="cmbx-9">goto</span><span class="cmtt-9">goto</span><span
class="cmr-9">&#x00A0;</span><span class="cmtt-9">&#x00A0;</span><span
class="cmr-9">9999</span><span class="cmtt-9">9999</span><span
class="cmr-9">&#x00A0;</span><br /><span class="label"><a class="cmtt-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123014r14"></a></span><span id="x86-123014r14"></a></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="cmbx-9">end</span><span class="cmtt-9">end</span><span
class="cmr-9">&#x00A0;</span><span class="cmtt-9">&#x00A0;</span><span
class="cmbx-9">if</span><span class="cmtt-9">if</span><span
class="cmr-9">&#x00A0;</span><br /><span class="label"><a class="cmtt-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123015r15"></a></span><span id="x86-123015r15"></a></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">...</span><span class="cmtt-9">...</span><span
class="cmr-9">&#x00A0;</span><br /><span class="label"><a class="cmtt-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123016r16"></a></span><span id="x86-123016r16"></a></span><span
class="cmr-9">9999</span><span class="cmtt-9">9999</span><span
class="cmr-9">&#x00A0;</span><span class="cmtt-9">&#x00A0;</span><span
class="cmbx-9">continue</span><span class="cmtt-9">continue</span><span
class="cmr-9">&#x00A0;</span><br /><span class="label"><a class="cmtt-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123017r17"></a></span><span id="x86-123017r17"></a></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="cmbx-9">if</span><span class="cmtt-9">if</span><span
class="cmr-9">&#x00A0;</span><span class="cmtt-9">&#x00A0;</span><span
class="cmr-9">(</span><span class="cmtt-9">(</span><span
class="cmr-9">err</span><span class="cmtt-9">err_act</span><span
class="cmr-9">_act</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">eq</span><span
class="cmbx-9">eq</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">act_abort</span><span
class="cmr-9">act</span><span class="cmtt-9">)</span><span
class="cmr-9">_abort</span><span class="cmtt-9">&#x00A0;</span><span
class="cmr-9">)</span><span class="cmtt-9">then</span><span
class="cmr-9">&#x00A0;</span><span class="cmtt-9">&#x00A0;</span><br /><span class="label"><a
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="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="cmbx-9">call</span><span class="cmtt-9">call</span><span
class="cmr-9">&#x00A0;</span><span class="cmtt-9">&#x00A0;</span><span
class="cmr-9">psb</span><span class="cmtt-9">psb_error</span><span
class="cmr-9">_error</span><span class="cmtt-9">(</span><span
class="cmr-9">(</span><span class="cmtt-9">icontxt</span><span
class="cmr-9">icontxt</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-123019r19"></a></span><span id="x86-123019r19"></a></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="cmbx-9">return</span><span class="cmtt-9">return</span><span
class="cmr-9">&#x00A0;</span><br /><span class="label"><a class="cmtt-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123020r20"></a></span><span id="x86-123020r20"></a></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="cmbx-9">else</span><span class="cmtt-9">else</span><span
class="cmr-9">&#x00A0;</span><br /><span class="label"><a class="cmtt-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123021r21"></a></span><span id="x86-123021r21"></a></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="cmbx-9">return</span><span class="cmtt-9">return</span><span
class="cmr-9">&#x00A0;</span><br /><span class="label"><a class="cmtt-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123022r22"></a></span><span id="x86-123022r22"></a></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="cmbx-9">end</span><span class="cmtt-9">end</span><span
class="cmr-9">&#x00A0;</span><span class="cmtt-9">&#x00A0;</span><span
class="cmbx-9">if</span><span class="cmtt-9">if</span><span
class="cmr-9">&#x00A0;</span><br /><span class="label"><a class="cmtt-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123023r23"></a></span><span id="x86-123023r23"></a></span><span
class="cmr-9">&#x00A0;</span><br /><span class="label"><a class="cmtt-9">&#x00A0;</span><br /><span class="label"><a
id="x86-123024r24"></a></span><span id="x86-123024r24"></a></span><span
class="cmbx-9">end</span><span class="cmtt-9">end</span><span
class="cmr-9">&#x00A0;</span><span class="cmtt-9">&#x00A0;</span><span
class="cmbx-9">subroutine</span><span class="cmtt-9">subroutine</span><span
class="cmr-9">&#x00A0;</span><span class="cmtt-9">&#x00A0;</span><span
class="cmr-9">psb</span><span class="cmtt-9">psb_foo</span>
class="cmr-9">_foo</span>
</div> </div> </div> </div> </div> </div>
</div> </div>
<br /> <div class="caption" <br /> <div class="caption"

@ -220,14 +220,90 @@ class="cmbx-12">Notes</span>
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. 214-->
<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>&#x00A0;&#x00A0;&#x00A0;&#x00A0;vres(1)&#x00A0;=&#x00A0;psb_gedot(x1,y1,desc_a,info,global=.<span id="x20-57004r1"></a></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">&#x00A0;</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">vres</span><span
class="cmbx-10">false</span>.)&#x00A0;<br /><span class="label"><a class="cmtt-10">(1)</span><span
id="x20-57007r4"></a></span>&#x00A0;&#x00A0;&#x00A0;&#x00A0;<span class="cmtt-10">&#x00A0;</span><span
class="cmbx-10">call</span>&#x00A0;psb_sum(ictxt,vres(1:3)) 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">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. 220--><p class="noindent" >In this way the global communication, which for small sizes is a latency-bound

@ -194,14 +194,84 @@ class="cmbx-12">Notes</span>
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. 390-->
<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>&#x00A0;&#x00A0;&#x00A0;&#x00A0;vres(1)&#x00A0;=&#x00A0;psb_geamax(x1,desc_a,info,global=.<span id="x22-59004r1"></a></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">&#x00A0;</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">vres</span><span
class="cmbx-10">false</span>.)&#x00A0;<br /><span class="label"><a class="cmtt-10">(1)</span><span
id="x22-59007r4"></a></span>&#x00A0;&#x00A0;&#x00A0;&#x00A0;<span class="cmtt-10">&#x00A0;</span><span
class="cmbx-10">call</span>&#x00A0;psb_amx(ictxt,vres(1:3)) 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">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. 396--><p class="noindent" >In this way the global communication, which for small sizes is a latency-bound

@ -195,14 +195,84 @@ class="cmbx-12">Notes</span>
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. 543-->
<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>&#x00A0;&#x00A0;&#x00A0;&#x00A0;vres(1)&#x00A0;=&#x00A0;psb_geasum(x1,desc_a,info,global=.<span id="x24-61004r1"></a></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">&#x00A0;</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">vres</span><span
class="cmbx-10">false</span>.)&#x00A0;<br /><span class="label"><a class="cmtt-10">(1)</span><span
id="x24-61007r4"></a></span>&#x00A0;&#x00A0;&#x00A0;&#x00A0;<span class="cmtt-10">&#x00A0;</span><span
class="cmbx-10">call</span>&#x00A0;psb_sum(ictxt,vres(1:3)) 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">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. 549--><p class="noindent" >In this way the global communication, which for small sizes is a latency-bound

@ -198,14 +198,84 @@ class="cmbx-12">Notes</span>
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. 713-->
<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>&#x00A0;&#x00A0;&#x00A0;&#x00A0;vres(1)&#x00A0;=&#x00A0;psb_genrm2(x1,desc_a,info,global=.<span id="x26-63004r1"></a></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">&#x00A0;</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">vres</span><span
class="cmbx-10">false</span>.)&#x00A0;<br /><span class="label"><a class="cmtt-10">(1)</span><span
id="x26-63007r4"></a></span>&#x00A0;&#x00A0;&#x00A0;&#x00A0;<span class="cmtt-10">&#x00A0;</span><span
class="cmbx-10">call</span>&#x00A0;psb_nrm2(ictxt,vres(1:3)) 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">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. 719--><p class="noindent" >In this way the global communication, which for small sizes is a latency-bound

@ -87,10 +87,38 @@ class="content">Data types</span></div><!--tex4ht:label?: x36-7300117 -->
<!--l. 40--> <!--l. 40-->
<div class="lstlisting" id="listing-5"><span class="label"><a <div class="lstlisting" id="listing-5"><span class="label"><a
id="x36-73002r1"></a></span><span id="x36-73002r1"></a></span><span
class="cmbx-10">call</span>&#x00A0;psb_halo(x,&#x00A0;desc_a,&#x00A0;info)&#x00A0;<br /><span class="label"><a class="cmtt-10">call</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_halo</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">)</span><span
class="cmtt-10">&#x00A0;</span><br /><span class="label"><a
id="x36-73003r2"></a></span><span id="x36-73003r2"></a></span><span
class="cmbx-10">call</span>&#x00A0;psb_halo(x,&#x00A0;desc_a,&#x00A0;info,&#x00A0;work,&#x00A0;<span class="cmtt-10">call</span><span
class="cmbx-10">data</span>) class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_halo</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">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">work</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">data</span><span
class="cmtt-10">)</span>
</div> </div>
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">

@ -92,9 +92,42 @@ class="content">Data types</span></div><!--tex4ht:label?: x37-7400118 -->
<!--l. 192--> <!--l. 192-->
<div class="lstlisting" id="listing-6"><span class="label"><a <div class="lstlisting" id="listing-6"><span class="label"><a
id="x37-74002r1"></a></span><span id="x37-74002r1"></a></span><span
class="cmbx-10">call</span>&#x00A0;psb_ovrl(x,&#x00A0;desc_a,&#x00A0;info)&#x00A0;<br /><span class="label"><a class="cmtt-10">call</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_ovrl</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">)</span><span
class="cmtt-10">&#x00A0;</span><br /><span class="label"><a
id="x37-74003r2"></a></span><span id="x37-74003r2"></a></span><span
class="cmbx-10">call</span>&#x00A0;psb_ovrl(x,&#x00A0;desc_a,&#x00A0;info,&#x00A0;update=update_type,&#x00A0;work=work) class="cmtt-10">call</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_ovrl</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">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">update</span><span
class="cmtt-10">=</span><span
class="cmtt-10">update_type</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">work</span><span
class="cmtt-10">=</span><span
class="cmtt-10">work</span><span
class="cmtt-10">)</span>
</div> </div>
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">

@ -109,9 +109,44 @@ class="content">Data types</span></div><!--tex4ht:label?: x38-7500119 -->
<!--l. 387--> <!--l. 387-->
<div class="lstlisting" id="listing-7"><span class="label"><a <div class="lstlisting" id="listing-7"><span class="label"><a
id="x38-75002r1"></a></span><span id="x38-75002r1"></a></span><span
class="cmbx-10">call</span>&#x00A0;psb_gather(glob_x,&#x00A0;loc_x,&#x00A0;desc_a,&#x00A0;info,&#x00A0;root)&#x00A0;<br /><span class="label"><a class="cmtt-10">call</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_gather</span><span
class="cmtt-10">(</span><span
class="cmtt-10">glob_x</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">loc_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><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">root</span><span
class="cmtt-10">)</span><span
class="cmtt-10">&#x00A0;</span><br /><span class="label"><a
id="x38-75003r2"></a></span><span id="x38-75003r2"></a></span><span
class="cmbx-10">call</span>&#x00A0;psb_gather(glob_x,&#x00A0;loc_x,&#x00A0;desc_a,&#x00A0;info,&#x00A0;root) class="cmtt-10">call</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_gather</span><span
class="cmtt-10">(</span><span
class="cmtt-10">glob_x</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">loc_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><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">root</span><span
class="cmtt-10">)</span>
</div> </div>
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">

@ -108,7 +108,27 @@ class="content">Data types</span></div><!--tex4ht:label?: x39-7600120 -->
<!--l. 487--> <!--l. 487-->
<div class="lstlisting" id="listing-8"><span class="label"><a <div class="lstlisting" id="listing-8"><span class="label"><a
id="x39-76002r1"></a></span><span id="x39-76002r1"></a></span><span
class="cmbx-10">call</span>&#x00A0;psb_scatter(glob_x,&#x00A0;loc_x,&#x00A0;desc_a,&#x00A0;info,&#x00A0;root,&#x00A0;mold) class="cmtt-10">call</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_scatter</span><span
class="cmtt-10">(</span><span
class="cmtt-10">glob_x</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">loc_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><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">root</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">mold</span><span
class="cmtt-10">)</span>
</div> </div>
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">

@ -45,8 +45,14 @@ class="description">Single precision complex;
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">Z</span> </dt><dd class="cmbx-10">Z</span> </dt><dd
class="description">Double precision complex.</dd></dl> class="description">Double precision complex;
<!--l. 535--><p class="noindent" >The actual data is contained in the polymorphic component <span class="obeylines-h"><span class="verb"><span </dd><dt class="description">
<span
class="cmbx-10">LS,LD,LC,LZ</span> </dt><dd
class="description">Same numeric type as above, but with <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">psb_lpk_</span></span></span> integer
indices.</dd></dl>
<!--l. 537--><p class="noindent" >The actual data is contained in the polymorphic component <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">a%a</span></span></span> of type class="cmtt-10">a%a</span></span></span> of type
<a <a
id="spbasedata"><span id="spbasedata"><span
@ -62,18 +68,18 @@ class="cmtt-10">psb_spasb</span></span></span> routine. <hr class="figure"><div
id="x14-260014"></a> id="x14-260014"></a>
<div class="center" <div class="center"
> >
<!--l. 542--><p class="noindent" > <!--l. 544--><p class="noindent" >
<div class="minipage"><div class="verbatim" id="verbatim-15"> <div class="minipage"><div class="verbatim" id="verbatim-15">
&#x00A0;&#x00A0;type&#x00A0;::&#x00A0;psb_Tspmat_type &#x00A0;&#x00A0;type&#x00A0;::&#x00A0;psb_Tspmat_type
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;class(psb_T_base_sparse_mat),&#x00A0;allocatable&#x00A0;&#x00A0;::&#x00A0;a &#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;class(psb_T_base_sparse_mat),&#x00A0;allocatable&#x00A0;&#x00A0;::&#x00A0;a
&#x00A0;<br />&#x00A0;&#x00A0;end&#x00A0;type&#x00A0;&#x00A0;psb_Tspmat_type &#x00A0;<br />&#x00A0;&#x00A0;end&#x00A0;type&#x00A0;&#x00A0;psb_Tspmat_type
</div> </div>
<!--l. 548--><p class="nopar" ></div></div> <!--l. 550--><p class="nopar" ></div></div>
<br /> <div class="caption" <br /> <div class="caption"
><span class="id">Figure&#x00A0;4: </span><span ><span class="id">Figure&#x00A0;4: </span><span
class="content"> The PSBLAS defined data type that contains a sparse matrix.</span></div><!--tex4ht:label?: x14-260014 --> class="content"> The PSBLAS defined data type that contains a sparse matrix.</span></div><!--tex4ht:label?: x14-260014 -->
<!--l. 559--><p class="indent" > </div><hr class="endfigure"> <!--l. 561--><p class="indent" > </div><hr class="endfigure">
<!--l. 560--><p class="indent" > The following very common formats are precompiled in PSBLAS and thus are <!--l. 562--><p class="indent" > The following very common formats are precompiled in PSBLAS and thus are
always available: always available:
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
@ -83,6 +89,9 @@ class="cmbx-10">_coo</span><span
class="cmbx-10">_sparse</span><span class="cmbx-10">_sparse</span><span
class="cmbx-10">_mat</span> </dt><dd class="cmbx-10">_mat</span> </dt><dd
class="description">Coordinate storage; class="description">Coordinate storage;
</dd><dt class="description"> </dd><dt class="description">
<span <span
class="cmbx-10">psb</span><span class="cmbx-10">psb</span><span
@ -99,10 +108,7 @@ class="cmbx-10">_csc</span><span
class="cmbx-10">_sparse</span><span class="cmbx-10">_sparse</span><span
class="cmbx-10">_mat</span> </dt><dd class="cmbx-10">_mat</span> </dt><dd
class="description">Compressed storage by columns;</dd></dl> class="description">Compressed storage by columns;</dd></dl>
<!--l. 569--><p class="noindent" >The inner sparse matrix has an associated state, which can take the following
<!--l. 567--><p class="noindent" >The inner sparse matrix has an associated state, which can take the following
values: values:
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
@ -121,12 +127,12 @@ class="description">State entered after a reinitalization; this is used to handl
in which the same sparsity pattern is used multiple times with different in which the same sparsity pattern is used multiple times with different
coefficients. In this state it is only possible to enter coefficients for already coefficients. In this state it is only possible to enter coefficients for already
existing nonzero entries.</dd></dl> existing nonzero entries.</dd></dl>
<!--l. 580--><p class="noindent" >The only storage variant supporting the build state is COO; all other variants are <!--l. 582--><p class="noindent" >The only storage variant supporting the build state is COO; all other variants are
obtained by conversion to/from it. obtained by conversion to/from it.
<!--l. 583--><p class="noindent" > <!--l. 585--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.2.1 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.2.1 </span> <a
id="x14-270003.2.1"></a>Sparse Matrix Methods</h5> id="x14-270003.2.1"></a>Sparse Matrix Methods</h5>
<!--l. 585--><p class="noindent" > <!--l. 587--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.2.2 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.2.2 </span> <a
id="x14-280003.2.2"></a>get_nrows &#8212; Get number of rows in a sparse matrix</h5> id="x14-280003.2.2"></a>get_nrows &#8212; Get number of rows in a sparse matrix</h5>
@ -135,8 +141,8 @@ obtained by conversion to/from it.
<div class="verbatim" id="verbatim-16"> <div class="verbatim" id="verbatim-16">
nr&#x00A0;=&#x00A0;a%get_nrows() nr&#x00A0;=&#x00A0;a%get_nrows()
</div> </div>
<!--l. 590--><p class="nopar" > <!--l. 592--><p class="nopar" >
<!--l. 592--><p class="indent" > <!--l. 594--><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
@ -152,7 +158,7 @@ class="description">the sparse matrix<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. 602--><p class="indent" > <!--l. 604--><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
@ -162,7 +168,7 @@ class="description">
class="cmbx-10">Function value</span> </dt><dd class="cmbx-10">Function value</span> </dt><dd
class="description">The number of rows of sparse matrix <span class="obeylines-h"><span class="verb"><span class="description">The number of rows of sparse matrix <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">a</span></span></span>.</dd></dl> class="cmtt-10">a</span></span></span>.</dd></dl>
<!--l. 609--><p class="noindent" > <!--l. 611--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.2.3 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.2.3 </span> <a
id="x14-290003.2.3"></a>get_ncols &#8212; Get number of columns in a sparse matrix</h5> id="x14-290003.2.3"></a>get_ncols &#8212; Get number of columns in a sparse matrix</h5>
@ -171,8 +177,8 @@ class="cmtt-10">a</span></span></span>.</dd></dl>
<div class="verbatim" id="verbatim-17"> <div class="verbatim" id="verbatim-17">
nc&#x00A0;=&#x00A0;a%get_ncols() nc&#x00A0;=&#x00A0;a%get_ncols()
</div> </div>
<!--l. 614--><p class="nopar" > <!--l. 616--><p class="nopar" >
<!--l. 616--><p class="indent" > <!--l. 618--><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
@ -188,7 +194,7 @@ class="description">the sparse matrix<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. 626--><p class="indent" > <!--l. 628--><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
@ -198,7 +204,7 @@ class="description">
class="cmbx-10">Function value</span> </dt><dd class="cmbx-10">Function value</span> </dt><dd
class="description">The number of columns of sparse matrix <span class="obeylines-h"><span class="verb"><span class="description">The number of columns of sparse matrix <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">a</span></span></span>.</dd></dl> class="cmtt-10">a</span></span></span>.</dd></dl>
<!--l. 633--><p class="noindent" > <!--l. 635--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.2.4 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.2.4 </span> <a
id="x14-300003.2.4"></a>get_nnzeros &#8212; Get number of nonzero elements in a sparse matrix</h5> id="x14-300003.2.4"></a>get_nnzeros &#8212; Get number of nonzero elements in a sparse matrix</h5>
@ -207,8 +213,8 @@ class="cmtt-10">a</span></span></span>.</dd></dl>
<div class="verbatim" id="verbatim-18"> <div class="verbatim" id="verbatim-18">
nz&#x00A0;=&#x00A0;a%get_nnzeros() nz&#x00A0;=&#x00A0;a%get_nnzeros()
</div> </div>
<!--l. 638--><p class="nopar" > <!--l. 640--><p class="nopar" >
<!--l. 640--><p class="indent" > <!--l. 642--><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
@ -224,7 +230,7 @@ class="description">the sparse matrix<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. 650--><p class="indent" > <!--l. 652--><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
@ -234,7 +240,7 @@ class="description">
class="cmbx-10">Function value</span> </dt><dd class="cmbx-10">Function value</span> </dt><dd
class="description">The number of nonzero elements stored in sparse matrix <span class="obeylines-h"><span class="verb"><span class="description">The number of nonzero elements stored in sparse matrix <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">a</span></span></span>.</dd></dl> class="cmtt-10">a</span></span></span>.</dd></dl>
<!--l. 655--><p class="noindent" ><span <!--l. 657--><p class="noindent" ><span
class="cmbx-10">Notes</span> class="cmbx-10">Notes</span>
<ol class="enumerate1" > <ol class="enumerate1" >
<li <li
@ -242,7 +248,7 @@ class="cmbx-10">Notes</span>
class="cmtt-10">a</span></span></span>; some class="cmtt-10">a</span></span></span>; some
storage formats employ padding, thus the returned value for the same storage formats employ padding, thus the returned value for the same
matrix may be different for different storage choices.</li></ol> matrix may be different for different storage choices.</li></ol>
<!--l. 663--><p class="noindent" > <!--l. 665--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.2.5 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.2.5 </span> <a
id="x14-310003.2.5"></a>get_size &#8212; Get maximum number of nonzero elements in a sparse id="x14-310003.2.5"></a>get_size &#8212; Get maximum number of nonzero elements in a sparse
matrix</h5> matrix</h5>
@ -252,8 +258,8 @@ matrix</h5>
<div class="verbatim" id="verbatim-19"> <div class="verbatim" id="verbatim-19">
maxnz&#x00A0;=&#x00A0;a%get_size() maxnz&#x00A0;=&#x00A0;a%get_size()
</div> </div>
<!--l. 668--><p class="nopar" > <!--l. 670--><p class="nopar" >
<!--l. 670--><p class="indent" > <!--l. 672--><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
@ -269,7 +275,7 @@ class="description">the sparse matrix<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. 680--><p class="indent" > <!--l. 682--><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
@ -280,7 +286,7 @@ class="cmbx-10">Function value</span> </dt><dd
class="description">The maximum number of nonzero elements that can be stored class="description">The maximum number of nonzero elements that can be stored
in sparse matrix <span class="obeylines-h"><span class="verb"><span in sparse matrix <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">a</span></span></span> using its current memory allocation.</dd></dl> class="cmtt-10">a</span></span></span> using its current memory allocation.</dd></dl>
<!--l. 687--><p class="noindent" > <!--l. 689--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.2.6 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.2.6 </span> <a
id="x14-320003.2.6"></a>sizeof &#8212; Get memory occupation in bytes of a sparse matrix</h5> id="x14-320003.2.6"></a>sizeof &#8212; Get memory occupation in bytes of a sparse matrix</h5>
@ -289,8 +295,8 @@ class="cmtt-10">a</span></span></span> using its current memory allocation.</dd>
<div class="verbatim" id="verbatim-20"> <div class="verbatim" id="verbatim-20">
memory_size&#x00A0;=&#x00A0;a%sizeof() memory_size&#x00A0;=&#x00A0;a%sizeof()
</div> </div>
<!--l. 692--><p class="nopar" > <!--l. 694--><p class="nopar" >
<!--l. 694--><p class="indent" > <!--l. 696--><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
@ -306,7 +312,7 @@ class="description">the sparse matrix<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. 704--><p class="indent" > <!--l. 706--><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
@ -315,7 +321,7 @@ class="description">
<span <span
class="cmbx-10">Function value</span> </dt><dd class="cmbx-10">Function value</span> </dt><dd
class="description">The memory occupation in bytes.</dd></dl> class="description">The memory occupation in bytes.</dd></dl>
<!--l. 710--><p class="noindent" > <!--l. 712--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.2.7 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.2.7 </span> <a
id="x14-330003.2.7"></a>get_fmt &#8212; Short description of the dynamic type</h5> id="x14-330003.2.7"></a>get_fmt &#8212; Short description of the dynamic type</h5>
@ -324,8 +330,8 @@ class="description">The memory occupation in bytes.</dd></dl>
<div class="verbatim" id="verbatim-21"> <div class="verbatim" id="verbatim-21">
write(*,*)&#x00A0;a%get_fmt() write(*,*)&#x00A0;a%get_fmt()
</div> </div>
<!--l. 715--><p class="nopar" > <!--l. 717--><p class="nopar" >
<!--l. 717--><p class="indent" > <!--l. 719--><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
@ -341,7 +347,7 @@ class="description">the sparse matrix<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. 727--><p class="indent" > <!--l. 729--><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
@ -355,7 +361,7 @@ class="cmtt-10">NULL</span></span></span>, <span class="obeylines-h"><span class
class="cmtt-10">COO</span></span></span>, <span class="obeylines-h"><span class="verb"><span class="cmtt-10">COO</span></span></span>, <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">CSR</span></span></span> and <span class="obeylines-h"><span class="verb"><span class="cmtt-10">CSR</span></span></span> and <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">CSC</span></span></span>.</dd></dl> class="cmtt-10">CSC</span></span></span>.</dd></dl>
<!--l. 734--><p class="noindent" > <!--l. 736--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.2.8 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.2.8 </span> <a
id="x14-340003.2.8"></a>is_bld, is_upd, is_asb &#8212; Status check</h5> id="x14-340003.2.8"></a>is_bld, is_upd, is_asb &#8212; Status check</h5>
@ -366,8 +372,8 @@ if&#x00A0;(a%is_bld())&#x00A0;then
&#x00A0;<br />if&#x00A0;(a%is_upd())&#x00A0;then &#x00A0;<br />if&#x00A0;(a%is_upd())&#x00A0;then
&#x00A0;<br />if&#x00A0;(a%is_asb())&#x00A0;then &#x00A0;<br />if&#x00A0;(a%is_asb())&#x00A0;then
</div> </div>
<!--l. 741--><p class="nopar" > <!--l. 743--><p class="nopar" >
<!--l. 743--><p class="indent" > <!--l. 745--><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
@ -383,7 +389,7 @@ class="description">the sparse matrix<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. 753--><p class="indent" > <!--l. 755--><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
@ -394,7 +400,7 @@ class="cmbx-10">Function value</span> </dt><dd
class="description">A <span class="obeylines-h"><span class="verb"><span class="description">A <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">logical</span></span></span> value indicating whether the matrix is in the Build, class="cmtt-10">logical</span></span></span> value indicating whether the matrix is in the Build,
Update or Assembled state, respectively.</dd></dl> Update or Assembled state, respectively.</dd></dl>
<!--l. 760--><p class="noindent" > <!--l. 762--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.2.9 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.2.9 </span> <a
id="x14-350003.2.9"></a>is_lower, is_upper, is_triangle, is_unit &#8212; Format check</h5> id="x14-350003.2.9"></a>is_lower, is_upper, is_triangle, is_unit &#8212; Format check</h5>
@ -406,8 +412,8 @@ if&#x00A0;(a%is_triangle())&#x00A0;then
&#x00A0;<br />if&#x00A0;(a%is_lower())&#x00A0;then &#x00A0;<br />if&#x00A0;(a%is_lower())&#x00A0;then
&#x00A0;<br />if&#x00A0;(a%is_unit())&#x00A0;then &#x00A0;<br />if&#x00A0;(a%is_unit())&#x00A0;then
</div> </div>
<!--l. 768--><p class="nopar" > <!--l. 770--><p class="nopar" >
<!--l. 770--><p class="indent" > <!--l. 772--><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
@ -423,7 +429,7 @@ class="description">the sparse matrix<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. 780--><p class="indent" > <!--l. 782--><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
@ -437,7 +443,7 @@ class="cmtt-10">logical</span></span></span> value indicating whether the matrix
class="cmtt-10">is_triangle()</span></span></span> returns <span class="obeylines-h"><span class="verb"><span class="cmtt-10">is_triangle()</span></span></span> returns <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">.true.</span></span></span> check also if it is lower, upper and with class="cmtt-10">.true.</span></span></span> check also if it is lower, upper and with
a unit (i.e. assumed) diagonal.</dd></dl> a unit (i.e. assumed) diagonal.</dd></dl>
<!--l. 789--><p class="noindent" > <!--l. 791--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.2.10 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.2.10 </span> <a
id="x14-360003.2.10"></a>cscnv &#8212; Convert to a different storage format</h5> id="x14-360003.2.10"></a>cscnv &#8212; Convert to a different storage format</h5>
@ -447,8 +453,8 @@ class="cmtt-10">.true.</span></span></span> check also if it is lower, upper and
call&#x00A0;&#x00A0;a%cscnv(b,info&#x00A0;[,&#x00A0;type,&#x00A0;mold,&#x00A0;dupl]) call&#x00A0;&#x00A0;a%cscnv(b,info&#x00A0;[,&#x00A0;type,&#x00A0;mold,&#x00A0;dupl])
&#x00A0;<br />call&#x00A0;&#x00A0;a%cscnv(info&#x00A0;[,&#x00A0;type,&#x00A0;mold,&#x00A0;dupl]) &#x00A0;<br />call&#x00A0;&#x00A0;a%cscnv(info&#x00A0;[,&#x00A0;type,&#x00A0;mold,&#x00A0;dupl])
</div> </div>
<!--l. 795--><p class="nopar" > <!--l. 797--><p class="nopar" >
<!--l. 797--><p class="indent" > <!--l. 799--><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
@ -482,7 +488,7 @@ class="newline" />Type: optional.
class="cmbx-10">dupl</span> </dt><dd class="cmbx-10">dupl</span> </dt><dd
class="description">an integer value specifing how to handle duplicates (see Named Constants class="description">an integer value specifing how to handle duplicates (see Named Constants
below)</dd></dl> below)</dd></dl>
<!--l. 811--><p class="indent" > <!--l. 813--><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
@ -498,10 +504,10 @@ class="cmtt-10">psb_Tspmat_type</span></span></span>.
<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. 817--><p class="noindent" >The <span class="obeylines-h"><span class="verb"><span <!--l. 819--><p class="noindent" >The <span class="obeylines-h"><span class="verb"><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></span></span> arguments may be employed to interface with special devices, such as GPUs
and other accelerators. and other accelerators.
<!--l. 822--><p class="noindent" > <!--l. 824--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.2.11 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.2.11 </span> <a
id="x14-370003.2.11"></a>csclip &#8212; Reduce to a submatrix</h5> id="x14-370003.2.11"></a>csclip &#8212; Reduce to a submatrix</h5>
@ -511,8 +517,8 @@ and other accelerators.
&#x00A0;&#x00A0;&#x00A0;&#x00A0;call&#x00A0;a%csclip(b,info[,&amp; &#x00A0;&#x00A0;&#x00A0;&#x00A0;call&#x00A0;a%csclip(b,info[,&amp;
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&amp;&#x00A0;imin,imax,jmin,jmax,rscale,cscale]) &#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&amp;&#x00A0;imin,imax,jmin,jmax,rscale,cscale])
</div> </div>
<!--l. 827--><p class="nopar" > <!--l. 829--><p class="nopar" >
<!--l. 829--><p class="indent" > Returns the submatrix <span class="obeylines-h"><span class="verb"><span <!--l. 831--><p class="indent" > Returns the submatrix <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">A(imin:imax,jmin:jmax)</span></span></span>, optionally rescaling row/col class="cmtt-10">A(imin:imax,jmin:jmax)</span></span></span>, optionally rescaling row/col
indices to the range <span class="obeylines-h"><span class="verb"><span indices to the range <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">1:imax-imin+1,1:jmax-jmin+1</span></span></span>. class="cmtt-10">1:imax-imin+1,1:jmax-jmin+1</span></span></span>.
@ -542,7 +548,7 @@ class="newline" />Type: optional.
<span <span
class="cmbx-10">rscale,cscale</span> </dt><dd class="cmbx-10">rscale,cscale</span> </dt><dd
class="description">Whether to rescale row/column indices. Type: optional.</dd></dl> class="description">Whether to rescale row/column indices. Type: optional.</dd></dl>
<!--l. 843--><p class="noindent" > <!--l. 845--><p class="noindent" >
<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
@ -558,7 +564,7 @@ class="cmtt-10">psb_Tspmat_type</span></span></span>.
<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. 850--><p class="noindent" > <!--l. 852--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.2.12 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.2.12 </span> <a
id="x14-380003.2.12"></a>clean_zeros &#8212; Eliminate zero coefficients</h5> id="x14-380003.2.12"></a>clean_zeros &#8212; Eliminate zero coefficients</h5>
@ -567,11 +573,11 @@ class="description">Return code.</dd></dl>
<div class="verbatim" id="verbatim-26"> <div class="verbatim" id="verbatim-26">
&#x00A0;&#x00A0;&#x00A0;&#x00A0;call&#x00A0;a%clean_zeros(info) &#x00A0;&#x00A0;&#x00A0;&#x00A0;call&#x00A0;a%clean_zeros(info)
</div> </div>
<!--l. 854--><p class="nopar" > <!--l. 856--><p class="nopar" >
<!--l. 856--><p class="indent" > Eliminates zero coefficients in the input matrix. Note that depending on the <!--l. 858--><p class="indent" > Eliminates zero coefficients in the input matrix. Note that depending on the
internal storage format, there may still be some amount of zero padding in the internal storage format, there may still be some amount of zero padding in the
output. output.
<!--l. 860--><p class="indent" > <!--l. 862--><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
@ -589,7 +595,7 @@ class="cmtt-10">psb_Tspmat_type</span></span></span>.<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. 867--><p class="noindent" > <!--l. 869--><p class="noindent" >
<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
@ -605,7 +611,7 @@ class="cmtt-10">psb_Tspmat_type</span></span></span>.
<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. 874--><p class="noindent" > <!--l. 876--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.2.13 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.2.13 </span> <a
id="x14-390003.2.13"></a>get_diag &#8212; Get main diagonal</h5> id="x14-390003.2.13"></a>get_diag &#8212; Get main diagonal</h5>
@ -614,8 +620,8 @@ class="description">Return code.</dd></dl>
<div class="verbatim" id="verbatim-27"> <div class="verbatim" id="verbatim-27">
&#x00A0;&#x00A0;&#x00A0;&#x00A0;call&#x00A0;a%get_diag(d,info) &#x00A0;&#x00A0;&#x00A0;&#x00A0;call&#x00A0;a%get_diag(d,info)
</div> </div>
<!--l. 878--><p class="nopar" > <!--l. 880--><p class="nopar" >
<!--l. 880--><p class="indent" > Returns a copy of the main diagonal. <!--l. 882--><p class="indent" > Returns a copy of the main diagonal.
<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
@ -633,7 +639,7 @@ class="cmtt-10">psb_Tspmat_type</span></span></span>.<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. 888--><p class="noindent" > <!--l. 890--><p class="noindent" >
<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
@ -647,7 +653,7 @@ class="newline" />A one-dimensional array of the appropriate type.
<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. 896--><p class="noindent" > <!--l. 898--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.2.14 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.2.14 </span> <a
id="x14-400003.2.14"></a>clip_diag &#8212; Cut out main diagonal</h5> id="x14-400003.2.14"></a>clip_diag &#8212; Cut out main diagonal</h5>
@ -656,8 +662,8 @@ class="description">Return code.</dd></dl>
<div class="verbatim" id="verbatim-28"> <div class="verbatim" id="verbatim-28">
&#x00A0;&#x00A0;&#x00A0;&#x00A0;call&#x00A0;a%clip_diag(b,info) &#x00A0;&#x00A0;&#x00A0;&#x00A0;call&#x00A0;a%clip_diag(b,info)
</div> </div>
<!--l. 900--><p class="nopar" > <!--l. 902--><p class="nopar" >
<!--l. 902--><p class="indent" > Returns a copy of <span class="obeylines-h"><span class="verb"><span <!--l. 904--><p class="indent" > Returns a copy of <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">a</span></span></span> without the main diagonal. class="cmtt-10">a</span></span></span> without the main diagonal.
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
@ -676,7 +682,7 @@ class="cmtt-10">psb_Tspmat_type</span></span></span>.<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. 910--><p class="noindent" > <!--l. 912--><p class="noindent" >
<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
@ -692,7 +698,7 @@ class="cmtt-10">psb_Tspmat_type</span></span></span>.
<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. 918--><p class="noindent" > <!--l. 920--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.2.15 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.2.15 </span> <a
id="x14-410003.2.15"></a>tril &#8212; Return the lower triangle</h5> id="x14-410003.2.15"></a>tril &#8212; Return the lower triangle</h5>
@ -702,8 +708,8 @@ class="description">Return code.</dd></dl>
&#x00A0;&#x00A0;&#x00A0;&#x00A0;call&#x00A0;a%tril(l,info[,&amp; &#x00A0;&#x00A0;&#x00A0;&#x00A0;call&#x00A0;a%tril(l,info[,&amp;
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&amp;&#x00A0;diag,imin,imax,jmin,jmax,rscale,cscale,u]) &#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&amp;&#x00A0;diag,imin,imax,jmin,jmax,rscale,cscale,u])
</div> </div>
<!--l. 923--><p class="nopar" > <!--l. 925--><p class="nopar" >
<!--l. 925--><p class="indent" > Returns the lower triangular part of submatrix <span class="obeylines-h"><span class="verb"><span <!--l. 927--><p class="indent" > Returns the lower triangular part of submatrix <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">A(imin:imax,jmin:jmax)</span></span></span>, class="cmtt-10">A(imin:imax,jmin:jmax)</span></span></span>,
optionally rescaling row/col indices to the range <span class="obeylines-h"><span class="verb"><span optionally rescaling row/col indices to the range <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">1:imax-imin+1,1:jmax-jmin+1</span></span></span> and class="cmtt-10">1:imax-imin+1,1:jmax-jmin+1</span></span></span> and
@ -741,7 +747,7 @@ class="newline" />Type: optional.
<span <span
class="cmbx-10">rscale,cscale</span> </dt><dd class="cmbx-10">rscale,cscale</span> </dt><dd
class="description">Whether to rescale row/column indices. Type: optional.</dd></dl> class="description">Whether to rescale row/column indices. Type: optional.</dd></dl>
<!--l. 943--><p class="noindent" > <!--l. 945--><p class="noindent" >
<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
@ -764,7 +770,7 @@ class="cmtt-10">psb_Tspmat_type</span></span></span>.
<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. 952--><p class="noindent" > <!--l. 954--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.2.16 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.2.16 </span> <a
id="x14-420003.2.16"></a>triu &#8212; Return the upper triangle</h5> id="x14-420003.2.16"></a>triu &#8212; Return the upper triangle</h5>
@ -774,8 +780,8 @@ class="description">Return code.</dd></dl>
&#x00A0;&#x00A0;&#x00A0;&#x00A0;call&#x00A0;a%triu(u,info[,&amp; &#x00A0;&#x00A0;&#x00A0;&#x00A0;call&#x00A0;a%triu(u,info[,&amp;
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&amp;&#x00A0;diag,imin,imax,jmin,jmax,rscale,cscale,l]) &#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&amp;&#x00A0;diag,imin,imax,jmin,jmax,rscale,cscale,l])
</div> </div>
<!--l. 957--><p class="nopar" > <!--l. 959--><p class="nopar" >
<!--l. 959--><p class="indent" > Returns the upper triangular part of submatrix <span class="obeylines-h"><span class="verb"><span <!--l. 961--><p class="indent" > Returns the upper triangular part of submatrix <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">A(imin:imax,jmin:jmax)</span></span></span>, class="cmtt-10">A(imin:imax,jmin:jmax)</span></span></span>,
optionally rescaling row/col indices to the range <span class="obeylines-h"><span class="verb"><span optionally rescaling row/col indices to the range <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">1:imax-imin+1,1:jmax-jmin+1</span></span></span>, class="cmtt-10">1:imax-imin+1,1:jmax-jmin+1</span></span></span>,
@ -813,7 +819,7 @@ class="newline" />Type: optional.
<span <span
class="cmbx-10">rscale,cscale</span> </dt><dd class="cmbx-10">rscale,cscale</span> </dt><dd
class="description">Whether to rescale row/column indices. Type: optional.</dd></dl> class="description">Whether to rescale row/column indices. Type: optional.</dd></dl>
<!--l. 977--><p class="noindent" > <!--l. 979--><p class="noindent" >
<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
@ -836,7 +842,7 @@ class="cmtt-10">psb_Tspmat_type</span></span></span>.
<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. 989--><p class="noindent" > <!--l. 991--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.2.17 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.2.17 </span> <a
id="x14-430003.2.17"></a>psb_set_mat_default &#8212; Set default storage format</h5> id="x14-430003.2.17"></a>psb_set_mat_default &#8212; Set default storage format</h5>
@ -845,8 +851,8 @@ class="description">Return code.</dd></dl>
<div class="verbatim" id="verbatim-31"> <div class="verbatim" id="verbatim-31">
call&#x00A0;&#x00A0;psb_set_mat_default(a) call&#x00A0;&#x00A0;psb_set_mat_default(a)
</div> </div>
<!--l. 995--><p class="nopar" > <!--l. 997--><p class="nopar" >
<!--l. 997--><p class="indent" > <!--l. 999--><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
@ -862,7 +868,7 @@ class="description">a variable of <span class="obeylines-h"><span class="verb
class="cmtt-10">class(psb_T_base_sparse_mat)</span></span></span> requesting a new default class="cmtt-10">class(psb_T_base_sparse_mat)</span></span></span> requesting a new default
storage format.<br storage format.<br
class="newline" />Type: required.</dd></dl> class="newline" />Type: required.</dd></dl>
<!--l. 1009--><p class="noindent" > <!--l. 1011--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.2.18 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.2.18 </span> <a
id="x14-440003.2.18"></a>clone &#8212; Clone current object</h5> id="x14-440003.2.18"></a>clone &#8212; Clone current object</h5>
@ -871,8 +877,8 @@ class="newline" />Type: required.</dd></dl>
<div class="verbatim" id="verbatim-32"> <div class="verbatim" id="verbatim-32">
call&#x00A0;&#x00A0;a%clone(b,info) call&#x00A0;&#x00A0;a%clone(b,info)
</div> </div>
<!--l. 1014--><p class="nopar" > <!--l. 1016--><p class="nopar" >
<!--l. 1016--><p class="indent" > <!--l. 1018--><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
@ -888,7 +894,7 @@ class="description">the sparse matrix.<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. 1026--><p class="indent" > <!--l. 1028--><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
@ -901,10 +907,10 @@ 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. 1033--><p class="noindent" > <!--l. 1035--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.2.19 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.2.19 </span> <a
id="x14-450003.2.19"></a>Named Constants</h5> id="x14-450003.2.19"></a>Named Constants</h5>
<!--l. 1035--><p class="noindent" > <!--l. 1037--><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
@ -952,12 +958,12 @@ class="description">Update strategy based on additional permutation data (see
<!--l. 1051--><div class="crosslinks"><p class="noindent">[<a <!--l. 1053--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlse4.html" >next</a>] [<a href="userhtmlse4.html" >next</a>] [<a
href="userhtmlsu5.html" >prev</a>] [<a href="userhtmlsu5.html" >prev</a>] [<a
href="userhtmlsu5.html#tailuserhtmlsu5.html" >prev-tail</a>] [<a href="userhtmlsu5.html#tailuserhtmlsu5.html" >prev-tail</a>] [<a
href="userhtmlsu6.html" >front</a>] [<a href="userhtmlsu6.html" >front</a>] [<a
href="userhtmlsu7.html#userhtmlsu9.html" >up</a>] </p></div> href="userhtmlsu7.html#userhtmlsu9.html" >up</a>] </p></div>
<!--l. 1051--><p class="indent" > <a <!--l. 1053--><p class="indent" > <a
id="tailuserhtmlsu6.html"></a> id="tailuserhtmlsu6.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. 1051--><div class="crosslinks"><p class="noindent">[<a <!--l. 1053--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu10.html" >next</a>] [<a href="userhtmlsu10.html" >next</a>] [<a
href="userhtmlsu6.html" >prev</a>] [<a href="userhtmlsu6.html" >prev</a>] [<a
href="userhtmlsu6.html#tailuserhtmlsu6.html" >prev-tail</a>] [<a href="userhtmlsu6.html#tailuserhtmlsu6.html" >prev-tail</a>] [<a
@ -18,7 +18,7 @@ href="userhtmlse3.html#tailuserhtmlsu7.html">tail</a>] [<a
href="userhtmlsu7.html#userhtmlse4.html" >up</a>] </p></div> href="userhtmlsu7.html#userhtmlse4.html" >up</a>] </p></div>
<h4 class="subsectionHead"><span class="titlemark">3.3 </span> <a <h4 class="subsectionHead"><span class="titlemark">3.3 </span> <a
id="x15-460003.3"></a>Dense Vector Data Structure</h4> id="x15-460003.3"></a>Dense Vector Data Structure</h4>
<!--l. 1053--><p class="noindent" >The <a <!--l. 1055--><p class="noindent" >The <a
id="vdata"><span id="vdata"><span
class="cmtt-10">psb</span><span class="cmtt-10">psb</span><span
class="cmtt-10">_T</span><span class="cmtt-10">_T</span><span
@ -36,7 +36,7 @@ sec.&#x00A0;<a
href="userhtmlse6.html#x40-770006">6<!--tex4ht:ref: sec:toolsrout --></a>. Among other simple things, we define here an extraction method that href="userhtmlse6.html#x40-770006">6<!--tex4ht:ref: sec:toolsrout --></a>. Among other simple things, we define here an extraction method that
can be used to get a full copy of the part of the vector stored on the local can be used to get a full copy of the part of the vector stored on the local
process. process.
<!--l. 1063--><p class="indent" > The type declaration is shown in figure&#x00A0;<a <!--l. 1065--><p class="indent" > The type declaration is shown in figure&#x00A0;<a
href="#x15-460015">5<!--tex4ht:ref: fig:vectype --></a> where <span class="obeylines-h"><span class="verb"><span href="#x15-460015">5<!--tex4ht:ref: fig:vectype --></a> where <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">T</span></span></span> is a placeholder for the data class="cmtt-10">T</span></span></span> is a placeholder for the data
type and precision variants type and precision variants
@ -60,7 +60,7 @@ class="description">Single precision complex;
<span <span
class="cmbx-10">Z</span> </dt><dd class="cmbx-10">Z</span> </dt><dd
class="description">Double precision complex.</dd></dl> class="description">Double precision complex.</dd></dl>
<!--l. 1073--><p class="noindent" >The actual data is contained in the polymorphic component <span class="obeylines-h"><span class="verb"><span <!--l. 1075--><p class="noindent" >The actual data is contained in the polymorphic component <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">v%v</span></span></span>; the separation between class="cmtt-10">v%v</span></span></span>; the separation between
the application and the actual data is essential for cases where it is necessary to link the application and the actual data is essential for cases where it is necessary to link
to data storage made available elsewhere outside the direct control of the to data storage made available elsewhere outside the direct control of the
@ -70,7 +70,7 @@ compiler/application, e.g. data stored in a graphics accelerator&#8217;s private
id="x15-460015"></a> id="x15-460015"></a>
<div class="center" <div class="center"
> >
<!--l. 1081--><p class="noindent" > <!--l. 1083--><p class="noindent" >
<div class="minipage"><div class="verbatim" id="verbatim-33"> <div class="minipage"><div class="verbatim" id="verbatim-33">
&#x00A0;&#x00A0;type&#x00A0;psb_T_base_vect_type &#x00A0;&#x00A0;type&#x00A0;psb_T_base_vect_type
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;TYPE(KIND_),&#x00A0;allocatable&#x00A0;::&#x00A0;v(:) &#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;TYPE(KIND_),&#x00A0;allocatable&#x00A0;::&#x00A0;v(:)
@ -81,18 +81,18 @@ compiler/application, e.g. data stored in a graphics accelerator&#8217;s private
&#x00A0;<br />&#x00A0;&#x00A0;end&#x00A0;type&#x00A0;&#x00A0;psb_T_vect_type &#x00A0;<br />&#x00A0;&#x00A0;end&#x00A0;type&#x00A0;&#x00A0;psb_T_vect_type
&#x00A0;<br /> &#x00A0;<br />
</div> </div>
<!--l. 1092--><p class="nopar" ></div></div> <!--l. 1094--><p class="nopar" ></div></div>
<br /> <div class="caption" <br /> <div class="caption"
><span class="id">Figure&#x00A0;5: </span><span ><span class="id">Figure&#x00A0;5: </span><span
class="content"> The PSBLAS defined data type that contains a dense vector.</span></div><!--tex4ht:label?: x15-460015 --> class="content"> The PSBLAS defined data type that contains a dense vector.</span></div><!--tex4ht:label?: x15-460015 -->
<!--l. 1103--><p class="indent" > </div><hr class="endfigure"> <!--l. 1105--><p class="indent" > </div><hr class="endfigure">
<!--l. 1105--><p class="noindent" > <!--l. 1107--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.3.1 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.3.1 </span> <a
id="x15-470003.3.1"></a>Vector Methods</h5> id="x15-470003.3.1"></a>Vector Methods</h5>
<!--l. 1106--><p class="noindent" > <!--l. 1108--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.3.2 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.3.2 </span> <a
id="x15-480003.3.2"></a>get_nrows &#8212; Get number of rows in a dense vector</h5> id="x15-480003.3.2"></a>get_nrows &#8212; Get number of rows in a dense vector</h5>
@ -101,8 +101,8 @@ class="content"> The PSBLAS defined data type that contains a dense vector.</spa
<div class="verbatim" id="verbatim-34"> <div class="verbatim" id="verbatim-34">
nr&#x00A0;=&#x00A0;v%get_nrows() nr&#x00A0;=&#x00A0;v%get_nrows()
</div> </div>
<!--l. 1111--><p class="nopar" > <!--l. 1113--><p class="nopar" >
<!--l. 1113--><p class="indent" > <!--l. 1115--><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
@ -118,7 +118,7 @@ class="description">the dense vector<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. 1123--><p class="indent" > <!--l. 1125--><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
@ -128,7 +128,7 @@ class="description">
class="cmbx-10">Function value</span> </dt><dd class="cmbx-10">Function value</span> </dt><dd
class="description">The number of rows of dense vector <span class="obeylines-h"><span class="verb"><span class="description">The number of rows of dense vector <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">v</span></span></span>.</dd></dl> class="cmtt-10">v</span></span></span>.</dd></dl>
<!--l. 1130--><p class="noindent" > <!--l. 1132--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.3.3 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.3.3 </span> <a
id="x15-490003.3.3"></a>sizeof &#8212; Get memory occupation in bytes of a dense vector</h5> id="x15-490003.3.3"></a>sizeof &#8212; Get memory occupation in bytes of a dense vector</h5>
@ -137,8 +137,8 @@ class="cmtt-10">v</span></span></span>.</dd></dl>
<div class="verbatim" id="verbatim-35"> <div class="verbatim" id="verbatim-35">
memory_size&#x00A0;=&#x00A0;v%sizeof() memory_size&#x00A0;=&#x00A0;v%sizeof()
</div> </div>
<!--l. 1135--><p class="nopar" > <!--l. 1137--><p class="nopar" >
<!--l. 1137--><p class="indent" > <!--l. 1139--><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
@ -154,7 +154,7 @@ class="description">the dense vector<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. 1147--><p class="indent" > <!--l. 1149--><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
@ -163,7 +163,7 @@ class="description">
<span <span
class="cmbx-10">Function value</span> </dt><dd class="cmbx-10">Function value</span> </dt><dd
class="description">The memory occupation in bytes.</dd></dl> class="description">The memory occupation in bytes.</dd></dl>
<!--l. 1153--><p class="noindent" > <!--l. 1155--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.3.4 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.3.4 </span> <a
id="x15-500003.3.4"></a>set &#8212; Set contents of the vector</h5> id="x15-500003.3.4"></a>set &#8212; Set contents of the vector</h5>
@ -174,8 +174,8 @@ class="description">The memory occupation in bytes.</dd></dl>
&#x00A0;<br />&#x00A0;call&#x00A0;&#x00A0;v%set(vect[,first,last]) &#x00A0;<br />&#x00A0;call&#x00A0;&#x00A0;v%set(vect[,first,last])
&#x00A0;<br />&#x00A0;call&#x00A0;&#x00A0;v%zero() &#x00A0;<br />&#x00A0;call&#x00A0;&#x00A0;v%zero()
</div> </div>
<!--l. 1160--><p class="nopar" > <!--l. 1162--><p class="nopar" >
<!--l. 1162--><p class="indent" > <!--l. 1164--><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
@ -226,13 +226,13 @@ 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="userhtmlsu10.html#x19-560011">1<!--tex4ht:ref: tab:f90axpby --></a>.</dd></dl> href="userhtmlsu10.html#x19-560011">1<!--tex4ht:ref: tab:f90axpby --></a>.</dd></dl>
<!--l. 1181--><p class="noindent" >Note that a call to <span class="obeylines-h"><span class="verb"><span <!--l. 1183--><p class="noindent" >Note that a call to <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">v%zero()</span></span></span> is provided as a shorthand, but is equivalent to a call class="cmtt-10">v%zero()</span></span></span> is provided as a shorthand, but is equivalent to a call
to <span class="obeylines-h"><span class="verb"><span to <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">v%set(zero)</span></span></span> with the <span class="obeylines-h"><span class="verb"><span class="cmtt-10">v%set(zero)</span></span></span> with the <span class="obeylines-h"><span class="verb"><span
class="cmtt-10">zero</span></span></span> constant having the appropriate type and class="cmtt-10">zero</span></span></span> constant having the appropriate type and
kind. kind.
<!--l. 1185--><p class="indent" > <!--l. 1187--><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
@ -247,7 +247,7 @@ class="newline" /></dd></dl>
<!--l. 1191--><p class="noindent" > <!--l. 1193--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.3.5 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.3.5 </span> <a
id="x15-510003.3.5"></a>get_vect &#8212; Get a copy of the vector contents</h5> id="x15-510003.3.5"></a>get_vect &#8212; Get a copy of the vector contents</h5>
@ -256,8 +256,8 @@ class="newline" /></dd></dl>
<div class="verbatim" id="verbatim-37"> <div class="verbatim" id="verbatim-37">
extv&#x00A0;=&#x00A0;v%get_vect([n]) extv&#x00A0;=&#x00A0;v%get_vect([n])
</div> </div>
<!--l. 1196--><p class="nopar" > <!--l. 1198--><p class="nopar" >
<!--l. 1198--><p class="indent" > <!--l. 1200--><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
@ -283,7 +283,7 @@ class="newline" />Type: <span
class="cmbx-10">optional</span>; default: entire vector.<br class="cmbx-10">optional</span>; default: entire vector.<br
class="newline" /> class="newline" />
</dd></dl> </dd></dl>
<!--l. 1212--><p class="indent" > <!--l. 1214--><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
@ -299,7 +299,7 @@ class="cmmi-10">n </span>and the internal size of the vector, or 0 if
<span <span
class="cmmi-10">n </span>is negative; otherwise, the size of the array is the same as the internal class="cmmi-10">n </span>is negative; otherwise, the size of the array is the same as the internal
size of the vector.</dd></dl> size of the vector.</dd></dl>
<!--l. 1221--><p class="noindent" > <!--l. 1223--><p class="noindent" >
<h5 class="subsubsectionHead"><span class="titlemark">3.3.6 </span> <a <h5 class="subsubsectionHead"><span class="titlemark">3.3.6 </span> <a
id="x15-520003.3.6"></a>clone &#8212; Clone current object</h5> id="x15-520003.3.6"></a>clone &#8212; Clone current object</h5>
@ -308,8 +308,8 @@ class="cmmi-10">n </span>is negative; otherwise, the size of the array is the sa
<div class="verbatim" id="verbatim-38"> <div class="verbatim" id="verbatim-38">
call&#x00A0;&#x00A0;x%clone(y,info) call&#x00A0;&#x00A0;x%clone(y,info)
</div> </div>
<!--l. 1225--><p class="nopar" > <!--l. 1227--><p class="nopar" >
<!--l. 1227--><p class="indent" > <!--l. 1229--><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
@ -325,7 +325,7 @@ class="description">the dense vector.<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. 1237--><p class="indent" > <!--l. 1239--><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
@ -341,12 +341,12 @@ class="description">Return code.</dd></dl>
<!--l. 1244--><div class="crosslinks"><p class="noindent">[<a <!--l. 1246--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu10.html" >next</a>] [<a href="userhtmlsu10.html" >next</a>] [<a
href="userhtmlsu6.html" >prev</a>] [<a href="userhtmlsu6.html" >prev</a>] [<a
href="userhtmlsu6.html#tailuserhtmlsu6.html" >prev-tail</a>] [<a href="userhtmlsu6.html#tailuserhtmlsu6.html" >prev-tail</a>] [<a
href="userhtmlsu7.html" >front</a>] [<a href="userhtmlsu7.html" >front</a>] [<a
href="userhtmlsu7.html#userhtmlse4.html" >up</a>] </p></div> href="userhtmlsu7.html#userhtmlse4.html" >up</a>] </p></div>
<!--l. 1244--><p class="indent" > <a <!--l. 1246--><p class="indent" > <a
id="tailuserhtmlsu7.html"></a> id="tailuserhtmlsu7.html"></a>
</body></html> </body></html>

@ -19,7 +19,21 @@ href="userhtmlsu76.html#userhtmlsu77.html" >up</a>] </p></div>
<!--l. 126--> <!--l. 126-->
<div class="lstlisting" id="listing-10"><span class="label"><a <div class="lstlisting" id="listing-10"><span class="label"><a
id="x87-124001r1"></a></span><span id="x87-124001r1"></a></span><span
class="cmbx-10">call</span>&#x00A0;psb_errpush(err_c,&#x00A0;r_name,&#x00A0;i_err,&#x00A0;a_err) class="cmtt-10">call</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_errpush</span><span
class="cmtt-10">(</span><span
class="cmtt-10">err_c</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">r_name</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">i_err</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">a_err</span><span
class="cmtt-10">)</span>
</div> </div>
<!--l. 130--><p class="indent" > <!--l. 130--><p class="indent" >

@ -21,7 +21,12 @@ href="userhtmlsu76.html#userhtmlse9.html" >up</a>] </p></div>
<!--l. 156--> <!--l. 156-->
<div class="lstlisting" id="listing-11"><span class="label"><a <div class="lstlisting" id="listing-11"><span class="label"><a
id="x88-125001r1"></a></span><span id="x88-125001r1"></a></span><span
class="cmbx-10">call</span>&#x00A0;psb_error(icontxt) class="cmtt-10">call</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_error</span><span
class="cmtt-10">(</span><span
class="cmtt-10">icontxt</span><span
class="cmtt-10">)</span>
</div> </div>
<!--l. 160--><p class="indent" > <!--l. 160--><p class="indent" >

@ -21,7 +21,12 @@ href="userhtmlsu76.html#userhtmlsu78.html" >up</a>] </p></div>
<!--l. 176--> <!--l. 176-->
<div class="lstlisting" id="listing-12"><span class="label"><a <div class="lstlisting" id="listing-12"><span class="label"><a
id="x89-126001r1"></a></span><span id="x89-126001r1"></a></span><span
class="cmbx-10">call</span>&#x00A0;psb_set_errverbosity(v) class="cmtt-10">call</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_set_errverbosity</span><span
class="cmtt-10">(</span><span
class="cmtt-10">v</span><span
class="cmtt-10">)</span>
</div> </div>
<!--l. 180--><p class="indent" > <!--l. 180--><p class="indent" >

@ -21,7 +21,12 @@ condition</h4>
<!--l. 193--> <!--l. 193-->
<div class="lstlisting" id="listing-13"><span class="label"><a <div class="lstlisting" id="listing-13"><span class="label"><a
id="x90-127001r1"></a></span><span id="x90-127001r1"></a></span><span
class="cmbx-10">call</span>&#x00A0;psb_set_erraction(err_act) class="cmtt-10">call</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">psb_set_erraction</span><span
class="cmtt-10">(</span><span
class="cmtt-10">err_act</span><span
class="cmtt-10">)</span>
</div> </div>
<!--l. 197--><p class="indent" > <!--l. 197--><p class="indent" >

@ -21,7 +21,27 @@ format</h4>
<!--l. 16--> <!--l. 16-->
<div class="lstlisting" id="listing-14"><span class="label"><a <div class="lstlisting" id="listing-14"><span class="label"><a
id="x92-129001r1"></a></span><span id="x92-129001r1"></a></span><span
class="cmbx-10">call</span>&#x00A0;hb_read(a,&#x00A0;iret,&#x00A0;iunit,&#x00A0;filename,&#x00A0;b,&#x00A0;mtitle) class="cmtt-10">call</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">hb_read</span><span
class="cmtt-10">(</span><span
class="cmtt-10">a</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">iret</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">iunit</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">filename</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">b</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">mtitle</span><span
class="cmtt-10">)</span>
</div> </div>
<!--l. 20--><p class="indent" > <!--l. 20--><p class="indent" >

@ -22,7 +22,30 @@ format</h4>
<!--l. 59--> <!--l. 59-->
<div class="lstlisting" id="listing-15"><span class="label"><a <div class="lstlisting" id="listing-15"><span class="label"><a
id="x93-130001r1"></a></span><span id="x93-130001r1"></a></span><span
class="cmbx-10">call</span>&#x00A0;hb_write(a,&#x00A0;iret,&#x00A0;iunit,&#x00A0;filename,&#x00A0;key,&#x00A0;rhs,&#x00A0;mtitle) class="cmtt-10">call</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">hb_write</span><span
class="cmtt-10">(</span><span
class="cmtt-10">a</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">iret</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">iunit</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">filename</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">key</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">rhs</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">mtitle</span><span
class="cmtt-10">)</span>
</div> </div>
<!--l. 65--><p class="indent" > <!--l. 65--><p class="indent" >

@ -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. 1244--><div class="crosslinks"><p class="noindent">[<a <!--l. 1246--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu11.html" >next</a>] [<a href="userhtmlsu11.html" >next</a>] [<a
href="userhtmlsu7.html" >prev</a>] [<a href="userhtmlsu7.html" >prev</a>] [<a
href="userhtmlsu7.html#tailuserhtmlsu7.html" >prev-tail</a>] [<a href="userhtmlsu7.html#tailuserhtmlsu7.html" >prev-tail</a>] [<a
@ -18,9 +18,9 @@ href="userhtmlsu5.html#tailuserhtmlsu8.html">tail</a>] [<a
href="userhtmlsu7.html#userhtmlsu10.html" >up</a>] </p></div> href="userhtmlsu7.html#userhtmlsu10.html" >up</a>] </p></div>
<h4 class="subsectionHead"><span class="titlemark">3.4 </span> <a <h4 class="subsectionHead"><span class="titlemark">3.4 </span> <a
id="x16-530003.4"></a>Preconditioner data structure</h4> id="x16-530003.4"></a>Preconditioner data structure</h4>
<!--l. 1246--><p class="noindent" >Our base library offers support for simple well known preconditioners like Diagonal <!--l. 1248--><p class="noindent" >Our base library offers support for simple well known preconditioners like Diagonal
Scaling or Block Jacobi with incomplete factorization ILU(0). Scaling or Block Jacobi with incomplete factorization ILU(0).
<!--l. 1250--><p class="indent" > A preconditioner is held in the <a <!--l. 1252--><p class="indent" > A preconditioner is held in the <a
id="precdata"><span id="precdata"><span
class="cmtt-10">psb</span><span class="cmtt-10">psb</span><span
class="cmtt-10">_prec</span><span class="cmtt-10">_prec</span><span
@ -42,30 +42,30 @@ preconditioner. <hr class="figure"><div class="figure"
<div class="center" <div class="center"
> >
<!--l. 1271--><p class="noindent" > <!--l. 1273--><p class="noindent" >
<div class="minipage"><div class="verbatim" id="verbatim-39"> <div class="minipage"><div class="verbatim" id="verbatim-39">
&#x00A0;<br />&#x00A0;&#x00A0;type&#x00A0;psb_Tprec_type &#x00A0;<br />&#x00A0;&#x00A0;type&#x00A0;psb_Tprec_type
&#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;class(psb_T_base_prec_type),&#x00A0;allocatable&#x00A0;::&#x00A0;prec &#x00A0;<br />&#x00A0;&#x00A0;&#x00A0;&#x00A0;class(psb_T_base_prec_type),&#x00A0;allocatable&#x00A0;::&#x00A0;prec
&#x00A0;<br />&#x00A0;&#x00A0;end&#x00A0;type&#x00A0;psb_Tprec_type &#x00A0;<br />&#x00A0;&#x00A0;end&#x00A0;type&#x00A0;psb_Tprec_type
&#x00A0;<br /> &#x00A0;<br />
</div> </div>
<!--l. 1279--><p class="nopar" ></div></div> <!--l. 1281--><p class="nopar" ></div></div>
<br /> <div class="caption" <br /> <div class="caption"
><span class="id">Figure&#x00A0;6: </span><span ><span class="id">Figure&#x00A0;6: </span><span
class="content">The PSBLAS defined data type that contains a preconditioner.</span></div><!--tex4ht:label?: x16-530016 --> class="content">The PSBLAS defined data type that contains a preconditioner.</span></div><!--tex4ht:label?: x16-530016 -->
<!--l. 1288--><p class="indent" > </div><hr class="endfigure"> <!--l. 1290--><p class="indent" > </div><hr class="endfigure">
<!--l. 1312--><div class="crosslinks"><p class="noindent">[<a <!--l. 1314--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu11.html" >next</a>] [<a href="userhtmlsu11.html" >next</a>] [<a
href="userhtmlsu7.html" >prev</a>] [<a href="userhtmlsu7.html" >prev</a>] [<a
href="userhtmlsu7.html#tailuserhtmlsu7.html" >prev-tail</a>] [<a href="userhtmlsu7.html#tailuserhtmlsu7.html" >prev-tail</a>] [<a
href="userhtmlsu8.html" >front</a>] [<a href="userhtmlsu8.html" >front</a>] [<a
href="userhtmlsu7.html#userhtmlsu10.html" >up</a>] </p></div> href="userhtmlsu7.html#userhtmlsu10.html" >up</a>] </p></div>
<!--l. 1312--><p class="indent" > <a <!--l. 1314--><p class="indent" > <a
id="tailuserhtmlsu8.html"></a> id="tailuserhtmlsu8.html"></a>
</body></html> </body></html>

@ -23,7 +23,21 @@ format</h4>
<!--l. 111--> <!--l. 111-->
<div class="lstlisting" id="listing-16"><span class="label"><a <div class="lstlisting" id="listing-16"><span class="label"><a
id="x94-131001r1"></a></span><span id="x94-131001r1"></a></span><span
class="cmbx-10">call</span>&#x00A0;mm_mat_read(a,&#x00A0;iret,&#x00A0;iunit,&#x00A0;filename) class="cmtt-10">call</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">mm_mat_read</span><span
class="cmtt-10">(</span><span
class="cmtt-10">a</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">iret</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">iunit</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">filename</span><span
class="cmtt-10">)</span>
</div> </div>
<!--l. 115--><p class="indent" > <!--l. 115--><p class="indent" >

@ -23,7 +23,21 @@ format</h4>
<!--l. 142--> <!--l. 142-->
<div class="lstlisting" id="listing-17"><span class="label"><a <div class="lstlisting" id="listing-17"><span class="label"><a
id="x95-132001r1"></a></span><span id="x95-132001r1"></a></span><span
class="cmbx-10">call</span>&#x00A0;mm_array_read(b,&#x00A0;iret,&#x00A0;iunit,&#x00A0;filename) class="cmtt-10">call</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">mm_array_read</span><span
class="cmtt-10">(</span><span
class="cmtt-10">b</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">iret</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">iunit</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">filename</span><span
class="cmtt-10">)</span>
</div> </div>
<!--l. 146--><p class="indent" > <!--l. 146--><p class="indent" >

@ -23,7 +23,24 @@ format</h4>
<!--l. 179--> <!--l. 179-->
<div class="lstlisting" id="listing-18"><span class="label"><a <div class="lstlisting" id="listing-18"><span class="label"><a
id="x96-133001r1"></a></span><span id="x96-133001r1"></a></span><span
class="cmbx-10">call</span>&#x00A0;mm_mat_write(a,&#x00A0;mtitle,&#x00A0;iret,&#x00A0;iunit,&#x00A0;filename) class="cmtt-10">call</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">mm_mat_write</span><span
class="cmtt-10">(</span><span
class="cmtt-10">a</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">mtitle</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">iret</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">iunit</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">filename</span><span
class="cmtt-10">)</span>
</div> </div>
<!--l. 182--><p class="indent" > <!--l. 182--><p class="indent" >

@ -22,7 +22,24 @@ format</h4>
<!--l. 213--> <!--l. 213-->
<div class="lstlisting" id="listing-19"><span class="label"><a <div class="lstlisting" id="listing-19"><span class="label"><a
id="x97-134001r1"></a></span><span id="x97-134001r1"></a></span><span
class="cmbx-10">call</span>&#x00A0;mm_array_write(b,&#x00A0;vtitle,&#x00A0;iret,&#x00A0;iunit,&#x00A0;filename) class="cmtt-10">call</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">mm_array_write</span><span
class="cmtt-10">(</span><span
class="cmtt-10">b</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">vtitle</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">iret</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">iunit</span><span
class="cmtt-10">,</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">filename</span><span
class="cmtt-10">)</span>
</div> </div>
<!--l. 217--><p class="indent" > <!--l. 217--><p class="indent" >

@ -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. 1312--><div class="crosslinks"><p class="noindent">[<a <!--l. 1314--><div class="crosslinks"><p class="noindent">[<a
href="userhtmlsu8.html" >prev</a>] [<a href="userhtmlsu8.html" >prev</a>] [<a
href="userhtmlsu8.html#tailuserhtmlsu8.html" >prev-tail</a>] [<a href="userhtmlsu8.html#tailuserhtmlsu8.html" >prev-tail</a>] [<a
href="userhtmlsu6.html#tailuserhtmlsu9.html">tail</a>] [<a href="userhtmlsu6.html#tailuserhtmlsu9.html">tail</a>] [<a
href="userhtmlsu7.html#userhtmlsu11.html" >up</a>] </p></div> href="userhtmlsu7.html#userhtmlsu11.html" >up</a>] </p></div>
<h4 class="subsectionHead"><span class="titlemark">3.5 </span> <a <h4 class="subsectionHead"><span class="titlemark">3.5 </span> <a
id="x17-540003.5"></a>Heap data structure</h4> id="x17-540003.5"></a>Heap data structure</h4>
<!--l. 1314--><p class="noindent" >Among the tools routines of sec.&#x00A0;<a <!--l. 1316--><p class="noindent" >Among the tools routines of sec.&#x00A0;<a
href="userhtmlse6.html#x40-770006">6<!--tex4ht:ref: sec:toolsrout --></a>, we have a number of sorting utilities; the heap href="userhtmlse6.html#x40-770006">6<!--tex4ht:ref: sec:toolsrout --></a>, we have a number of sorting utilities; the heap
sort is implemented in terms of heaps having the following signatures: sort is implemented in terms of heaps having the following signatures:
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
@ -36,7 +36,7 @@ class="cmtt-10">_idx</span><span
class="cmtt-10">_heap</span> </dt><dd class="cmtt-10">_heap</span> </dt><dd
class="description">: a heap containing elements of type T, as above, together class="description">: a heap containing elements of type T, as above, together
with an integer index.</dd></dl> with an integer index.</dd></dl>
<!--l. 1323--><p class="noindent" >Given a heap object, the following methods are defined on it: <!--l. 1325--><p class="noindent" >Given a heap object, the following methods are defined on it:
<dl class="description"><dt class="description"> <dl class="description"><dt class="description">
<span <span
class="cmbx-10">init</span> </dt><dd class="cmbx-10">init</span> </dt><dd
@ -62,7 +62,7 @@ class="description">Print on file;
<span <span
class="cmbx-10">free</span> </dt><dd class="cmbx-10">free</span> </dt><dd
class="description">Release memory.</dd></dl> class="description">Release memory.</dd></dl>
<!--l. 1333--><p class="noindent" >These objects are used in MLD2P4 to implement the factorization algorithms. <!--l. 1335--><p class="noindent" >These objects are used in MLD2P4 to implement the factorization algorithms.

@ -63,9 +63,48 @@ iteration.
<!--l. 37--> <!--l. 37-->
<div class="lstlisting" id="listing-20"><span class="label"><a <div class="lstlisting" id="listing-20"><span class="label"><a
id="x107-143001r1"></a></span><span id="x107-143001r1"></a></span><span
class="cmbx-10">call</span>&#x00A0;psb_krylov(method,a,prec,b,x,eps,desc_a,info,&amp;&#x00A0;<br /><span class="label"><a class="cmtt-10">call</span><span
id="x107-143002r2"></a></span>&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&amp;&#x00A0;itmax,iter,<span class="cmtt-10">&#x00A0;</span><span
class="cmbx-10">err</span>,itrace,irst,istop,cond) class="cmtt-10">psb_krylov</span><span
class="cmtt-10">(</span><span
class="cmtt-10">method</span><span
class="cmtt-10">,</span><span
class="cmtt-10">a</span><span
class="cmtt-10">,</span><span
class="cmtt-10">prec</span><span
class="cmtt-10">,</span><span
class="cmtt-10">b</span><span
class="cmtt-10">,</span><span
class="cmtt-10">x</span><span
class="cmtt-10">,</span><span
class="cmtt-10">eps</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">,&amp;</span><span
class="cmtt-10">&#x00A0;</span><br /><span class="label"><a
id="x107-143002r2"></a></span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">&amp;</span><span
class="cmtt-10">&#x00A0;</span><span
class="cmtt-10">itmax</span><span
class="cmtt-10">,</span><span
class="cmtt-10">iter</span><span
class="cmtt-10">,</span><span
class="cmtt-10">err</span><span
class="cmtt-10">,</span><span
class="cmtt-10">itrace</span><span
class="cmtt-10">,</span><span
class="cmtt-10">irst</span><span
class="cmtt-10">,</span><span
class="cmtt-10">istop</span><span
class="cmtt-10">,</span><span
class="cmtt-10">cond</span><span
class="cmtt-10">)</span>
</div> </div>
<!--l. 42--><p class="indent" > <!--l. 42--><p class="indent" >

File diff suppressed because it is too large Load Diff

@ -530,7 +530,9 @@ data type and precision variants
\item[S] Single precision real; \item[S] Single precision real;
\item[D] Double precision real; \item[D] Double precision real;
\item[C] Single precision complex; \item[C] Single precision complex;
\item[Z] Double precision complex. \item[Z] Double precision complex;
\item[LS,LD,LC,LZ] Same numeric type as above, but with
\verb|psb_lpk_| integer indices.
\end{description} \end{description}
The actual data is contained in the polymorphic component \verb|a%a| The actual data is contained in the polymorphic component \verb|a%a|
of type \hypertarget{spbasedata}{{\tt psb\_T\_base\_sparse\_mat}}; its of type \hypertarget{spbasedata}{{\tt psb\_T\_base\_sparse\_mat}}; its

Loading…
Cancel
Save