< !DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
< html >
< head > < title > Computational routines< / title >
< meta http-equiv = "Content-Type" content = "text/html; charset=iso-8859-1" >
< meta name = "generator" content = "TeX4ht (https://tug.org/tex4ht/)" >
< meta name = "originator" content = "TeX4ht (https://tug.org/tex4ht/)" >
<!-- html,3 -->
< meta name = "src" content = "userhtml.tex" >
< link rel = "stylesheet" type = "text/css" href = "userhtml.css" >
< / head > < body
>
<!-- l. 1 --> < div class = "crosslinks" > < p class = "noindent" > [< a
href="userhtmlse8.html" >next< / a > ] [< a
href="userhtmlse3.html" >prev< / a > ] [< a
href="userhtmlse3.html#tailuserhtmlse3.html" >prev-tail< / a > ] [< a
href="#tailuserhtmlse4.html">tail< / a > ] [< a
href="userhtml.html#userhtmlse7.html" >up< / a > ] < / p > < / div >
< h3 class = "sectionHead" > < span class = "titlemark" > 4 < / span > < a
id="x9-550004">< / a > Computational routines< / h3 >
< h4 class = "subsectionHead" > < span class = "titlemark" > 4.1 < / span > < a
id="x9-560004.1">< / a > psb_geaxpby — General Dense Matrix Sum< / h4 >
<!-- l. 10 --> < p class = "noindent" > This subroutine is an interface to the computational kernel for dense matrix
sum:
< div class = "math-display" >
< img
src="userhtml1x.png" alt="y ← α x+ β y
" class="math-display" >< / div >
<!-- l. 12 --> < p class = "nopar" >
<!-- l. 19 --> < p class = "indent" > < code class = "lstinline" > < span style = "color:#000000" > call< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > psb_geaxpby< / span > < span style = "color:#000000" > (< / span > < span style = "color:#000000" > alpha< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > x< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > beta< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > y< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > desc_a< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > info< / span > < span style = "color:#000000" > )< / span > < / code >
< div class = "table" >
<!-- l. 23 --> < p class = "indent" > < a
id="x9-56001r1">< / a > < hr class = "float" > < div class = "float"
>
< div class = "center"
>
<!-- l. 24 --> < p class = "noindent" >
< div class = "tabular" > < table id = "TBL-1" class = "tabular"
>< colgroup id = "TBL-1-1g" > < col
id="TBL-1-1">< col
id="TBL-1-2">< / colgroup > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-1-1-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-1-1-1"
class="td11">< span
class="cmmi-10">x< / span > , < span
class="cmmi-10">y< / span > , < span
class="cmmi-10">α < / span > , < span
class="cmmi-10">β < / span > < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-1-1-2"
class="td11">< span
class="cmbx-10">Subroutine< / span > < / td >
< / tr > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-1-2-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-1-2-1"
class="td11">Short Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-1-2-2"
class="td11">psb_geaxpby< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-1-3-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-1-3-1"
class="td11">Long Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-1-3-2"
class="td11">psb_geaxpby< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-1-4-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-1-4-1"
class="td11">Short Precision Complex< / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-1-4-2"
class="td11">psb_geaxpby< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-1-5-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-1-5-1"
class="td11">Long Precision Complex < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-1-5-2"
class="td11">psb_geaxpby< / td >
< / tr > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-1-6-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-1-6-1"
class="td11"> < / td > < / tr > < / table > < / div > < / div >
< br / > < div class = "caption"
>< span class = "id" > Table  1: < / span > < span
class="content">Data types< / span > < / div > <!-- tex4ht:label?: x9 - 56001r1 -->
< / div > < hr class = "endfloat" / >
< / div >
< dl class = "description" > < dt class = "description" >
<!-- l. 40 --> < p class = "noindent" >
< span
class="cmbx-10">Type:< / span > < / dt > < dd
class="description">
<!-- l. 40 --> < p class = "noindent" > Synchronous.
< / dd > < dt class = "description" >
<!-- l. 41 --> < p class = "noindent" >
< span
class="cmbx-10">On Entry< / span > < / dt > < dd
class="description">
<!-- l. 41 --> < p class = "noindent" >
< / dd > < dt class = "description" >
<!-- l. 42 --> < p class = "noindent" >
< span
class="cmbx-10">alpha< / span > < / dt > < dd
class="description">
<!-- l. 42 --> < p class = "noindent" > the scalar < span
class="cmmi-10">α < / span > .< br
class="newline" />Scope: < span
class="cmbx-10">global < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: a number of the data type indicated in Table  < a
href="#x9-56001r1">1<!-- tex4ht:ref: tab:f90axpby --> < / a > .
< / dd > < dt class = "description" >
<!-- l. 45 --> < p class = "noindent" >
< span
class="cmbx-10">x< / span > < / dt > < dd
class="description">
<!-- l. 45 --> < p class = "noindent" > the local portion of global dense matrix < span
class="cmmi-10">x< / span > .< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: a rank one or two array or an object of type
< a
href="userhtmlse3.html#vdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_T< / span > < span
class="cmtt-10">_vect< / span > < span
class="cmtt-10">_type< / span > < / a >   containing numbers of type specified in Table  < a
href="#x9-56001r1">1<!-- tex4ht:ref: tab:f90axpby --> < / a > . The
rank of < span
class="cmmi-10">x < / span > must be the same of < span
class="cmmi-10">y< / span > .
< / dd > < dt class = "description" >
<!-- l. 53 --> < p class = "noindent" >
< span
class="cmbx-10">beta< / span > < / dt > < dd
class="description">
<!-- l. 53 --> < p class = "noindent" > the scalar < span
class="cmmi-10">β < / span > .< br
class="newline" />Scope: < span
class="cmbx-10">global < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: a number of the data type indicated in Table  < a
href="#x9-56001r1">1<!-- tex4ht:ref: tab:f90axpby --> < / a > .
< / dd > < dt class = "description" >
<!-- l. 58 --> < p class = "noindent" >
< span
class="cmbx-10">y< / span > < / dt > < dd
class="description">
<!-- l. 58 --> < p class = "noindent" > the local portion of the global dense matrix < span
class="cmmi-10">y< / span > . < br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">inout< / span > .< br
class="newline" />Specified as: a rank one or two array or an object of type
< a
href="userhtmlse3.html#vdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_T< / span > < span
class="cmtt-10">_vect< / span > < span
class="cmtt-10">_type< / span > < / a >   containing numbers of the type indicated in Table  < a
href="#x9-56001r1">1<!-- tex4ht:ref: tab:f90axpby --> < / a > .
The rank of < span
class="cmmi-10">y < / span > must be the same of < span
class="cmmi-10">x< / span > .
< / dd > < dt class = "description" >
<!-- l. 65 --> < p class = "noindent" >
< span
class="cmbx-10">desc< / span > < span
class="cmbx-10">_a< / span > < / dt > < dd
class="description">
<!-- l. 65 --> < p class = "noindent" > contains data structures for communications.< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required< / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: an object of type < a
href="userhtmlse3.html#descdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_desc< / span > < span
class="cmtt-10">_type< / span > < / a > .
< / dd > < / dl >
< dl class = "description" > < dt class = "description" >
<!-- l. 91 --> < p class = "noindent" >
< span
class="cmbx-10">On Return< / span > < / dt > < dd
class="description">
<!-- l. 91 --> < p class = "noindent" >
< / dd > < dt class = "description" >
<!-- l. 92 --> < p class = "noindent" >
< span
class="cmbx-10">y< / span > < / dt > < dd
class="description">
<!-- l. 92 --> < p class = "noindent" > the local portion of result submatrix < span
class="cmmi-10">y< / span > .< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">inout< / span > .< br
class="newline" />Specified as: a rank one or two array or an object of type
< a
href="userhtmlse3.html#vdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_T< / span > < span
class="cmtt-10">_vect< / span > < span
class="cmtt-10">_type< / span > < / a >   containing numbers of the type indicated in Table  < a
href="#x9-56001r1">1<!-- tex4ht:ref: tab:f90axpby --> < / a > .
< / dd > < dt class = "description" >
<!-- l. 98 --> < p class = "noindent" >
< span
class="cmbx-10">info< / span > < / dt > < dd
class="description">
<!-- l. 98 --> < p class = "noindent" > Error code.< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">out< / span > .< br
class="newline" />An integer value; 0 means no error has been detected.< / dd > < / dl >
< h4 class = "subsectionHead" > < span class = "titlemark" > 4.2 < / span > < a
id="x9-570004.2">< / a > psb_gedot — Dot Product< / h4 >
<!-- l. 113 --> < p class = "noindent" > This function computes dot product between two vectors < span
class="cmmi-10">x < / span > and < span
class="cmmi-10">y< / span > .< br
class="newline" />If < span
class="cmmi-10">x < / span > and < span
class="cmmi-10">y < / span > are real vectors it computes dot-product as:
< div class = "math-display" >
< img
src="userhtml2x.png" alt="dot ← xTy
" class="math-display" >< / div >
<!-- l. 117 --> < p class = "nopar" > Else if < span
class="cmmi-10">x < / span > and < span
class="cmmi-10">y < / span > are complex vectors then it computes dot-product as:
< div class = "math-display" >
< img
src="userhtml3x.png" alt="dot ← xHy
" class="math-display" >< / div >
<!-- l. 119 --> < p class = "nopar" >
<!-- l. 126 --> < p class = "indent" > < code class = "lstinline" > < span style = "color:#000000" > psb_gedot< / span > < span style = "color:#000000" > (< / span > < span style = "color:#000000" > x< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > y< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > desc_a< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > info< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > [,< / span > < span style = "color:#000000" > global< / span > < span style = "color:#000000" > ])< / span > < / code > < div class = "table" >
<!-- l. 128 --> < p class = "indent" > < a
id="x9-57001r2">< / a > < hr class = "float" > < div class = "float"
>
< div class = "center"
>
<!-- l. 129 --> < p class = "noindent" >
< div class = "tabular" > < table id = "TBL-2" class = "tabular"
>< colgroup id = "TBL-2-1g" > < col
id="TBL-2-1">< col
id="TBL-2-2">< / colgroup > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-2-1-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-2-1-1"
class="td11">< span
class="cmmi-10">dot< / span > , < span
class="cmmi-10">x< / span > , < span
class="cmmi-10">y < / span > < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-2-1-2"
class="td11">< span
class="cmbx-10">Function< / span > < / td >
< / tr > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-2-2-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-2-2-1"
class="td11">Short Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-2-2-2"
class="td11">psb_gedot< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-2-3-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-2-3-1"
class="td11">Long Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-2-3-2"
class="td11">psb_gedot< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-2-4-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-2-4-1"
class="td11">Short Precision Complex< / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-2-4-2"
class="td11">psb_gedot< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-2-5-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-2-5-1"
class="td11">Long Precision Complex < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-2-5-2"
class="td11">psb_gedot< / td >
< / tr > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-2-6-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-2-6-1"
class="td11"> < / td > < / tr > < / table > < / div > < / div >
< br / > < div class = "caption"
>< span class = "id" > Table  2: < / span > < span
class="content">Data types< / span > < / div > <!-- tex4ht:label?: x9 - 57001r2 -->
< / div > < hr class = "endfloat" / >
< / div >
< dl class = "description" > < dt class = "description" >
<!-- l. 145 --> < p class = "noindent" >
< span
class="cmbx-10">Type:< / span > < / dt > < dd
class="description">
<!-- l. 145 --> < p class = "noindent" > Synchronous.
< / dd > < dt class = "description" >
<!-- l. 146 --> < p class = "noindent" >
< span
class="cmbx-10">On Entry< / span > < / dt > < dd
class="description">
<!-- l. 146 --> < p class = "noindent" >
< / dd > < dt class = "description" >
<!-- l. 147 --> < p class = "noindent" >
< span
class="cmbx-10">x< / span > < / dt > < dd
class="description">
<!-- l. 147 --> < p class = "noindent" > the local portion of global dense matrix < span
class="cmmi-10">x< / span > .< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: a rank one or two array or an object of type
< a
href="userhtmlse3.html#vdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_T< / span > < span
class="cmtt-10">_vect< / span > < span
class="cmtt-10">_type< / span > < / a >   containing numbers of type specified in Table  < a
href="#x9-57001r2">2<!-- tex4ht:ref: tab:f90dot --> < / a > . The
rank of < span
class="cmmi-10">x < / span > must be the same of < span
class="cmmi-10">y< / span > .
< / dd > < dt class = "description" >
<!-- l. 157 --> < p class = "noindent" >
< span
class="cmbx-10">y< / span > < / dt > < dd
class="description">
<!-- l. 157 --> < p class = "noindent" > the local portion of global dense matrix < span
class="cmmi-10">y< / span > . < br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: a rank one or two array or an object of type
< a
href="userhtmlse3.html#vdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_T< / span > < span
class="cmtt-10">_vect< / span > < span
class="cmtt-10">_type< / span > < / a >   containing numbers of type specified in Table  < a
href="#x9-57001r2">2<!-- tex4ht:ref: tab:f90dot --> < / a > . The
rank of < span
class="cmmi-10">y < / span > must be the same of < span
class="cmmi-10">x< / span > .
< / dd > < dt class = "description" >
<!-- l. 167 --> < p class = "noindent" >
< span
class="cmbx-10">desc< / span > < span
class="cmbx-10">_a< / span > < / dt > < dd
class="description">
<!-- l. 167 --> < p class = "noindent" > contains data structures for communications.< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required< / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: an object of type < a
href="userhtmlse3.html#descdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_desc< / span > < span
class="cmtt-10">_type< / span > < / a > .
< / dd > < dt class = "description" >
<!-- l. 172 --> < p class = "noindent" >
< span
class="cmbx-10">global< / span > < / dt > < dd
class="description">
<!-- l. 172 --> < p class = "noindent" > Specifies whether the computation should include the global reduction
across all processes.< br
class="newline" />Scope: < span
class="cmbx-10">global < / span > < br
class="newline" />Type: < span
class="cmbx-10">optional< / span > .< br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: a logical scalar. Default: < code class = "lstinline" > < span style = "color:#000000" > global< / span > < span style = "color:#000000" > =.< / span > < span style = "color:#000000" > true< / span > < span style = "color:#000000" > .< / span > < / code > < br
class="newline" />
< / dd > < dt class = "description" >
<!-- l. 191 --> < p class = "noindent" >
< span
class="cmbx-10">On Return< / span > < / dt > < dd
class="description">
<!-- l. 191 --> < p class = "noindent" >
< / dd > < dt class = "description" >
<!-- l. 192 --> < p class = "noindent" >
< span
class="cmbx-10">Function value< / span > < / dt > < dd
class="description">
<!-- l. 192 --> < p class = "noindent" > is the dot product of vectors < span
class="cmmi-10">x < / span > and < span
class="cmmi-10">y< / span > .< br
class="newline" />Scope: < span
class="cmbx-10">global < / span > unless the optional variable < code class = "lstinline" > < span style = "color:#000000" > global< / span > < span style = "color:#000000" > =.< / span > < span style = "color:#000000" > false< / span > < span style = "color:#000000" > .< / span > < / code > has been
specified< br
class="newline" />Specified as: a number of the data type indicated in Table  < a
href="#x9-57001r2">2<!-- tex4ht:ref: tab:f90dot --> < / a > .
< / dd > < dt class = "description" >
<!-- l. 196 --> < p class = "noindent" >
< span
class="cmbx-10">info< / span > < / dt > < dd
class="description">
<!-- l. 196 --> < p class = "noindent" > Error code.< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">out< / span > .< br
class="newline" />An integer value; 0 means no error has been detected.< / dd > < / dl >
<!-- l. 203 --> < p class = "noindent" > < span
class="cmbx-12">Notes< / span >
< ol class = "enumerate1" >
< li
class="enumerate" id="x9-57003x1">
<!-- l. 205 --> < p class = "noindent" > The computation of a global result requires a global communication, which
entails a significant overhead. It may be necessary and/or advisable to
compute multiple dot products at the same time; in this case, it is
possible to improve the runtime efficiency by using the following scheme:
<!-- l. 218 -->
< pre class = "lstlisting" id = "listing-103" > < span class = "label" > < a
id="x9-57004r1">< / a > < / span > < span
class="cmtt-10">  < / span > < span
class="cmtt-10">  < / span > < span
class="cmtt-10">  < / span > < span style = "color:#000000" > < span
class="cmtt-10">vres< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">(1)< / span > < / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > < span
class="cmtt-10">=< / span > < / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > < span
class="cmtt-10">psb_gedot< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">(< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">x1< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">y1< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">desc_a< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">info< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">global< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">=.< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">false< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">.)< / span > < / span >
< span class = "label" > < a
id="x9-57005r2">< / a > < / span > < span
class="cmtt-10">  < / span > < span
class="cmtt-10">  < / span > < span
class="cmtt-10">  < / span > < span style = "color:#000000" > < span
class="cmtt-10">vres< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">(2)< / span > < / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > < span
class="cmtt-10">=< / span > < / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > < span
class="cmtt-10">psb_gedot< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">(< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">x2< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">y2< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">desc_a< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">info< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">global< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">=.< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">false< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">.)< / span > < / span >
< span class = "label" > < a
id="x9-57006r3">< / a > < / span > < span
class="cmtt-10">  < / span > < span
class="cmtt-10">  < / span > < span
class="cmtt-10">  < / span > < span style = "color:#000000" > < span
class="cmtt-10">vres< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">(3)< / span > < / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > < span
class="cmtt-10">=< / span > < / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > < span
class="cmtt-10">psb_gedot< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">(< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">x3< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">y3< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">desc_a< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">info< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">global< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">=.< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">false< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">.)< / span > < / span >
< span class = "label" > < a
id="x9-57007r4">< / a > < / span > < span
class="cmtt-10">  < / span > < span
class="cmtt-10">  < / span > < span
class="cmtt-10">  < / span > < span style = "color:#000000" > < span
class="cmtt-10">call< / span > < / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > < span
class="cmtt-10">psb_sum< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">(< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">ctxt< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">vres< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">(1:3))< / span > < / span > < / pre >
<!-- l. 225 --> < p class = "noindent" > In this way the global communication, which for small sizes is a latency-bound
operation, is invoked only once.< / li > < / ol >
< h4 class = "subsectionHead" > < span class = "titlemark" > 4.3 < / span > < a
id="x9-580004.3">< / a > psb_gedots — Generalized Dot Product< / h4 >
<!-- l. 237 --> < p class = "noindent" > This subroutine computes a series of dot products among the columns of two dense
matrices < span
class="cmmi-10">x < / span > and < span
class="cmmi-10">y< / span > :
< div class = "math-display" >
< img
src="userhtml4x.png" alt="res(i) ← x(:,i)Ty(:,i)
" class="math-display" >< / div >
<!-- l. 239 --> < p class = "nopar" > If the matrices are complex, then the usual convention applies, i.e. the conjugate
transpose of < span
class="cmmi-10">x < / span > is used. If < span
class="cmmi-10">x < / span > and < span
class="cmmi-10">y < / span > are of rank one, then < span
class="cmmi-10">res < / span > is a scalar, else it is a rank
one array.
<!-- l. 245 --> < p class = "indent" > < code class = "lstinline" > < span style = "color:#000000" > call< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > psb_gedots< / span > < span style = "color:#000000" > (< / span > < span style = "color:#000000" > res< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > x< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > y< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > desc_a< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > info< / span > < span style = "color:#000000" > )< / span > < / code >
< div class = "table" >
<!-- l. 247 --> < p class = "indent" > < a
id="x9-58001r3">< / a > < hr class = "float" > < div class = "float"
>
< div class = "center"
>
<!-- l. 248 --> < p class = "noindent" >
< div class = "tabular" > < table id = "TBL-3" class = "tabular"
>< colgroup id = "TBL-3-1g" > < col
id="TBL-3-1">< col
id="TBL-3-2">< / colgroup > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-3-1-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-3-1-1"
class="td11">< span
class="cmmi-10">res< / span > , < span
class="cmmi-10">x< / span > , < span
class="cmmi-10">y < / span > < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-3-1-2"
class="td11">< span
class="cmbx-10">Subroutine< / span > < / td >
< / tr > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-3-2-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-3-2-1"
class="td11">Short Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-3-2-2"
class="td11">psb_gedots < / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-3-3-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-3-3-1"
class="td11">Long Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-3-3-2"
class="td11">psb_gedots < / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-3-4-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-3-4-1"
class="td11">Short Precision Complex< / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-3-4-2"
class="td11">psb_gedots < / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-3-5-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-3-5-1"
class="td11">Long Precision Complex < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-3-5-2"
class="td11">psb_gedots < / td >
< / tr > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-3-6-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-3-6-1"
class="td11"> < / td > < / tr > < / table > < / div > < / div >
< br / > < div class = "caption"
>< span class = "id" > Table  3: < / span > < span
class="content">Data types< / span > < / div > <!-- tex4ht:label?: x9 - 58001r3 -->
< / div > < hr class = "endfloat" / >
< / div >
< dl class = "description" > < dt class = "description" >
<!-- l. 264 --> < p class = "noindent" >
< span
class="cmbx-10">Type:< / span > < / dt > < dd
class="description">
<!-- l. 264 --> < p class = "noindent" > Synchronous.
< / dd > < dt class = "description" >
<!-- l. 265 --> < p class = "noindent" >
< span
class="cmbx-10">On Entry< / span > < / dt > < dd
class="description">
<!-- l. 265 --> < p class = "noindent" >
< / dd > < dt class = "description" >
<!-- l. 266 --> < p class = "noindent" >
< span
class="cmbx-10">x< / span > < / dt > < dd
class="description">
<!-- l. 266 --> < p class = "noindent" > the local portion of global dense matrix < span
class="cmmi-10">x< / span > . < br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: a rank one or two array or an object of type
< a
href="userhtmlse3.html#vdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_T< / span > < span
class="cmtt-10">_vect< / span > < span
class="cmtt-10">_type< / span > < / a >   containing numbers of type specified in Table  < a
href="#x9-58001r3">3<!-- tex4ht:ref: tab:f90mdot --> < / a > . The
rank of < span
class="cmmi-10">x < / span > must be the same of < span
class="cmmi-10">y< / span > .
< / dd > < dt class = "description" >
<!-- l. 274 --> < p class = "noindent" >
< span
class="cmbx-10">y< / span > < / dt > < dd
class="description">
<!-- l. 274 --> < p class = "noindent" > the local portion of global dense matrix < span
class="cmmi-10">y< / span > . < br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: a rank one or two array or an object of type
< a
href="userhtmlse3.html#vdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_T< / span > < span
class="cmtt-10">_vect< / span > < span
class="cmtt-10">_type< / span > < / a >   containing numbers of type specified in Table  < a
href="#x9-58001r3">3<!-- tex4ht:ref: tab:f90mdot --> < / a > . The
rank of < span
class="cmmi-10">y < / span > must be the same of < span
class="cmmi-10">x< / span > .
< / dd > < dt class = "description" >
<!-- l. 282 --> < p class = "noindent" >
< span
class="cmbx-10">desc< / span > < span
class="cmbx-10">_a< / span > < / dt > < dd
class="description">
<!-- l. 282 --> < p class = "noindent" > contains data structures for communications.< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required< / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: an object of type < a
href="userhtmlse3.html#descdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_desc< / span > < span
class="cmtt-10">_type< / span > < / a > .
< / dd > < dt class = "description" >
<!-- l. 287 --> < p class = "noindent" >
< span
class="cmbx-10">On Return< / span > < / dt > < dd
class="description">
<!-- l. 287 --> < p class = "noindent" >
< / dd > < dt class = "description" >
<!-- l. 288 --> < p class = "noindent" >
< span
class="cmbx-10">res< / span > < / dt > < dd
class="description">
<!-- l. 288 --> < p class = "noindent" > is the dot product of vectors < span
class="cmmi-10">x < / span > and < span
class="cmmi-10">y< / span > .< br
class="newline" />Scope: < span
class="cmbx-10">global < / span > < br
class="newline" />Intent: < span
class="cmbx-10">out< / span > .< br
class="newline" />Specified as: a number or a rank-one array of the data type indicated in
Table  < a
href="#x9-57001r2">2<!-- tex4ht:ref: tab:f90dot --> < / a > .
< / dd > < dt class = "description" >
<!-- l. 293 --> < p class = "noindent" >
< span
class="cmbx-10">info< / span > < / dt > < dd
class="description">
<!-- l. 293 --> < p class = "noindent" > Error code.< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">out< / span > .< br
class="newline" />An integer value; 0 means no error has been detected.< / dd > < / dl >
< h4 class = "subsectionHead" > < span class = "titlemark" > 4.4 < / span > < a
id="x9-590004.4">< / a > psb_normi — Infinity-Norm of Vector< / h4 >
<!-- l. 309 --> < p class = "noindent" > This function computes the infinity-norm of a vector < span
class="cmmi-10">x< / span > .< br
class="newline" />If < span
class="cmmi-10">x < / span > is a real vector it computes infinity norm as:
< div class = "math-display" >
< img
src="userhtml5x.png" alt="amax ← max |xi|
i
" class="math-display" >< / div >
<!-- l. 313 --> < p class = "nopar" > else if < span
class="cmmi-10">x < / span > is a complex vector then it computes the infinity-norm as:
< div class = "math-display" >
< img
src="userhtml6x.png" alt="amax ← maxi (|re(xi)|+ |im(xi)|)
" class="math-display" >< / div >
<!-- l. 315 --> < p class = "nopar" >
<!-- l. 321 --> < p class = "indent" > < code class = "lstinline" > < span style = "color:#000000" > psb_geamax< / span > < span style = "color:#000000" > (< / span > < span style = "color:#000000" > x< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > desc_a< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > info< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > [,< / span > < span style = "color:#000000" > global< / span > < span style = "color:#000000" > ])< / span > < / code > < br
class="newline" />< code class = "lstinline" > < span style = "color:#000000" > psb_normi< / span > < span style = "color:#000000" > (< / span > < span style = "color:#000000" > x< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > desc_a< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > info< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > [,< / span > < span style = "color:#000000" > global< / span > < span style = "color:#000000" > ])< / span > < / code >
< div class = "table" >
<!-- l. 325 --> < p class = "indent" > < a
id="x9-59001r4">< / a > < hr class = "float" > < div class = "float"
>
< div class = "center"
>
<!-- l. 326 --> < p class = "noindent" >
< div class = "tabular" > < table id = "TBL-4" class = "tabular"
>< colgroup id = "TBL-4-1g" > < col
id="TBL-4-1">< col
id="TBL-4-2">< col
id="TBL-4-3">< / colgroup > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-4-1-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-4-1-1"
class="td11">< span
class="cmmi-10">amax < / span > < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-4-1-2"
class="td11">< span
class="cmmi-10">x < / span > < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-4-1-3"
class="td11">< span
class="cmbx-10">Function < / span > < / td > < / tr > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-4-2-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-4-2-1"
class="td11">Short Precision Real< / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-4-2-2"
class="td11">Short Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-4-2-3"
class="td11">psb_geamax< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-4-3-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-4-3-1"
class="td11">Long Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-4-3-2"
class="td11">Long Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-4-3-3"
class="td11">psb_geamax< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-4-4-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-4-4-1"
class="td11">Short Precision Real< / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-4-4-2"
class="td11">Short Precision Complex< / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-4-4-3"
class="td11">psb_geamax< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-4-5-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-4-5-1"
class="td11">Long Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-4-5-2"
class="td11">Long Precision Complex < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-4-5-3"
class="td11">psb_geamax< / td >
< / tr > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-4-6-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-4-6-1"
class="td11"> < / td > < / tr > < / table > < / div > < / div >
< br / > < div class = "caption"
>< span class = "id" > Table  4: < / span > < span
class="content">Data types< / span > < / div > <!-- tex4ht:label?: x9 - 59001r4 -->
< / div > < hr class = "endfloat" / >
< / div >
< dl class = "description" > < dt class = "description" >
<!-- l. 343 --> < p class = "noindent" >
< span
class="cmbx-10">Type:< / span > < / dt > < dd
class="description">
<!-- l. 343 --> < p class = "noindent" > Synchronous.
< / dd > < dt class = "description" >
<!-- l. 344 --> < p class = "noindent" >
< span
class="cmbx-10">On Entry< / span > < / dt > < dd
class="description">
<!-- l. 344 --> < p class = "noindent" >
< / dd > < dt class = "description" >
<!-- l. 345 --> < p class = "noindent" >
< span
class="cmbx-10">x< / span > < / dt > < dd
class="description">
<!-- l. 345 --> < p class = "noindent" > the local portion of global dense matrix < span
class="cmmi-10">x< / span > . < br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: a rank one or two array or an object of type
< a
href="userhtmlse3.html#vdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_T< / span > < span
class="cmtt-10">_vect< / span > < span
class="cmtt-10">_type< / span > < / a >   containing numbers of type specified in Table  < a
href="#x9-59001r4">4<!-- tex4ht:ref: tab:f90amax --> < / a > .
< / dd > < dt class = "description" >
<!-- l. 355 --> < p class = "noindent" >
< span
class="cmbx-10">desc< / span > < span
class="cmbx-10">_a< / span > < / dt > < dd
class="description">
<!-- l. 355 --> < p class = "noindent" > contains data structures for communications.< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required< / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: an object of type < a
href="userhtmlse3.html#descdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_desc< / span > < span
class="cmtt-10">_type< / span > < / a > .
< / dd > < dt class = "description" >
<!-- l. 360 --> < p class = "noindent" >
< span
class="cmbx-10">global< / span > < / dt > < dd
class="description">
<!-- l. 360 --> < p class = "noindent" > Specifies whether the computation should include the global reduction
across all processes.< br
class="newline" />Scope: < span
class="cmbx-10">global < / span > < br
class="newline" />Type: < span
class="cmbx-10">optional< / span > .< br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: a logical scalar. Default: < code class = "lstinline" > < span style = "color:#000000" > global< / span > < span style = "color:#000000" > =.< / span > < span style = "color:#000000" > true< / span > < span style = "color:#000000" > .< / span > < / code > < br
class="newline" />
< / dd > < dt class = "description" >
<!-- l. 373 --> < p class = "noindent" >
< span
class="cmbx-10">On Return< / span > < / dt > < dd
class="description">
<!-- l. 373 --> < p class = "noindent" >
< / dd > < dt class = "description" >
<!-- l. 374 --> < p class = "noindent" >
< span
class="cmbx-10">Function value< / span > < / dt > < dd
class="description">
<!-- l. 374 --> < p class = "noindent" > is the infinity norm of vector < span
class="cmmi-10">x< / span > .< br
class="newline" />Scope: < span
class="cmbx-10">global < / span > unless the optional variable < code class = "lstinline" > < span style = "color:#000000" > global< / span > < span style = "color:#000000" > =.< / span > < span style = "color:#000000" > false< / span > < span style = "color:#000000" > .< / span > < / code > has been
specified< br
class="newline" />Specified as: a long precision real number.
< / dd > < dt class = "description" >
<!-- l. 378 --> < p class = "noindent" >
< span
class="cmbx-10">info< / span > < / dt > < dd
class="description">
<!-- l. 378 --> < p class = "noindent" > Error code.< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">out< / span > .< br
class="newline" />An integer value; 0 means no error has been detected.< / dd > < / dl >
<!-- l. 385 --> < p class = "noindent" > < span
class="cmbx-12">Notes< / span >
< ol class = "enumerate1" >
< li
class="enumerate" id="x9-59003x1">
<!-- l. 387 --> < p class = "noindent" > The computation of a global result requires a global communication, which
entails a significant overhead. It may be necessary and/or advisable to compute
multiple norms at the same time; in this case, it is possible to improve the
runtime efficiency by using the following scheme: <!-- l. 400 -->
< pre class = "lstlisting" id = "listing-109" > < span class = "label" > < a
id="x9-59004r1">< / a > < / span > < span
class="cmtt-10">  < / span > < span
class="cmtt-10">  < / span > < span
class="cmtt-10">  < / span > < span style = "color:#000000" > < span
class="cmtt-10">vres< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">(1)< / span > < / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > < span
class="cmtt-10">=< / span > < / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > < span
class="cmtt-10">psb_geamax< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">(< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">x1< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">desc_a< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">info< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">global< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">=.< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">false< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">.)< / span > < / span >
< span class = "label" > < a
id="x9-59005r2">< / a > < / span > < span
class="cmtt-10">  < / span > < span
class="cmtt-10">  < / span > < span
class="cmtt-10">  < / span > < span style = "color:#000000" > < span
class="cmtt-10">vres< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">(2)< / span > < / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > < span
class="cmtt-10">=< / span > < / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > < span
class="cmtt-10">psb_geamax< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">(< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">x2< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">desc_a< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">info< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">global< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">=.< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">false< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">.)< / span > < / span >
< span class = "label" > < a
id="x9-59006r3">< / a > < / span > < span
class="cmtt-10">  < / span > < span
class="cmtt-10">  < / span > < span
class="cmtt-10">  < / span > < span style = "color:#000000" > < span
class="cmtt-10">vres< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">(3)< / span > < / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > < span
class="cmtt-10">=< / span > < / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > < span
class="cmtt-10">psb_geamax< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">(< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">x3< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">desc_a< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">info< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">global< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">=.< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">false< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">.)< / span > < / span >
< span class = "label" > < a
id="x9-59007r4">< / a > < / span > < span
class="cmtt-10">  < / span > < span
class="cmtt-10">  < / span > < span
class="cmtt-10">  < / span > < span style = "color:#000000" > < span
class="cmtt-10">call< / span > < / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > < span
class="cmtt-10">psb_amx< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">(< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">ctxt< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">vres< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">(1:3))< / span > < / span > < / pre >
<!-- l. 407 --> < p class = "noindent" > In this way the global communication, which for small sizes is a latency-bound
operation, is invoked only once.< / li > < / ol >
< h4 class = "subsectionHead" > < span class = "titlemark" > 4.5 < / span > < a
id="x9-600004.5">< / a > psb_geamaxs — Generalized Infinity Norm< / h4 >
<!-- l. 419 --> < p class = "noindent" > This subroutine computes a series of infinity norms on the columns of a dense matrix
< span
class="cmmi-10">x< / span > :
< div class = "math-display" >
< img
src="userhtml7x.png" alt="res(i) ← max|x(k,i)|
k
" class="math-display" >< / div >
<!-- l. 421 --> < p class = "nopar" >
<!-- l. 423 --> < p class = "indent" > < code class = "lstinline" > < span style = "color:#000000" > call< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > psb_geamaxs< / span > < span style = "color:#000000" > (< / span > < span style = "color:#000000" > res< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > x< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > desc_a< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > info< / span > < span style = "color:#000000" > )< / span > < / code >
< div class = "table" >
<!-- l. 425 --> < p class = "indent" > < a
id="x9-60001r5">< / a > < hr class = "float" > < div class = "float"
>
< div class = "center"
>
<!-- l. 426 --> < p class = "noindent" >
< div class = "tabular" > < table id = "TBL-5" class = "tabular"
>< colgroup id = "TBL-5-1g" > < col
id="TBL-5-1">< col
id="TBL-5-2">< col
id="TBL-5-3">< / colgroup > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-5-1-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-5-1-1"
class="td11">< span
class="cmmi-10">res < / span > < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-5-1-2"
class="td11">< span
class="cmmi-10">x < / span > < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-5-1-3"
class="td11">< span
class="cmbx-10">Subroutine < / span > < / td > < / tr > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-5-2-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-5-2-1"
class="td11">Short Precision Real< / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-5-2-2"
class="td11">Short Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-5-2-3"
class="td11">psb_geamaxs< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-5-3-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-5-3-1"
class="td11">Long Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-5-3-2"
class="td11">Long Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-5-3-3"
class="td11">psb_geamaxs< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-5-4-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-5-4-1"
class="td11">Short Precision Real< / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-5-4-2"
class="td11">Short Precision Complex< / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-5-4-3"
class="td11">psb_geamaxs< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-5-5-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-5-5-1"
class="td11">Long Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-5-5-2"
class="td11">Long Precision Complex < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-5-5-3"
class="td11">psb_geamaxs< / td >
< / tr > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-5-6-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-5-6-1"
class="td11"> < / td > < / tr > < / table > < / div > < / div >
< br / > < div class = "caption"
>< span class = "id" > Table  5: < / span > < span
class="content">Data types< / span > < / div > <!-- tex4ht:label?: x9 - 60001r5 -->
< / div > < hr class = "endfloat" / >
< / div >
< dl class = "description" > < dt class = "description" >
<!-- l. 442 --> < p class = "noindent" >
< span
class="cmbx-10">Type:< / span > < / dt > < dd
class="description">
<!-- l. 442 --> < p class = "noindent" > Synchronous.
< / dd > < dt class = "description" >
<!-- l. 443 --> < p class = "noindent" >
< span
class="cmbx-10">On Entry< / span > < / dt > < dd
class="description">
<!-- l. 443 --> < p class = "noindent" >
< / dd > < dt class = "description" >
<!-- l. 444 --> < p class = "noindent" >
< span
class="cmbx-10">x< / span > < / dt > < dd
class="description">
<!-- l. 444 --> < p class = "noindent" > the local portion of global dense matrix < span
class="cmmi-10">x< / span > . < br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: a rank one or two array or an object of type
< a
href="userhtmlse3.html#vdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_T< / span > < span
class="cmtt-10">_vect< / span > < span
class="cmtt-10">_type< / span > < / a >   containing numbers of type specified in Table  < a
href="#x9-60001r5">5<!-- tex4ht:ref: tab:f90mamax --> < / a > .
< / dd > < dt class = "description" >
<!-- l. 452 --> < p class = "noindent" >
< span
class="cmbx-10">desc< / span > < span
class="cmbx-10">_a< / span > < / dt > < dd
class="description">
<!-- l. 452 --> < p class = "noindent" > contains data structures for communications.< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required< / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: an object of type < a
href="userhtmlse3.html#descdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_desc< / span > < span
class="cmtt-10">_type< / span > < / a > .
< / dd > < dt class = "description" >
<!-- l. 457 --> < p class = "noindent" >
< span
class="cmbx-10">On Return< / span > < / dt > < dd
class="description">
<!-- l. 457 --> < p class = "noindent" >
< / dd > < dt class = "description" >
<!-- l. 458 --> < p class = "noindent" >
< span
class="cmbx-10">res< / span > < / dt > < dd
class="description">
<!-- l. 458 --> < p class = "noindent" > is the infinity norm of the columns of < span
class="cmmi-10">x< / span > .< br
class="newline" />Scope: < span
class="cmbx-10">global < / span > < br
class="newline" />Intent: < span
class="cmbx-10">out< / span > .< br
class="newline" />Specified as: a number or a rank-one array of long precision real numbers.
< / dd > < dt class = "description" >
<!-- l. 462 --> < p class = "noindent" >
< span
class="cmbx-10">info< / span > < / dt > < dd
class="description">
<!-- l. 462 --> < p class = "noindent" > Error code.< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">out< / span > .< br
class="newline" />An integer value; 0 means no error has been detected.< / dd > < / dl >
< h4 class = "subsectionHead" > < span class = "titlemark" > 4.6 < / span > < a
id="x9-610004.6">< / a > psb_norm1 — 1-Norm of Vector< / h4 >
<!-- l. 478 --> < p class = "noindent" > This function computes the 1-norm of a vector < span
class="cmmi-10">x< / span > .< br
class="newline" />If < span
class="cmmi-10">x < / span > is a real vector it computes 1-norm as:
< div class = "math-display" >
< img
src="userhtml8x.png" alt="asum ← ∥ xi∥
" class="math-display" >< / div >
<!-- l. 481 --> < p class = "nopar" > else if < span
class="cmmi-10">x < / span > is a complex vector then it computes 1-norm as:
< div class = "math-display" >
< img
src="userhtml9x.png" alt="asum ← ∥ re(x)∥ 1 + ∥ im (x)∥ 1
" class="math-display" >< / div >
<!-- l. 483 --> < p class = "nopar" >
<!-- l. 486 --> < p class = "indent" > < code class = "lstinline" > < span style = "color:#000000" > psb_geasum< / span > < span style = "color:#000000" > (< / span > < span style = "color:#000000" > x< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > desc_a< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > info< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > [,< / span > < span style = "color:#000000" > global< / span > < span style = "color:#000000" > ])< / span > < / code > < code class = "lstinline" > < span style = "color:#000000" > psb_norm1< / span > < span style = "color:#000000" > (< / span > < span style = "color:#000000" > x< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > desc_a< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > info< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > [,< / span > < span style = "color:#000000" > global< / span > < span style = "color:#000000" > ])< / span > < / code >
< div class = "table" >
<!-- l. 489 --> < p class = "indent" > < a
id="x9-61001r6">< / a > < hr class = "float" > < div class = "float"
>
< div class = "center"
>
<!-- l. 490 --> < p class = "noindent" >
< div class = "tabular" > < table id = "TBL-6" class = "tabular"
>< colgroup id = "TBL-6-1g" > < col
id="TBL-6-1">< col
id="TBL-6-2">< col
id="TBL-6-3">< / colgroup > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-6-1-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-6-1-1"
class="td11">< span
class="cmmi-10">asum < / span > < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-6-1-2"
class="td11">< span
class="cmmi-10">x < / span > < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-6-1-3"
class="td11">< span
class="cmbx-10">Function < / span > < / td > < / tr > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-6-2-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-6-2-1"
class="td11">Short Precision Real< / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-6-2-2"
class="td11">Short Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-6-2-3"
class="td11">psb_geasum< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-6-3-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-6-3-1"
class="td11">Long Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-6-3-2"
class="td11">Long Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-6-3-3"
class="td11">psb_geasum< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-6-4-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-6-4-1"
class="td11">Short Precision Real< / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-6-4-2"
class="td11">Short Precision Complex< / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-6-4-3"
class="td11">psb_geasum< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-6-5-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-6-5-1"
class="td11">Long Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-6-5-2"
class="td11">Long Precision Complex < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-6-5-3"
class="td11">psb_geasum< / td >
< / tr > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-6-6-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-6-6-1"
class="td11"> < / td > < / tr > < / table > < / div > < / div >
< br / > < div class = "caption"
>< span class = "id" > Table  6: < / span > < span
class="content">Data types< / span > < / div > <!-- tex4ht:label?: x9 - 61001r6 -->
< / div > < hr class = "endfloat" / >
< / div >
< dl class = "description" > < dt class = "description" >
<!-- l. 506 --> < p class = "noindent" >
< span
class="cmbx-10">Type:< / span > < / dt > < dd
class="description">
<!-- l. 506 --> < p class = "noindent" > Synchronous.
< / dd > < dt class = "description" >
<!-- l. 507 --> < p class = "noindent" >
< span
class="cmbx-10">On Entry< / span > < / dt > < dd
class="description">
<!-- l. 507 --> < p class = "noindent" >
< / dd > < dt class = "description" >
<!-- l. 508 --> < p class = "noindent" >
< span
class="cmbx-10">x< / span > < / dt > < dd
class="description">
<!-- l. 508 --> < p class = "noindent" > the local portion of global dense matrix < span
class="cmmi-10">x< / span > . < br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: a rank one or two array or an object of type
< a
href="userhtmlse3.html#vdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_T< / span > < span
class="cmtt-10">_vect< / span > < span
class="cmtt-10">_type< / span > < / a >   containing numbers of type specified in Table  < a
href="#x9-61001r6">6<!-- tex4ht:ref: tab:f90asum --> < / a > .
< / dd > < dt class = "description" >
<!-- l. 518 --> < p class = "noindent" >
< span
class="cmbx-10">desc< / span > < span
class="cmbx-10">_a< / span > < / dt > < dd
class="description">
<!-- l. 518 --> < p class = "noindent" > contains data structures for communications.< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required< / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: an object of type < a
href="userhtmlse3.html#descdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_desc< / span > < span
class="cmtt-10">_type< / span > < / a > .
< / dd > < dt class = "description" >
<!-- l. 523 --> < p class = "noindent" >
< span
class="cmbx-10">global< / span > < / dt > < dd
class="description">
<!-- l. 523 --> < p class = "noindent" > Specifies whether the computation should include the global reduction
across all processes.< br
class="newline" />Scope: < span
class="cmbx-10">global < / span > < br
class="newline" />Type: < span
class="cmbx-10">optional< / span > .< br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: a logical scalar. Default: < code class = "lstinline" > < span style = "color:#000000" > global< / span > < span style = "color:#000000" > =.< / span > < span style = "color:#000000" > true< / span > < span style = "color:#000000" > .< / span > < / code > < br
class="newline" />
< / dd > < dt class = "description" >
<!-- l. 531 --> < p class = "noindent" >
< span
class="cmbx-10">On Return< / span > < / dt > < dd
class="description">
<!-- l. 531 --> < p class = "noindent" >
< / dd > < dt class = "description" >
<!-- l. 532 --> < p class = "noindent" >
< span
class="cmbx-10">Function value< / span > < / dt > < dd
class="description">
<!-- l. 532 --> < p class = "noindent" > is the 1-norm of vector < span
class="cmmi-10">x< / span > .< br
class="newline" />Scope: < span
class="cmbx-10">global < / span > unless the optional variable < code class = "lstinline" > < span style = "color:#000000" > global< / span > < span style = "color:#000000" > =.< / span > < span style = "color:#000000" > false< / span > < span style = "color:#000000" > .< / span > < / code > has been
specified< br
class="newline" />Specified as: a long precision real number.
< / dd > < dt class = "description" >
<!-- l. 536 --> < p class = "noindent" >
< span
class="cmbx-10">info< / span > < / dt > < dd
class="description">
<!-- l. 536 --> < p class = "noindent" > Error code.< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">out< / span > .< br
class="newline" />An integer value; 0 means no error has been detected.< / dd > < / dl >
<!-- l. 543 --> < p class = "noindent" > < span
class="cmbx-12">Notes< / span >
< ol class = "enumerate1" >
< li
class="enumerate" id="x9-61003x1">
<!-- l. 545 --> < p class = "noindent" > The computation of a global result requires a global communication, which
entails a significant overhead. It may be necessary and/or advisable to compute
multiple norms at the same time; in this case, it is possible to improve the
runtime efficiency by using the following scheme: <!-- l. 558 -->
< pre class = "lstlisting" id = "listing-115" > < span class = "label" > < a
id="x9-61004r1">< / a > < / span > < span
class="cmtt-10">  < / span > < span
class="cmtt-10">  < / span > < span
class="cmtt-10">  < / span > < span style = "color:#000000" > < span
class="cmtt-10">vres< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">(1)< / span > < / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > < span
class="cmtt-10">=< / span > < / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > < span
class="cmtt-10">psb_geasum< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">(< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">x1< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">desc_a< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">info< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">global< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">=.< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">false< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">.)< / span > < / span >
< span class = "label" > < a
id="x9-61005r2">< / a > < / span > < span
class="cmtt-10">  < / span > < span
class="cmtt-10">  < / span > < span
class="cmtt-10">  < / span > < span style = "color:#000000" > < span
class="cmtt-10">vres< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">(2)< / span > < / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > < span
class="cmtt-10">=< / span > < / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > < span
class="cmtt-10">psb_geasum< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">(< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">x2< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">desc_a< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">info< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">global< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">=.< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">false< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">.)< / span > < / span >
< span class = "label" > < a
id="x9-61006r3">< / a > < / span > < span
class="cmtt-10">  < / span > < span
class="cmtt-10">  < / span > < span
class="cmtt-10">  < / span > < span style = "color:#000000" > < span
class="cmtt-10">vres< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">(3)< / span > < / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > < span
class="cmtt-10">=< / span > < / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > < span
class="cmtt-10">psb_geasum< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">(< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">x3< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">desc_a< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">info< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">global< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">=.< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">false< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">.)< / span > < / span >
< span class = "label" > < a
id="x9-61007r4">< / a > < / span > < span
class="cmtt-10">  < / span > < span
class="cmtt-10">  < / span > < span
class="cmtt-10">  < / span > < span style = "color:#000000" > < span
class="cmtt-10">call< / span > < / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > < span
class="cmtt-10">psb_sum< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">(< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">ctxt< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">vres< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">(1:3))< / span > < / span > < / pre >
<!-- l. 565 --> < p class = "noindent" > In this way the global communication, which for small sizes is a latency-bound
operation, is invoked only once.< / li > < / ol >
< h4 class = "subsectionHead" > < span class = "titlemark" > 4.7 < / span > < a
id="x9-620004.7">< / a > psb_geasums — Generalized 1-Norm of Vector< / h4 >
<!-- l. 572 --> < p class = "noindent" > This subroutine computes a series of 1-norms on the columns of a dense matrix
< span
class="cmmi-10">x< / span > :
< div class = "math-display" >
< img
src="userhtml10x.png" alt="res(i) ← max|x(k,i)|
k
" class="math-display" >< / div >
<!-- l. 574 --> < p class = "nopar" > This function computes the 1-norm of a vector < span
class="cmmi-10">x< / span > .< br
class="newline" />If < span
class="cmmi-10">x < / span > is a real vector it computes 1-norm as:
< div class = "math-display" >
< img
src="userhtml11x.png" alt="res(i) ← ∥ xi∥
" class="math-display" >< / div >
<!-- l. 578 --> < p class = "nopar" > else if < span
class="cmmi-10">x < / span > is a complex vector then it computes 1-norm as:
< div class = "math-display" >
< img
src="userhtml12x.png" alt="res(i) ← ∥ re(x )∥ 1 +∥ im (x )∥ 1
" class="math-display" >< / div >
<!-- l. 580 --> < p class = "nopar" >
<!-- l. 583 --> < p class = "indent" > < code class = "lstinline" > < span style = "color:#000000" > call< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > psb_geasums< / span > < span style = "color:#000000" > (< / span > < span style = "color:#000000" > res< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > x< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > desc_a< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > info< / span > < span style = "color:#000000" > )< / span > < / code >
< div class = "table" >
<!-- l. 585 --> < p class = "indent" > < a
id="x9-62001r7">< / a > < hr class = "float" > < div class = "float"
>
< div class = "center"
>
<!-- l. 586 --> < p class = "noindent" >
< div class = "tabular" > < table id = "TBL-7" class = "tabular"
>< colgroup id = "TBL-7-1g" > < col
id="TBL-7-1">< col
id="TBL-7-2">< col
id="TBL-7-3">< / colgroup > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-7-1-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-7-1-1"
class="td11">< span
class="cmmi-10">res < / span > < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-7-1-2"
class="td11">< span
class="cmmi-10">x < / span > < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-7-1-3"
class="td11">< span
class="cmbx-10">Subroutine< / span > < / td > < / tr > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-7-2-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-7-2-1"
class="td11">Short Precision Real< / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-7-2-2"
class="td11">Short Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-7-2-3"
class="td11">psb_geasums< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-7-3-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-7-3-1"
class="td11">Long Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-7-3-2"
class="td11">Long Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-7-3-3"
class="td11">psb_geasums< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-7-4-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-7-4-1"
class="td11">Short Precision Real< / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-7-4-2"
class="td11">Short Precision Complex< / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-7-4-3"
class="td11">psb_geasums< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-7-5-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-7-5-1"
class="td11">Long Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-7-5-2"
class="td11">Long Precision Complex < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-7-5-3"
class="td11">psb_geasums< / td >
< / tr > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-7-6-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-7-6-1"
class="td11"> < / td > < / tr > < / table > < / div > < / div >
< br / > < div class = "caption"
>< span class = "id" > Table  7: < / span > < span
class="content">Data types< / span > < / div > <!-- tex4ht:label?: x9 - 62001r7 -->
< / div > < hr class = "endfloat" / >
< / div >
< dl class = "description" > < dt class = "description" >
<!-- l. 602 --> < p class = "noindent" >
< span
class="cmbx-10">Type:< / span > < / dt > < dd
class="description">
<!-- l. 602 --> < p class = "noindent" > Synchronous.
< / dd > < dt class = "description" >
<!-- l. 603 --> < p class = "noindent" >
< span
class="cmbx-10">On Entry< / span > < / dt > < dd
class="description">
<!-- l. 603 --> < p class = "noindent" >
< / dd > < dt class = "description" >
<!-- l. 604 --> < p class = "noindent" >
< span
class="cmbx-10">x< / span > < / dt > < dd
class="description">
<!-- l. 604 --> < p class = "noindent" > the local portion of global dense matrix < span
class="cmmi-10">x< / span > . < br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: a rank one or two array or an object of type
< a
href="userhtmlse3.html#vdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_T< / span > < span
class="cmtt-10">_vect< / span > < span
class="cmtt-10">_type< / span > < / a >   containing numbers of type specified in Table  < a
href="#x9-62001r7">7<!-- tex4ht:ref: tab:f90asums --> < / a > .
< / dd > < dt class = "description" >
<!-- l. 614 --> < p class = "noindent" >
< span
class="cmbx-10">desc< / span > < span
class="cmbx-10">_a< / span > < / dt > < dd
class="description">
<!-- l. 614 --> < p class = "noindent" > contains data structures for communications.< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required< / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: an object of type < a
href="userhtmlse3.html#descdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_desc< / span > < span
class="cmtt-10">_type< / span > < / a > .
< / dd > < dt class = "description" >
<!-- l. 620 --> < p class = "noindent" >
< span
class="cmbx-10">On Return< / span > < / dt > < dd
class="description">
<!-- l. 620 --> < p class = "noindent" >
< / dd > < dt class = "description" >
<!-- l. 621 --> < p class = "noindent" >
< span
class="cmbx-10">res< / span > < / dt > < dd
class="description">
<!-- l. 621 --> < p class = "noindent" > contains the 1-norm of (the columns of) < span
class="cmmi-10">x< / span > .< br
class="newline" />Scope: < span
class="cmbx-10">global < / span > < br
class="newline" />Intent: < span
class="cmbx-10">out< / span > .< br
class="newline" />Short as: a long precision real number. Specified as: a long precision real
number.
< / dd > < dt class = "description" >
<!-- l. 626 --> < p class = "noindent" >
< span
class="cmbx-10">info< / span > < / dt > < dd
class="description">
<!-- l. 626 --> < p class = "noindent" > Error code.< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">out< / span > .< br
class="newline" />An integer value; 0 means no error has been detected.< / dd > < / dl >
< h4 class = "subsectionHead" > < span class = "titlemark" > 4.8 < / span > < a
id="x9-630004.8">< / a > psb_norm2 — 2-Norm of Vector< / h4 >
<!-- l. 643 --> < p class = "noindent" > This function computes the 2-norm of a vector < span
class="cmmi-10">x< / span > .< br
class="newline" />If < span
class="cmmi-10">x < / span > is a real vector it computes 2-norm as:
< div class = "math-display" >
< img
src="userhtml13x.png" alt="nrm2 ← √ xT-x-
" class="math-display" >< / div >
<!-- l. 646 --> < p class = "nopar" > else if < span
class="cmmi-10">x < / span > is a complex vector then it computes 2-norm as:
< div class = "math-display" >
< img
src="userhtml14x.png" alt=" √ ----
nrm2 ← xHx
" class="math-display" >< / div >
<!-- l. 648 --> < p class = "nopar" >
< div class = "table" >
<!-- l. 654 --> < p class = "indent" > < a
id="x9-63001r8">< / a > < hr class = "float" > < div class = "float"
>
< div class = "center"
>
<!-- l. 655 --> < p class = "noindent" >
< div class = "tabular" > < table id = "TBL-8" class = "tabular"
>< colgroup id = "TBL-8-1g" > < col
id="TBL-8-1">< col
id="TBL-8-2">< col
id="TBL-8-3">< / colgroup > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-8-1-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-8-1-1"
class="td11">< span
class="cmmi-10">nrm< / span > 2 < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-8-1-2"
class="td11">< span
class="cmmi-10">x < / span > < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-8-1-3"
class="td11">< span
class="cmbx-10">Function < / span > < / td > < / tr > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-8-2-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-8-2-1"
class="td11">Short Precision Real< / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-8-2-2"
class="td11">Short Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-8-2-3"
class="td11">psb_genrm2< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-8-3-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-8-3-1"
class="td11">Long Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-8-3-2"
class="td11">Long Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-8-3-3"
class="td11">psb_genrm2< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-8-4-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-8-4-1"
class="td11">Short Precision Real< / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-8-4-2"
class="td11">Short Precision Complex< / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-8-4-3"
class="td11">psb_genrm2< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-8-5-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-8-5-1"
class="td11">Long Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-8-5-2"
class="td11">Long Precision Complex < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-8-5-3"
class="td11">psb_genrm2< / td >
< / tr > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-8-6-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-8-6-1"
class="td11"> < / td > < / tr > < / table > < / div > < / div >
< br / > < div class = "caption"
>< span class = "id" > Table  8: < / span > < span
class="content">Data types< / span > < / div > <!-- tex4ht:label?: x9 - 63001r8 -->
< / div > < hr class = "endfloat" / >
< / div >
<!-- l. 670 --> < p class = "indent" > < code class = "lstinline" > < span style = "color:#000000" > psb_genrm2< / span > < span style = "color:#000000" > (< / span > < span style = "color:#000000" > x< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > desc_a< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > info< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > [,< / span > < span style = "color:#000000" > global< / span > < span style = "color:#000000" > ])< / span > < / code > < br
class="newline" />< code class = "lstinline" > < span style = "color:#000000" > psb_norm2< / span > < span style = "color:#000000" > (< / span > < span style = "color:#000000" > x< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > desc_a< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > info< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > [,< / span > < span style = "color:#000000" > global< / span > < span style = "color:#000000" > ])< / span > < / code > < br
class="newline" />
< dl class = "description" > < dt class = "description" >
<!-- l. 675 --> < p class = "noindent" >
< span
class="cmbx-10">Type:< / span > < / dt > < dd
class="description">
<!-- l. 675 --> < p class = "noindent" > Synchronous.
< / dd > < dt class = "description" >
<!-- l. 676 --> < p class = "noindent" >
< span
class="cmbx-10">On Entry< / span > < / dt > < dd
class="description">
<!-- l. 676 --> < p class = "noindent" >
< / dd > < dt class = "description" >
<!-- l. 677 --> < p class = "noindent" >
< span
class="cmbx-10">x< / span > < / dt > < dd
class="description">
<!-- l. 677 --> < p class = "noindent" > the local portion of global dense matrix < span
class="cmmi-10">x< / span > .< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: a rank one or two array or an object of type
< a
href="userhtmlse3.html#vdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_T< / span > < span
class="cmtt-10">_vect< / span > < span
class="cmtt-10">_type< / span > < / a >   containing numbers of type specified in Table  < a
href="#x9-63001r8">8<!-- tex4ht:ref: tab:f90nrm2 --> < / a > .
< / dd > < dt class = "description" >
<!-- l. 687 --> < p class = "noindent" >
< span
class="cmbx-10">desc< / span > < span
class="cmbx-10">_a< / span > < / dt > < dd
class="description">
<!-- l. 687 --> < p class = "noindent" > contains data structures for communications.< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required< / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: an object of type < a
href="userhtmlse3.html#descdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_desc< / span > < span
class="cmtt-10">_type< / span > < / a > .
< / dd > < dt class = "description" >
<!-- l. 692 --> < p class = "noindent" >
< span
class="cmbx-10">global< / span > < / dt > < dd
class="description">
<!-- l. 692 --> < p class = "noindent" > Specifies whether the computation should include the global reduction
across all processes.< br
class="newline" />Scope: < span
class="cmbx-10">global < / span > < br
class="newline" />Type: < span
class="cmbx-10">optional< / span > .< br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: a logical scalar. Default: < code class = "lstinline" > < span style = "color:#000000" > global< / span > < span style = "color:#000000" > =.< / span > < span style = "color:#000000" > true< / span > < span style = "color:#000000" > .< / span > < / code > < br
class="newline" />
< / dd > < dt class = "description" >
<!-- l. 705 --> < p class = "noindent" >
< span
class="cmbx-10">On Return< / span > < / dt > < dd
class="description">
<!-- l. 705 --> < p class = "noindent" >
< / dd > < dt class = "description" >
<!-- l. 706 --> < p class = "noindent" >
< span
class="cmbx-10">Function Value< / span > < / dt > < dd
class="description">
<!-- l. 706 --> < p class = "noindent" > is the 2-norm of vector < span
class="cmmi-10">x< / span > .< br
class="newline" />Scope: < span
class="cmbx-10">global < / span > unless the optional variable < code class = "lstinline" > < span style = "color:#000000" > global< / span > < span style = "color:#000000" > =.< / span > < span style = "color:#000000" > false< / span > < span style = "color:#000000" > .< / span > < / code > has been
specified< br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Specified as: a long precision real number.
< / dd > < dt class = "description" >
<!-- l. 711 --> < p class = "noindent" >
< span
class="cmbx-10">info< / span > < / dt > < dd
class="description">
<!-- l. 711 --> < p class = "noindent" > Error code.< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">out< / span > .< br
class="newline" />An integer value; 0 means no error has been detected.< / dd > < / dl >
<!-- l. 718 --> < p class = "noindent" > < span
class="cmbx-12">Notes< / span >
< ol class = "enumerate1" >
< li
class="enumerate" id="x9-63003x1">
<!-- l. 720 --> < p class = "noindent" > The computation of a global result requires a global communication, which
entails a significant overhead. It may be necessary and/or advisable to compute
multiple norms at the same time; in this case, it is possible to improve the
runtime efficiency by using the following scheme: <!-- l. 725 -->
< pre class = "lstlisting" id = "listing-121" > < span class = "label" > < a
id="x9-63004r1">< / a > < / span > < span
class="cmtt-10">  < / span > < span
class="cmtt-10">  < / span > < span
class="cmtt-10">  < / span > < span style = "color:#000000" > < span
class="cmtt-10">vres< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">(1)< / span > < / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > < span
class="cmtt-10">=< / span > < / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > < span
class="cmtt-10">psb_genrm2< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">(< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">x1< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">desc_a< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">info< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">global< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">=.< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">false< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">.)< / span > < / span >
< span class = "label" > < a
id="x9-63005r2">< / a > < / span > < span
class="cmtt-10">  < / span > < span
class="cmtt-10">  < / span > < span
class="cmtt-10">  < / span > < span style = "color:#000000" > < span
class="cmtt-10">vres< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">(2)< / span > < / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > < span
class="cmtt-10">=< / span > < / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > < span
class="cmtt-10">psb_genrm2< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">(< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">x2< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">desc_a< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">info< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">global< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">=.< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">false< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">.)< / span > < / span >
< span class = "label" > < a
id="x9-63006r3">< / a > < / span > < span
class="cmtt-10">  < / span > < span
class="cmtt-10">  < / span > < span
class="cmtt-10">  < / span > < span style = "color:#000000" > < span
class="cmtt-10">vres< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">(3)< / span > < / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > < span
class="cmtt-10">=< / span > < / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > < span
class="cmtt-10">psb_genrm2< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">(< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">x3< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">desc_a< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">info< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">global< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">=.< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">false< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">.)< / span > < / span >
< span class = "label" > < a
id="x9-63007r4">< / a > < / span > < span
class="cmtt-10">  < / span > < span
class="cmtt-10">  < / span > < span
class="cmtt-10">  < / span > < span style = "color:#000000" > < span
class="cmtt-10">call< / span > < / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > < span
class="cmtt-10">psb_nrm2< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">(< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">ctxt< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">,< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">vres< / span > < / span > < span style = "color:#000000" > < span
class="cmtt-10">(1:3))< / span > < / span > < / pre >
<!-- l. 731 --> < p class = "noindent" > In this way the global communication, which for small sizes is a latency-bound
operation, is invoked only once.< / li > < / ol >
< h4 class = "subsectionHead" > < span class = "titlemark" > 4.9 < / span > < a
id="x9-640004.9">< / a > psb_genrm2s — Generalized 2-Norm of Vector< / h4 >
<!-- l. 739 --> < p class = "noindent" > This subroutine computes a series of 2-norms on the columns of a dense matrix
< span
class="cmmi-10">x< / span > :
< div class = "math-display" >
< img
src="userhtml15x.png" alt="res(i) ← ∥ x(:,i)∥ 2
" class="math-display" >< / div >
<!-- l. 741 --> < p class = "nopar" >
<!-- l. 744 --> < p class = "indent" > < code class = "lstinline" > < span style = "color:#000000" > call< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > psb_genrm2s< / span > < span style = "color:#000000" > (< / span > < span style = "color:#000000" > res< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > x< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > desc_a< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > info< / span > < span style = "color:#000000" > )< / span > < / code >
< div class = "table" >
<!-- l. 746 --> < p class = "indent" > < a
id="x9-64001r9">< / a > < hr class = "float" > < div class = "float"
>
< div class = "center"
>
<!-- l. 747 --> < p class = "noindent" >
< div class = "tabular" > < table id = "TBL-9" class = "tabular"
>< colgroup id = "TBL-9-1g" > < col
id="TBL-9-1">< col
id="TBL-9-2">< col
id="TBL-9-3">< / colgroup > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-9-1-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-9-1-1"
class="td11">< span
class="cmmi-10">res < / span > < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-9-1-2"
class="td11">< span
class="cmmi-10">x < / span > < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-9-1-3"
class="td11">< span
class="cmbx-10">Subroutine< / span > < / td > < / tr > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-9-2-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-9-2-1"
class="td11">Short Precision Real< / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-9-2-2"
class="td11">Short Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-9-2-3"
class="td11">psb_genrm2s< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-9-3-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-9-3-1"
class="td11">Long Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-9-3-2"
class="td11">Long Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-9-3-3"
class="td11">psb_genrm2s< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-9-4-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-9-4-1"
class="td11">Short Precision Real< / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-9-4-2"
class="td11">Short Precision Complex< / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-9-4-3"
class="td11">psb_genrm2s< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-9-5-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-9-5-1"
class="td11">Long Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-9-5-2"
class="td11">Long Precision Complex < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-9-5-3"
class="td11">psb_genrm2s< / td >
< / tr > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-9-6-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-9-6-1"
class="td11"> < / td > < / tr > < / table > < / div > < / div >
< br / > < div class = "caption"
>< span class = "id" > Table  9: < / span > < span
class="content">Data types< / span > < / div > <!-- tex4ht:label?: x9 - 64001r9 -->
< / div > < hr class = "endfloat" / >
< / div >
< dl class = "description" > < dt class = "description" >
<!-- l. 763 --> < p class = "noindent" >
< span
class="cmbx-10">Type:< / span > < / dt > < dd
class="description">
<!-- l. 763 --> < p class = "noindent" > Synchronous.
< / dd > < dt class = "description" >
<!-- l. 764 --> < p class = "noindent" >
< span
class="cmbx-10">On Entry< / span > < / dt > < dd
class="description">
<!-- l. 764 --> < p class = "noindent" >
< / dd > < dt class = "description" >
<!-- l. 765 --> < p class = "noindent" >
< span
class="cmbx-10">x< / span > < / dt > < dd
class="description">
<!-- l. 765 --> < p class = "noindent" > the local portion of global dense matrix < span
class="cmmi-10">x< / span > . < br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: a rank one or two array or an object of type
< a
href="userhtmlse3.html#vdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_T< / span > < span
class="cmtt-10">_vect< / span > < span
class="cmtt-10">_type< / span > < / a >   containing numbers of type specified in Table  < a
href="#x9-64001r9">9<!-- tex4ht:ref: tab:f90nrm2s --> < / a > .
< / dd > < dt class = "description" >
<!-- l. 775 --> < p class = "noindent" >
< span
class="cmbx-10">desc< / span > < span
class="cmbx-10">_a< / span > < / dt > < dd
class="description">
<!-- l. 775 --> < p class = "noindent" > contains data structures for communications.< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required< / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: an object of type < a
href="userhtmlse3.html#descdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_desc< / span > < span
class="cmtt-10">_type< / span > < / a > .
< / dd > < dt class = "description" >
<!-- l. 781 --> < p class = "noindent" >
< span
class="cmbx-10">On Return< / span > < / dt > < dd
class="description">
<!-- l. 781 --> < p class = "noindent" >
< / dd > < dt class = "description" >
<!-- l. 782 --> < p class = "noindent" >
< span
class="cmbx-10">res< / span > < / dt > < dd
class="description">
<!-- l. 782 --> < p class = "noindent" > contains the 1-norm of (the columns of) < span
class="cmmi-10">x< / span > .< br
class="newline" />Scope: < span
class="cmbx-10">global < / span > < br
class="newline" />Intent: < span
class="cmbx-10">out< / span > .< br
class="newline" />Specified as: a long precision real number.
< / dd > < dt class = "description" >
<!-- l. 786 --> < p class = "noindent" >
< span
class="cmbx-10">info< / span > < / dt > < dd
class="description">
<!-- l. 786 --> < p class = "noindent" > Error code.< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">out< / span > .< br
class="newline" />An integer value; 0 means no error has been detected.< / dd > < / dl >
< h4 class = "subsectionHead" > < span class = "titlemark" > 4.10 < / span > < a
id="x9-650004.10">< / a > psb_norm1 — 1-Norm of Sparse Matrix< / h4 >
<!-- l. 804 --> < p class = "noindent" > This function computes the 1-norm of a matrix < span
class="cmmi-10">A< / span > :< br
class="newline" />
< div class = "par-math-display" >
< img
src="userhtml16x.png" alt="nrm1 ← ∥ A ∥ 1
" class="par-math-display" >< / div >
<!-- l. 806 --> < p class = "nopar" > where:
< dl class = "description" > < dt class = "description" >
<!-- l. 809 --> < p class = "noindent" >
< span
class="cmmi-10">A< / span > < / dt > < dd
class="description">
<!-- l. 809 --> < p class = "noindent" > represents the global matrix < span
class="cmmi-10">A< / span > < / dd > < / dl >
< div class = "table" >
<!-- l. 812 --> < p class = "indent" > < a
id="x9-65001r10">< / a > < hr class = "float" > < div class = "float"
>
< div class = "center"
>
<!-- l. 813 --> < p class = "noindent" >
< div class = "tabular" > < table id = "TBL-10" class = "tabular"
>< colgroup id = "TBL-10-1g" > < col
id="TBL-10-1">< col
id="TBL-10-2">< / colgroup > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-10-1-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-10-1-1"
class="td11">< span
class="cmmi-10">A < / span > < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-10-1-2"
class="td11">< span
class="cmbx-10">Function < / span > < / td > < / tr > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-10-2-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-10-2-1"
class="td11">Short Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-10-2-2"
class="td11">psb_spnrm1< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-10-3-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-10-3-1"
class="td11">Long Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-10-3-2"
class="td11">psb_spnrm1< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-10-4-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-10-4-1"
class="td11">Short Precision Complex< / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-10-4-2"
class="td11">psb_spnrm1< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-10-5-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-10-5-1"
class="td11">Long Precision Complex < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-10-5-2"
class="td11">psb_spnrm1< / td >
< / tr > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-10-6-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-10-6-1"
class="td11"> < / td > < / tr > < / table > < / div > < / div >
< br / > < div class = "caption"
>< span class = "id" > Table  10: < / span > < span
class="content">Data types< / span > < / div > <!-- tex4ht:label?: x9 - 65001r10 -->
< / div > < hr class = "endfloat" / >
< / div >
< pre class = "verbatim" id = "verbatim-31" >
psb_spnrm1(A,  desc_a,  info)
psb_norm1(A,  desc_a,  info)
< / pre >
<!-- l. 831 --> < p class = "nopar" >
< dl class = "description" > < dt class = "description" >
<!-- l. 834 --> < p class = "noindent" >
< span
class="cmbx-10">Type:< / span > < / dt > < dd
class="description">
<!-- l. 834 --> < p class = "noindent" > Synchronous.
< / dd > < dt class = "description" >
<!-- l. 835 --> < p class = "noindent" >
< span
class="cmbx-10">On Entry< / span > < / dt > < dd
class="description">
<!-- l. 835 --> < p class = "noindent" >
< / dd > < dt class = "description" >
<!-- l. 836 --> < p class = "noindent" >
< span
class="cmbx-10">a< / span > < / dt > < dd
class="description">
<!-- l. 836 --> < p class = "noindent" > the local portion of the global sparse matrix < span
class="cmmi-10">A< / span > . < br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required< / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: an object of type < a
href="userhtmlse3.html#spdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_Tspmat< / span > < span
class="cmtt-10">_type< / span > < / a > .
< / dd > < dt class = "description" >
<!-- l. 842 --> < p class = "noindent" >
< span
class="cmbx-10">desc< / span > < span
class="cmbx-10">_a< / span > < / dt > < dd
class="description">
<!-- l. 842 --> < p class = "noindent" > contains data structures for communications.< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required< / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: an object of type < a
href="userhtmlse3.html#descdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_desc< / span > < span
class="cmtt-10">_type< / span > < / a > .
< / dd > < dt class = "description" >
<!-- l. 847 --> < p class = "noindent" >
< span
class="cmbx-10">On Return< / span > < / dt > < dd
class="description">
<!-- l. 847 --> < p class = "noindent" >
< / dd > < dt class = "description" >
<!-- l. 848 --> < p class = "noindent" >
< span
class="cmbx-10">Function value< / span > < / dt > < dd
class="description">
<!-- l. 848 --> < p class = "noindent" > is the 1-norm of sparse submatrix < span
class="cmmi-10">A< / span > .< br
class="newline" />Scope: < span
class="cmbx-10">global < / span > < br
class="newline" />Specified as: a long precision real number.
< / dd > < dt class = "description" >
<!-- l. 851 --> < p class = "noindent" >
< span
class="cmbx-10">info< / span > < / dt > < dd
class="description">
<!-- l. 851 --> < p class = "noindent" > Error code.< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">out< / span > .< br
class="newline" />An integer value; 0 means no error has been detected.< / dd > < / dl >
< h4 class = "subsectionHead" > < span class = "titlemark" > 4.11 < / span > < a
id="x9-660004.11">< / a > psb_normi — Infinity Norm of Sparse Matrix< / h4 >
<!-- l. 868 --> < p class = "noindent" > This function computes the infinity-norm of a matrix < span
class="cmmi-10">A< / span > :< br
class="newline" />
< div class = "par-math-display" >
< img
src="userhtml17x.png" alt="nrmi ← ∥ A∥ ∞
" class="par-math-display" >< / div >
<!-- l. 870 --> < p class = "nopar" > where:
< dl class = "description" > < dt class = "description" >
<!-- l. 873 --> < p class = "noindent" >
< span
class="cmmi-10">A< / span > < / dt > < dd
class="description">
<!-- l. 873 --> < p class = "noindent" > represents the global matrix < span
class="cmmi-10">A< / span > < / dd > < / dl >
< div class = "table" >
<!-- l. 876 --> < p class = "indent" > < a
id="x9-66001r11">< / a > < hr class = "float" > < div class = "float"
>
< div class = "center"
>
<!-- l. 877 --> < p class = "noindent" >
< div class = "tabular" > < table id = "TBL-11" class = "tabular"
>< colgroup id = "TBL-11-1g" > < col
id="TBL-11-1">< col
id="TBL-11-2">< / colgroup > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-11-1-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-11-1-1"
class="td11">< span
class="cmmi-10">A < / span > < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-11-1-2"
class="td11">< span
class="cmbx-10">Function < / span > < / td > < / tr > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-11-2-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-11-2-1"
class="td11">Short Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-11-2-2"
class="td11">psb_spnrmi< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-11-3-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-11-3-1"
class="td11">Long Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-11-3-2"
class="td11">psb_spnrmi< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-11-4-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-11-4-1"
class="td11">Short Precision Complex< / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-11-4-2"
class="td11">psb_spnrmi< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-11-5-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-11-5-1"
class="td11">Long Precision Complex < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-11-5-2"
class="td11">psb_spnrmi< / td >
< / tr > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-11-6-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-11-6-1"
class="td11"> < / td > < / tr > < / table > < / div > < / div >
< br / > < div class = "caption"
>< span class = "id" > Table  11: < / span > < span
class="content">Data types< / span > < / div > <!-- tex4ht:label?: x9 - 66001r11 -->
< / div > < hr class = "endfloat" / >
< / div >
< pre class = "verbatim" id = "verbatim-32" >
psb_spnrmi(A,  desc_a,  info)
psb_normi(A,  desc_a,  info)
< / pre >
<!-- l. 895 --> < p class = "nopar" >
< dl class = "description" > < dt class = "description" >
<!-- l. 898 --> < p class = "noindent" >
< span
class="cmbx-10">Type:< / span > < / dt > < dd
class="description">
<!-- l. 898 --> < p class = "noindent" > Synchronous.
< / dd > < dt class = "description" >
<!-- l. 899 --> < p class = "noindent" >
< span
class="cmbx-10">On Entry< / span > < / dt > < dd
class="description">
<!-- l. 899 --> < p class = "noindent" >
< / dd > < dt class = "description" >
<!-- l. 900 --> < p class = "noindent" >
< span
class="cmbx-10">a< / span > < / dt > < dd
class="description">
<!-- l. 900 --> < p class = "noindent" > the local portion of the global sparse matrix < span
class="cmmi-10">A< / span > . < br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required< / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: an object of type < a
href="userhtmlse3.html#spdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_Tspmat< / span > < span
class="cmtt-10">_type< / span > < / a > .
< / dd > < dt class = "description" >
<!-- l. 906 --> < p class = "noindent" >
< span
class="cmbx-10">desc< / span > < span
class="cmbx-10">_a< / span > < / dt > < dd
class="description">
<!-- l. 906 --> < p class = "noindent" > contains data structures for communications.< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required< / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: an object of type < a
href="userhtmlse3.html#descdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_desc< / span > < span
class="cmtt-10">_type< / span > < / a > .
< / dd > < dt class = "description" >
<!-- l. 911 --> < p class = "noindent" >
< span
class="cmbx-10">On Return< / span > < / dt > < dd
class="description">
<!-- l. 911 --> < p class = "noindent" >
< / dd > < dt class = "description" >
<!-- l. 912 --> < p class = "noindent" >
< span
class="cmbx-10">Function value< / span > < / dt > < dd
class="description">
<!-- l. 912 --> < p class = "noindent" > is the infinity-norm of sparse submatrix < span
class="cmmi-10">A< / span > .< br
class="newline" />Scope: < span
class="cmbx-10">global < / span > < br
class="newline" />Specified as: a long precision real number.
< / dd > < dt class = "description" >
<!-- l. 915 --> < p class = "noindent" >
< span
class="cmbx-10">info< / span > < / dt > < dd
class="description">
<!-- l. 915 --> < p class = "noindent" > Error code.< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">out< / span > .< br
class="newline" />An integer value; 0 means no error has been detected.< / dd > < / dl >
< h4 class = "subsectionHead" > < span class = "titlemark" > 4.12 < / span > < a
id="x9-670004.12">< / a > psb_spmm — Sparse Matrix by Dense Matrix Product< / h4 >
<!-- l. 933 --> < p class = "noindent" > This subroutine computes the Sparse Matrix by Dense Matrix Product:
< table
class="equation">< tr > < td >
< div class = "math-display" >
< img
src="userhtml18x.png" alt="y ← α Ax + β y
" class="math-display" >< a
id="x9-67001r1">< / a > < / div >
< / td > < td class = "equation-label" > (1)< / td > < / tr > < / table >
<!-- l. 938 --> < p class = "nopar" >
< table
class="equation">< tr > < td >
< div class = "math-display" >
< img
src="userhtml19x.png" alt=" T
y ← α A x+ β y
" class="math-display" >< a
id="x9-67002r2">< / a > < / div >
< / td > < td class = "equation-label" > (2)< / td > < / tr > < / table >
<!-- l. 942 --> < p class = "nopar" >
< table
class="equation">< tr > < td >
< div class = "math-display" >
< img
src="userhtml20x.png" alt="y ← α AHx + β y
" class="math-display" >< a
id="x9-67003r3">< / a > < / div >
< / td > < td class = "equation-label" > (3)< / td > < / tr > < / table >
<!-- l. 946 --> < p class = "nopar" >
<!-- l. 948 --> < p class = "indent" > where:
< dl class = "description" > < dt class = "description" >
<!-- l. 950 --> < p class = "noindent" >
< span
class="cmmi-10">x< / span > < / dt > < dd
class="description">
<!-- l. 950 --> < p class = "noindent" > is the global dense matrix < span
class="cmmi-10">x< / span > < sub > < span
class="cmr-7">:< / span > < span
class="cmmi-7">,< / span > < span
class="cmr-7">:< / span > < / sub >
< / dd > < dt class = "description" >
<!-- l. 951 --> < p class = "noindent" >
< span
class="cmmi-10">y< / span > < / dt > < dd
class="description">
<!-- l. 951 --> < p class = "noindent" > is the global dense matrix < span
class="cmmi-10">y< / span > < sub > < span
class="cmr-7">:< / span > < span
class="cmmi-7">,< / span > < span
class="cmr-7">:< / span > < / sub >
< / dd > < dt class = "description" >
<!-- l. 952 --> < p class = "noindent" >
< span
class="cmmi-10">A< / span > < / dt > < dd
class="description">
<!-- l. 952 --> < p class = "noindent" > is the global sparse matrix < span
class="cmmi-10">A< / span > < / dd > < / dl >
< div class = "table" >
<!-- l. 955 --> < p class = "indent" > < a
id="x9-67004r12">< / a > < hr class = "float" > < div class = "float"
>
< div class = "center"
>
<!-- l. 956 --> < p class = "noindent" >
< div class = "tabular" > < table id = "TBL-12" class = "tabular"
>< colgroup id = "TBL-12-1g" > < col
id="TBL-12-1">< col
id="TBL-12-2">< / colgroup > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-12-1-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-12-1-1"
class="td11">< span
class="cmmi-10">A< / span > , < span
class="cmmi-10">x< / span > , < span
class="cmmi-10">y< / span > , < span
class="cmmi-10">α < / span > , < span
class="cmmi-10">β < / span > < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-12-1-2"
class="td11">< span
class="cmbx-10">Subroutine< / span > < / td >
< / tr > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-12-2-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-12-2-1"
class="td11">Short Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-12-2-2"
class="td11">psb_spmm < / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-12-3-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-12-3-1"
class="td11">Long Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-12-3-2"
class="td11">psb_spmm < / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-12-4-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-12-4-1"
class="td11">Short Precision Complex< / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-12-4-2"
class="td11">psb_spmm < / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-12-5-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-12-5-1"
class="td11">Long Precision Complex < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-12-5-2"
class="td11">psb_spmm < / td >
< / tr > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-12-6-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-12-6-1"
class="td11"> < / td > < / tr > < / table > < / div > < / div >
< br / > < div class = "caption"
>< span class = "id" > Table  12: < / span > < span
class="content">Data types< / span > < / div > <!-- tex4ht:label?: x9 - 67004r12 -->
< / div > < hr class = "endfloat" / >
< / div >
<!-- l. 971 --> < p class = "indent" > < code class = "lstinline" > < span style = "color:#000000" > call< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > psb_spmm< / span > < span style = "color:#000000" > (< / span > < span style = "color:#000000" > alpha< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > a< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > x< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > beta< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > y< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > desc_a< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > info< / span > < span style = "color:#000000" > )< / span > < / code > < br
class="newline" />< code class = "lstinline" > < span style = "color:#000000" > call< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > psb_spmm< / span > < span style = "color:#000000" > (< / span > < span style = "color:#000000" > alpha< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > a< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > x< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > beta< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > y< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > desc_a< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > info< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > trans< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > work< / span > < span style = "color:#000000" > )< / span > < / code >
< dl class = "description" > < dt class = "description" >
<!-- l. 975 --> < p class = "noindent" >
< span
class="cmbx-10">Type:< / span > < / dt > < dd
class="description">
<!-- l. 975 --> < p class = "noindent" > Synchronous.
< / dd > < dt class = "description" >
<!-- l. 976 --> < p class = "noindent" >
< span
class="cmbx-10">On Entry< / span > < / dt > < dd
class="description">
<!-- l. 976 --> < p class = "noindent" >
< / dd > < dt class = "description" >
<!-- l. 977 --> < p class = "noindent" >
< span
class="cmbx-10">alpha< / span > < / dt > < dd
class="description">
<!-- l. 977 --> < p class = "noindent" > the scalar < span
class="cmmi-10">α < / span > .< br
class="newline" />Scope: < span
class="cmbx-10">global < / span > < br
class="newline" />Type: < span
class="cmbx-10">required< / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: a number of the data type indicated in Table  < a
href="#x9-67004r12">12<!-- tex4ht:ref: tab:f90spmm --> < / a > .
< / dd > < dt class = "description" >
<!-- l. 983 --> < p class = "noindent" >
< span
class="cmbx-10">a< / span > < / dt > < dd
class="description">
<!-- l. 983 --> < p class = "noindent" > the local portion of the sparse matrix < span
class="cmmi-10">A< / span > . < br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required< / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: an object of type < a
href="userhtmlse3.html#spdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_Tspmat< / span > < span
class="cmtt-10">_type< / span > < / a > .
< / dd > < dt class = "description" >
<!-- l. 989 --> < p class = "noindent" >
< span
class="cmbx-10">x< / span > < / dt > < dd
class="description">
<!-- l. 989 --> < p class = "noindent" > the local portion of global dense matrix < span
class="cmmi-10">x< / span > . < br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: a rank one or two array or an object of type
< a
href="userhtmlse3.html#vdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_T< / span > < span
class="cmtt-10">_vect< / span > < span
class="cmtt-10">_type< / span > < / a >   containing numbers of type specified in Table  < a
href="#x9-67004r12">12<!-- tex4ht:ref: tab:f90spmm --> < / a > . The
rank of < span
class="cmmi-10">x < / span > must be the same of < span
class="cmmi-10">y< / span > .
< / dd > < dt class = "description" >
<!-- l. 999 --> < p class = "noindent" >
< span
class="cmbx-10">beta< / span > < / dt > < dd
class="description">
<!-- l. 999 --> < p class = "noindent" > the scalar < span
class="cmmi-10">β < / span > .< br
class="newline" />Scope: < span
class="cmbx-10">global < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: a number of the data type indicated in Table  < a
href="#x9-67004r12">12<!-- tex4ht:ref: tab:f90spmm --> < / a > .
< / dd > < dt class = "description" >
<!-- l. 1004 --> < p class = "noindent" >
< span
class="cmbx-10">y< / span > < / dt > < dd
class="description">
<!-- l. 1004 --> < p class = "noindent" > the local portion of global dense matrix < span
class="cmmi-10">y< / span > . < br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">inout< / span > .< br
class="newline" />Specified as: a rank one or two array or an object of type
< a
href="userhtmlse3.html#vdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_T< / span > < span
class="cmtt-10">_vect< / span > < span
class="cmtt-10">_type< / span > < / a >   containing numbers of type specified in Table  < a
href="#x9-67004r12">12<!-- tex4ht:ref: tab:f90spmm --> < / a > . The
rank of < span
class="cmmi-10">y < / span > must be the same of < span
class="cmmi-10">x< / span > .
< / dd > < dt class = "description" >
<!-- l. 1014 --> < p class = "noindent" >
< span
class="cmbx-10">desc< / span > < span
class="cmbx-10">_a< / span > < / dt > < dd
class="description">
<!-- l. 1014 --> < p class = "noindent" > contains data structures for communications.< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required< / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: an object of type < a
href="userhtmlse3.html#descdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_desc< / span > < span
class="cmtt-10">_type< / span > < / a > .
< / dd > < dt class = "description" >
<!-- l. 1019 --> < p class = "noindent" >
< span
class="cmbx-10">trans< / span > < / dt > < dd
class="description">
<!-- l. 1019 --> < p class = "noindent" > indicates what kind of operation to perform.
< dl class = "description" > < dt class = "description" >
<!-- l. 1021 --> < p class = "noindent" >
< span
class="cmbx-10">trans = N< / span > < / dt > < dd
class="description">
<!-- l. 1021 --> < p class = "noindent" > the operation is specified by equation < a
href="#x9-67001r1">1<!-- tex4ht:ref: eq:f90spmm_no_tra --> < / a >
< / dd > < dt class = "description" >
<!-- l. 1022 --> < p class = "noindent" >
< span
class="cmbx-10">trans = T< / span > < / dt > < dd
class="description">
<!-- l. 1022 --> < p class = "noindent" > the operation is specified by equation < a
href="#x9-67002r2">2<!-- tex4ht:ref: eq:f90spmm_tra --> < / a >
< / dd > < dt class = "description" >
<!-- l. 1024 --> < p class = "noindent" >
< span
class="cmbx-10">trans = C< / span > < / dt > < dd
class="description">
<!-- l. 1024 --> < p class = "noindent" > the operation is specified by equation < a
href="#x9-67003r3">3<!-- tex4ht:ref: eq:f90spmm_con --> < / a > < / dd > < / dl >
<!-- l. 1027 --> < p class = "noindent" > Scope: < span
class="cmbx-10">global < / span > < br
class="newline" />Type: < span
class="cmbx-10">optional< / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Default: < span
class="cmmi-10">trans < / span > = < span
class="cmmi-10">N< / span > < br
class="newline" />Specified as: a character variable.
< / dd > < dt class = "description" >
<!-- l. 1050 --> < p class = "noindent" >
< span
class="cmbx-10">work< / span > < / dt > < dd
class="description">
<!-- l. 1050 --> < p class = "noindent" > work array.< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">optional< / span > < br
class="newline" />Intent: < span
class="cmbx-10">inout< / span > .< br
class="newline" />Specified as: a rank one array of the same type of < span
class="cmmi-10">x < / span > and < span
class="cmmi-10">y < / span > with the TARGET
attribute.
< / dd > < dt class = "description" >
<!-- l. 1057 --> < p class = "noindent" >
< span
class="cmbx-10">On Return< / span > < / dt > < dd
class="description">
<!-- l. 1057 --> < p class = "noindent" >
< / dd > < dt class = "description" >
<!-- l. 1058 --> < p class = "noindent" >
< span
class="cmbx-10">y< / span > < / dt > < dd
class="description">
<!-- l. 1058 --> < p class = "noindent" > the local portion of result matrix < span
class="cmmi-10">y< / span > .< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">inout< / span > .< br
class="newline" />Specified as: an array of rank one or two containing numbers of type specified
in Table  < a
href="#x9-67004r12">12<!-- tex4ht:ref: tab:f90spmm --> < / a > .
< / dd > < dt class = "description" >
<!-- l. 1065 --> < p class = "noindent" >
< span
class="cmbx-10">info< / span > < / dt > < dd
class="description">
<!-- l. 1065 --> < p class = "noindent" > Error code.< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">out< / span > .< br
class="newline" />An integer value; 0 means no error has been detected.< / dd > < / dl >
< h4 class = "subsectionHead" > < span class = "titlemark" > 4.13 < / span > < a
id="x9-680004.13">< / a > psb_spsm — Triangular System Solve< / h4 >
<!-- l. 1081 --> < p class = "noindent" > This subroutine computes the Triangular System Solve:
< div class = "eqnarray" >
< div class = "math-display" >
< img
src="userhtml21x.png" alt="y ← α T- 1x + β y
y ← α DT -1x +β y
- 1
y ← α T Dx +β y
y ← α T- Tx+ β y
y ← α DT -Tx + β y
y ← α T- TDx + β y
- H
y ← α T x +β y
y ← α DT -Hx + β y
y ← α T- HDx + β y
" class="math-display" >< / div >
< / div >
<!-- l. 1096 --> < p class = "indent" > where:
< dl class = "description" > < dt class = "description" >
<!-- l. 1098 --> < p class = "noindent" >
< span
class="cmmi-10">x< / span > < / dt > < dd
class="description">
<!-- l. 1098 --> < p class = "noindent" > is the global dense matrix < span
class="cmmi-10">x< / span > < sub > < span
class="cmr-7">:< / span > < span
class="cmmi-7">,< / span > < span
class="cmr-7">:< / span > < / sub >
< / dd > < dt class = "description" >
<!-- l. 1099 --> < p class = "noindent" >
< span
class="cmmi-10">y< / span > < / dt > < dd
class="description">
<!-- l. 1099 --> < p class = "noindent" > is the global dense matrix < span
class="cmmi-10">y< / span > < sub > < span
class="cmr-7">:< / span > < span
class="cmmi-7">,< / span > < span
class="cmr-7">:< / span > < / sub >
< / dd > < dt class = "description" >
<!-- l. 1100 --> < p class = "noindent" >
< span
class="cmmi-10">T< / span > < / dt > < dd
class="description">
<!-- l. 1100 --> < p class = "noindent" > is the global sparse block triangular submatrix < span
class="cmmi-10">T< / span >
< / dd > < dt class = "description" >
<!-- l. 1101 --> < p class = "noindent" >
< span
class="cmmi-10">D< / span > < / dt > < dd
class="description">
<!-- l. 1101 --> < p class = "noindent" > is the scaling diagonal matrix.< / dd > < / dl >
<!-- l. 1104 --> < p class = "indent" > < code class = "lstinline" > < span style = "color:#000000" > call< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > psb_spsm< / span > < span style = "color:#000000" > (< / span > < span style = "color:#000000" > alpha< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > t< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > x< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > beta< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > y< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > desc_a< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > info< / span > < span style = "color:#000000" > )< / span > < / code > < br
class="newline" />< code class = "lstinline" > < span style = "color:#000000" > call< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > psb_spsm< / span > < span style = "color:#000000" > (< / span > < span style = "color:#000000" > alpha< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > t< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > x< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > beta< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > y< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > desc_a< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > info< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > trans< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > unit< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > choice< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > diag< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > work< / span > < span style = "color:#000000" > )< / span > < / code > < br
class="newline" />
< div class = "table" >
<!-- l. 1107 --> < p class = "indent" > < a
id="x9-68002r13">< / a > < hr class = "float" > < div class = "float"
>
< div class = "center"
>
<!-- l. 1108 --> < p class = "noindent" >
< div class = "tabular" > < table id = "TBL-13" class = "tabular"
>< colgroup id = "TBL-13-1g" > < col
id="TBL-13-1">< col
id="TBL-13-2">< / colgroup > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-13-1-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-13-1-1"
class="td11">< span
class="cmmi-10">T< / span > , < span
class="cmmi-10">x< / span > , < span
class="cmmi-10">y< / span > , < span
class="cmmi-10">D< / span > , < span
class="cmmi-10">α < / span > , < span
class="cmmi-10">β < / span > < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-13-1-2"
class="td11">< span
class="cmbx-10">Subroutine< / span > < / td >
< / tr > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-13-2-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-13-2-1"
class="td11">Short Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-13-2-2"
class="td11">psb_spsm < / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-13-3-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-13-3-1"
class="td11">Long Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-13-3-2"
class="td11">psb_spsm < / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-13-4-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-13-4-1"
class="td11">Short Precision Complex< / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-13-4-2"
class="td11">psb_spsm < / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-13-5-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-13-5-1"
class="td11">Long Precision Complex < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-13-5-2"
class="td11">psb_spsm < / td >
< / tr > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-13-6-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-13-6-1"
class="td11"> < / td > < / tr > < / table > < / div > < / div >
< br / > < div class = "caption"
>< span class = "id" > Table  13: < / span > < span
class="content">Data types< / span > < / div > <!-- tex4ht:label?: x9 - 68002r13 -->
< / div > < hr class = "endfloat" / >
< / div >
< dl class = "description" > < dt class = "description" >
<!-- l. 1126 --> < p class = "noindent" >
< span
class="cmbx-10">Type:< / span > < / dt > < dd
class="description">
<!-- l. 1126 --> < p class = "noindent" > Synchronous.
< / dd > < dt class = "description" >
<!-- l. 1127 --> < p class = "noindent" >
< span
class="cmbx-10">On Entry< / span > < / dt > < dd
class="description">
<!-- l. 1127 --> < p class = "noindent" >
< / dd > < dt class = "description" >
<!-- l. 1128 --> < p class = "noindent" >
< span
class="cmbx-10">alpha< / span > < / dt > < dd
class="description">
<!-- l. 1128 --> < p class = "noindent" > the scalar < span
class="cmmi-10">α < / span > .< br
class="newline" />Scope: < span
class="cmbx-10">global < / span > < br
class="newline" />Type: < span
class="cmbx-10">required< / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: a number of the data type indicated in Table  < a
href="#x9-68002r13">13<!-- tex4ht:ref: tab:f90spsm --> < / a > .
< / dd > < dt class = "description" >
<!-- l. 1134 --> < p class = "noindent" >
< span
class="cmbx-10">t< / span > < / dt > < dd
class="description">
<!-- l. 1134 --> < p class = "noindent" > the global portion of the sparse matrix < span
class="cmmi-10">T< / span > . < br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required< / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: an object type specified in < span
class="tcrm-1000"><3E> < / span >   < a
href="userhtmlse3.html#x8-90003">3<!-- tex4ht:ref: sec:datastruct --> < / a > .
< / dd > < dt class = "description" >
<!-- l. 1141 --> < p class = "noindent" >
< span
class="cmbx-10">x< / span > < / dt > < dd
class="description">
<!-- l. 1141 --> < p class = "noindent" > the local portion of global dense matrix < span
class="cmmi-10">x< / span > . < br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: a rank one or two array or an object of type
< a
href="userhtmlse3.html#vdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_T< / span > < span
class="cmtt-10">_vect< / span > < span
class="cmtt-10">_type< / span > < / a >   containing numbers of type specified in Table  < a
href="#x9-68002r13">13<!-- tex4ht:ref: tab:f90spsm --> < / a > . The
rank of < span
class="cmmi-10">x < / span > must be the same of < span
class="cmmi-10">y< / span > .
< / dd > < dt class = "description" >
<!-- l. 1151 --> < p class = "noindent" >
< span
class="cmbx-10">beta< / span > < / dt > < dd
class="description">
<!-- l. 1151 --> < p class = "noindent" > the scalar < span
class="cmmi-10">β < / span > .< br
class="newline" />Scope: < span
class="cmbx-10">global < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: a number of the data type indicated in Table  < a
href="#x9-68002r13">13<!-- tex4ht:ref: tab:f90spsm --> < / a > .
< / dd > < dt class = "description" >
<!-- l. 1156 --> < p class = "noindent" >
< span
class="cmbx-10">y< / span > < / dt > < dd
class="description">
<!-- l. 1156 --> < p class = "noindent" > the local portion of global dense matrix < span
class="cmmi-10">y< / span > . < br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">inout< / span > .< br
class="newline" />Specified as: a rank one or two array or an object of type
< a
href="userhtmlse3.html#vdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_T< / span > < span
class="cmtt-10">_vect< / span > < span
class="cmtt-10">_type< / span > < / a >   containing numbers of type specified in Table  < a
href="#x9-68002r13">13<!-- tex4ht:ref: tab:f90spsm --> < / a > . The
rank of < span
class="cmmi-10">y < / span > must be the same of < span
class="cmmi-10">x< / span > .
< / dd > < dt class = "description" >
<!-- l. 1166 --> < p class = "noindent" >
< span
class="cmbx-10">desc< / span > < span
class="cmbx-10">_a< / span > < / dt > < dd
class="description">
<!-- l. 1166 --> < p class = "noindent" > contains data structures for communications.< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required< / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: an object of type < a
href="userhtmlse3.html#descdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_desc< / span > < span
class="cmtt-10">_type< / span > < / a > .
< / dd > < dt class = "description" >
<!-- l. 1171 --> < p class = "noindent" >
< span
class="cmbx-10">trans< / span > < / dt > < dd
class="description">
<!-- l. 1171 --> < p class = "noindent" > specify with < span
class="cmti-10">unitd < / span > the operation to perform.
< dl class = "description" > < dt class = "description" >
<!-- l. 1173 --> < p class = "noindent" >
< span
class="cmbx-10">trans = ’ N’ < / span > < / dt > < dd
class="description">
<!-- l. 1173 --> < p class = "noindent" > the operation is with no transposed matrix
< / dd > < dt class = "description" >
<!-- l. 1174 --> < p class = "noindent" >
< span
class="cmbx-10">trans = ’ T’ < / span > < / dt > < dd
class="description">
<!-- l. 1174 --> < p class = "noindent" > the operation is with transposed matrix.
< / dd > < dt class = "description" >
<!-- l. 1175 --> < p class = "noindent" >
< span
class="cmbx-10">trans = ’ C’ < / span > < / dt > < dd
class="description">
<!-- l. 1175 --> < p class = "noindent" > the operation is with conjugate transposed matrix.< / dd > < / dl >
<!-- l. 1177 --> < p class = "noindent" > Scope: < span
class="cmbx-10">global < / span > < br
class="newline" />Type: < span
class="cmbx-10">optional< / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Default: < span
class="cmmi-10">trans < / span > = < span
class="cmmi-10">N< / span > < br
class="newline" />Specified as: a character variable.
< / dd > < dt class = "description" >
<!-- l. 1182 --> < p class = "noindent" >
< span
class="cmbx-10">unitd< / span > < / dt > < dd
class="description">
<!-- l. 1182 --> < p class = "noindent" > specify with < span
class="cmti-10">trans < / span > the operation to perform.
< dl class = "description" > < dt class = "description" >
<!-- l. 1184 --> < p class = "noindent" >
< span
class="cmbx-10">unitd = ’ U’ < / span > < / dt > < dd
class="description">
<!-- l. 1184 --> < p class = "noindent" > the operation is with no scaling
< / dd > < dt class = "description" >
<!-- l. 1185 --> < p class = "noindent" >
< span
class="cmbx-10">unitd = ’ L’ < / span > < / dt > < dd
class="description">
<!-- l. 1185 --> < p class = "noindent" > the operation is with left scaling
< / dd > < dt class = "description" >
<!-- l. 1186 --> < p class = "noindent" >
< span
class="cmbx-10">unitd = ’ R’ < / span > < / dt > < dd
class="description">
<!-- l. 1186 --> < p class = "noindent" > the operation is with right scaling.< / dd > < / dl >
<!-- l. 1188 --> < p class = "noindent" > Scope: < span
class="cmbx-10">global < / span > < br
class="newline" />Type: < span
class="cmbx-10">optional< / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Default: < span
class="cmmi-10">unitd < / span > = < span
class="cmmi-10">U< / span > < br
class="newline" />Specified as: a character variable.
< / dd > < dt class = "description" >
<!-- l. 1193 --> < p class = "noindent" >
< span
class="cmbx-10">choice< / span > < / dt > < dd
class="description">
<!-- l. 1193 --> < p class = "noindent" > specifies the update of overlap elements to be performed on exit:
< dl class = "description" > < dt class = "description" >
<!-- l. 1196 --> < p class = "noindent" >
< / dt > < dd
class="description">
<!-- l. 1196 --> < p class = "noindent" > < code class = "lstinline" > < span style = "color:#000000" > psb_none_< / span > < / code >
< / dd > < dt class = "description" >
<!-- l. 1197 --> < p class = "noindent" >
< / dt > < dd
class="description">
<!-- l. 1197 --> < p class = "noindent" > < code class = "lstinline" > < span style = "color:#000000" > psb_sum_< / span > < / code >
< / dd > < dt class = "description" >
<!-- l. 1198 --> < p class = "noindent" >
< / dt > < dd
class="description">
<!-- l. 1198 --> < p class = "noindent" > < code class = "lstinline" > < span style = "color:#000000" > psb_avg_< / span > < / code >
< / dd > < dt class = "description" >
<!-- l. 1199 --> < p class = "noindent" >
< / dt > < dd
class="description">
<!-- l. 1199 --> < p class = "noindent" > < code class = "lstinline" > < span style = "color:#000000" > psb_square_root_< / span > < / code > < / dd > < / dl >
<!-- l. 1201 --> < p class = "noindent" > Scope: < span
class="cmbx-10">global < / span > < br
class="newline" />Type: < span
class="cmbx-10">optional< / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Default: < code class = "lstinline" > < span style = "color:#000000" > psb_avg_< / span > < / code > < br
class="newline" />Specified as: an integer variable.
< / dd > < dt class = "description" >
<!-- l. 1206 --> < p class = "noindent" >
< span
class="cmbx-10">diag< / span > < / dt > < dd
class="description">
<!-- l. 1206 --> < p class = "noindent" > the diagonal scaling matrix.< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">optional< / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Default: < span
class="cmmi-10">diag< / span > (1) = 1(< span
class="cmmi-10">noscaling< / span > )< br
class="newline" />Specified as: a rank one array containing numbers of the type indicated in
Table  < a
href="#x9-68002r13">13<!-- tex4ht:ref: tab:f90spsm --> < / a > .
< / dd > < dt class = "description" >
<!-- l. 1213 --> < p class = "noindent" >
< span
class="cmbx-10">work< / span > < / dt > < dd
class="description">
<!-- l. 1213 --> < p class = "noindent" > a work array. < br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">optional< / span > < br
class="newline" />Intent: < span
class="cmbx-10">inout< / span > .< br
class="newline" />Specified as: a rank one array of the same type of < span
class="cmmi-10">x < / span > with the TARGET
attribute.
< / dd > < dt class = "description" >
<!-- l. 1220 --> < p class = "noindent" >
< span
class="cmbx-10">On Return< / span > < / dt > < dd
class="description">
<!-- l. 1220 --> < p class = "noindent" >
< / dd > < dt class = "description" >
<!-- l. 1221 --> < p class = "noindent" >
< span
class="cmbx-10">y< / span > < / dt > < dd
class="description">
<!-- l. 1221 --> < p class = "noindent" > the local portion of global dense matrix < span
class="cmmi-10">y< / span > . < br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">inout< / span > .< br
class="newline" />Specified as: an array of rank one or two containing numbers of type specified
in Table  < a
href="#x9-68002r13">13<!-- tex4ht:ref: tab:f90spsm --> < / a > .
< / dd > < dt class = "description" >
<!-- l. 1231 --> < p class = "noindent" >
< span
class="cmbx-10">info< / span > < / dt > < dd
class="description">
<!-- l. 1231 --> < p class = "noindent" > Error code.< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">out< / span > .< br
class="newline" />An integer value; 0 means no error has been detected.< / dd > < / dl >
< h4 class = "subsectionHead" > < span class = "titlemark" > 4.14 < / span > < a
id="x9-690004.14">< / a > psb_gemlt — Entrywise Product< / h4 >
<!-- l. 1247 --> < p class = "noindent" > This function computes the entrywise product between two vectors < span
class="cmmi-10">x < / span > and
< span
class="cmmi-10">y< / span >
< div class = "math-display" >
< img
src="userhtml22x.png" alt="dot ← x(i)y(i).
" class="math-display" >< / div >
<!-- l. 1249 --> < p class = "nopar" >
<!-- l. 1251 --> < p class = "indent" > < code class = "lstinline" > < span style = "color:#000000" > psb_gemlt< / span > < span style = "color:#000000" > (< / span > < span style = "color:#000000" > x< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > y< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > desc_a< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > info< / span > < span style = "color:#000000" > )< / span > < / code >
< div class = "table" >
<!-- l. 1254 --> < p class = "indent" > < a
id="x9-69001r14">< / a > < hr class = "float" > < div class = "float"
>
< div class = "center"
>
<!-- l. 1255 --> < p class = "noindent" >
< div class = "tabular" > < table id = "TBL-14" class = "tabular"
>< colgroup id = "TBL-14-1g" > < col
id="TBL-14-1">< col
id="TBL-14-2">< / colgroup > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-14-1-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-14-1-1"
class="td11">< span
class="cmmi-10">dot< / span > , < span
class="cmmi-10">x< / span > , < span
class="cmmi-10">y < / span > < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-14-1-2"
class="td11">< span
class="cmbx-10">Function< / span > < / td >
< / tr > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-14-2-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-14-2-1"
class="td11">Short Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-14-2-2"
class="td11">psb_gemlt< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-14-3-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-14-3-1"
class="td11">Long Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-14-3-2"
class="td11">psb_gemlt< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-14-4-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-14-4-1"
class="td11">Short Precision Complex< / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-14-4-2"
class="td11">psb_gemlt< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-14-5-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-14-5-1"
class="td11">Long Precision Complex < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-14-5-2"
class="td11">psb_gemlt< / td >
< / tr > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-14-6-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-14-6-1"
class="td11"> < / td > < / tr > < / table > < / div > < / div >
< br / > < div class = "caption"
>< span class = "id" > Table  14: < / span > < span
class="content">Data types< / span > < / div > <!-- tex4ht:label?: x9 - 69001r14 -->
< / div > < hr class = "endfloat" / >
< / div >
< dl class = "description" > < dt class = "description" >
<!-- l. 1271 --> < p class = "noindent" >
< span
class="cmbx-10">Type:< / span > < / dt > < dd
class="description">
<!-- l. 1271 --> < p class = "noindent" > Synchronous.
< / dd > < dt class = "description" >
<!-- l. 1272 --> < p class = "noindent" >
< span
class="cmbx-10">On Entry< / span > < / dt > < dd
class="description">
<!-- l. 1272 --> < p class = "noindent" >
< / dd > < dt class = "description" >
<!-- l. 1273 --> < p class = "noindent" >
< span
class="cmbx-10">x< / span > < / dt > < dd
class="description">
<!-- l. 1273 --> < p class = "noindent" > the local portion of global dense vector < span
class="cmmi-10">x< / span > .< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: an object of type < a
href="userhtmlse3.html#vdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_T< / span > < span
class="cmtt-10">_vect< / span > < span
class="cmtt-10">_type< / span > < / a >   containing numbers of
type specified in Table  < a
href="#x9-57001r2">2<!-- tex4ht:ref: tab:f90dot --> < / a > .
< / dd > < dt class = "description" >
<!-- l. 1283 --> < p class = "noindent" >
< span
class="cmbx-10">y< / span > < / dt > < dd
class="description">
<!-- l. 1283 --> < p class = "noindent" > the local portion of global dense vector < span
class="cmmi-10">y< / span > . < br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: an object of type < a
href="userhtmlse3.html#vdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_T< / span > < span
class="cmtt-10">_vect< / span > < span
class="cmtt-10">_type< / span > < / a >   containing numbers of
type specified in Table  < a
href="#x9-57001r2">2<!-- tex4ht:ref: tab:f90dot --> < / a > .
< / dd > < dt class = "description" >
<!-- l. 1293 --> < p class = "noindent" >
< span
class="cmbx-10">desc< / span > < span
class="cmbx-10">_a< / span > < / dt > < dd
class="description">
<!-- l. 1293 --> < p class = "noindent" > contains data structures for communications.< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required< / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: an object of type < a
href="userhtmlse3.html#descdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_desc< / span > < span
class="cmtt-10">_type< / span > < / a > .
< / dd > < dt class = "description" >
<!-- l. 1298 --> < p class = "noindent" >
< span
class="cmbx-10">On Return< / span > < / dt > < dd
class="description">
<!-- l. 1298 --> < p class = "noindent" >
< / dd > < dt class = "description" >
<!-- l. 1299 --> < p class = "noindent" >
< span
class="cmbx-10">y< / span > < / dt > < dd
class="description">
<!-- l. 1299 --> < p class = "noindent" > the local portion of result submatrix < span
class="cmmi-10">y< / span > .< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">inout< / span > .< br
class="newline" />Specified as: an object of type < a
href="userhtmlse3.html#vdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_T< / span > < span
class="cmtt-10">_vect< / span > < span
class="cmtt-10">_type< / span > < / a >   containing numbers of
the type indicated in Table  < a
href="#x9-69001r14">14<!-- tex4ht:ref: tab:f90mlt --> < / a > .
< / dd > < dt class = "description" >
<!-- l. 1305 --> < p class = "noindent" >
< span
class="cmbx-10">info< / span > < / dt > < dd
class="description">
<!-- l. 1305 --> < p class = "noindent" > Error code.< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">out< / span > .< br
class="newline" />An integer value; 0 means no error has been detected.< / dd > < / dl >
< h4 class = "subsectionHead" > < span class = "titlemark" > 4.15 < / span > < a
id="x9-700004.15">< / a > psb_gediv — Entrywise Division< / h4 >
<!-- l. 1314 --> < p class = "noindent" > This function computes the entrywise division between two vectors < span
class="cmmi-10">x < / span > and
< span
class="cmmi-10">y< / span >
< div class = "math-display" >
< img
src="userhtml23x.png" alt="∕ ← x(i)∕ y(i).
" class="math-display" >< / div >
<!-- l. 1316 --> < p class = "nopar" >
<!-- l. 1318 --> < p class = "indent" > < code class = "lstinline" > < span style = "color:#000000" > psb_gediv< / span > < span style = "color:#000000" > (< / span > < span style = "color:#000000" > x< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > y< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > desc_a< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > info< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > [< / span > < span style = "color:#000000" > flag< / span > < span style = "color:#000000" > )< / span > < / code >
< div class = "table" >
<!-- l. 1321 --> < p class = "indent" > < a
id="x9-70001r15">< / a > < hr class = "float" > < div class = "float"
>
< div class = "center"
>
<!-- l. 1322 --> < p class = "noindent" >
< div class = "tabular" > < table id = "TBL-15" class = "tabular"
>< colgroup id = "TBL-15-1g" > < col
id="TBL-15-1">< col
id="TBL-15-2">< / colgroup > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-15-1-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-15-1-1"
class="td11">< span
class="cmmi-10">∕ < / span > , < span
class="cmmi-10">x< / span > , < span
class="cmmi-10">y < / span > < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-15-1-2"
class="td11">< span
class="cmbx-10">Function< / span > < / td >
< / tr > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-15-2-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-15-2-1"
class="td11">Short Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-15-2-2"
class="td11">psb_gediv< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-15-3-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-15-3-1"
class="td11">Long Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-15-3-2"
class="td11">psb_gediv< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-15-4-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-15-4-1"
class="td11">Short Precision Complex< / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-15-4-2"
class="td11">psb_gediv< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-15-5-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-15-5-1"
class="td11">Long Precision Complex < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-15-5-2"
class="td11">psb_gediv< / td >
< / tr > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-15-6-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-15-6-1"
class="td11"> < / td > < / tr > < / table > < / div > < / div >
< br / > < div class = "caption"
>< span class = "id" > Table  15: < / span > < span
class="content">Data types< / span > < / div > <!-- tex4ht:label?: x9 - 70001r15 -->
< / div > < hr class = "endfloat" / >
< / div >
< dl class = "description" > < dt class = "description" >
<!-- l. 1338 --> < p class = "noindent" >
< span
class="cmbx-10">Type:< / span > < / dt > < dd
class="description">
<!-- l. 1338 --> < p class = "noindent" > Synchronous.
< / dd > < dt class = "description" >
<!-- l. 1339 --> < p class = "noindent" >
< span
class="cmbx-10">On Entry< / span > < / dt > < dd
class="description">
<!-- l. 1339 --> < p class = "noindent" >
< / dd > < dt class = "description" >
<!-- l. 1340 --> < p class = "noindent" >
< span
class="cmbx-10">x< / span > < / dt > < dd
class="description">
<!-- l. 1340 --> < p class = "noindent" > the local portion of global dense vector < span
class="cmmi-10">x< / span > .< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: an object of type < a
href="userhtmlse3.html#vdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_T< / span > < span
class="cmtt-10">_vect< / span > < span
class="cmtt-10">_type< / span > < / a >   containing numbers of
type specified in Table  < a
href="#x9-57001r2">2<!-- tex4ht:ref: tab:f90dot --> < / a > .
< / dd > < dt class = "description" >
<!-- l. 1350 --> < p class = "noindent" >
< span
class="cmbx-10">y< / span > < / dt > < dd
class="description">
<!-- l. 1350 --> < p class = "noindent" > the local portion of global dense vector < span
class="cmmi-10">y< / span > . < br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: an object of type < a
href="userhtmlse3.html#vdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_T< / span > < span
class="cmtt-10">_vect< / span > < span
class="cmtt-10">_type< / span > < / a >   containing numbers of
type specified in Table  < a
href="#x9-57001r2">2<!-- tex4ht:ref: tab:f90dot --> < / a > .
< / dd > < dt class = "description" >
<!-- l. 1360 --> < p class = "noindent" >
< span
class="cmbx-10">desc< / span > < span
class="cmbx-10">_a< / span > < / dt > < dd
class="description">
<!-- l. 1360 --> < p class = "noindent" > contains data structures for communications.< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required< / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: an object of type < a
href="userhtmlse3.html#descdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_desc< / span > < span
class="cmtt-10">_type< / span > < / a > .
< / dd > < dt class = "description" >
<!-- l. 1365 --> < p class = "noindent" >
< span
class="cmbx-10">flag< / span > < / dt > < dd
class="description">
<!-- l. 1365 --> < p class = "noindent" > check if any of the < span
class="cmmi-10">y< / span > (< span
class="cmmi-10">i< / span > ) = 0, and in case returns error halting the
computation.< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">optional < / span > Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: the logical value < code class = "lstinline" > < span style = "color:#000000" > flag< / span > < span style = "color:#000000" > =.< / span > < span style = "color:#000000" > true< / span > < span style = "color:#000000" > .< / span > < / code >
< / dd > < dt class = "description" >
<!-- l. 1370 --> < p class = "noindent" >
< span
class="cmbx-10">On Return< / span > < / dt > < dd
class="description">
<!-- l. 1370 --> < p class = "noindent" >
< / dd > < dt class = "description" >
<!-- l. 1371 --> < p class = "noindent" >
< span
class="cmbx-10">x< / span > < / dt > < dd
class="description">
<!-- l. 1371 --> < p class = "noindent" > the local portion of result submatrix < span
class="cmmi-10">x< / span > .< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">inout< / span > .< br
class="newline" />Specified as: an object of type < a
href="userhtmlse3.html#vdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_T< / span > < span
class="cmtt-10">_vect< / span > < span
class="cmtt-10">_type< / span > < / a >   containing numbers of
the type indicated in Table  < a
href="#x9-69001r14">14<!-- tex4ht:ref: tab:f90mlt --> < / a > .
< / dd > < dt class = "description" >
<!-- l. 1377 --> < p class = "noindent" >
< span
class="cmbx-10">info< / span > < / dt > < dd
class="description">
<!-- l. 1377 --> < p class = "noindent" > Error code.< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">out< / span > .< br
class="newline" />An integer value; 0 means no error has been detected.< / dd > < / dl >
< h4 class = "subsectionHead" > < span class = "titlemark" > 4.16 < / span > < a
id="x9-710004.16">< / a > psb_geinv — Entrywise Inversion< / h4 >
<!-- l. 1386 --> < p class = "noindent" > This function computes the entrywise inverse of a vector < span
class="cmmi-10">x < / span > and puts it into
< span
class="cmmi-10">y< / span >
< div class = "math-display" >
< img
src="userhtml24x.png" alt="∕ ← 1∕ x(i).
" class="math-display" >< / div >
<!-- l. 1388 --> < p class = "nopar" >
<!-- l. 1390 --> < p class = "indent" > < code class = "lstinline" > < span style = "color:#000000" > psb_geinv< / span > < span style = "color:#000000" > (< / span > < span style = "color:#000000" > x< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > y< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > desc_a< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > info< / span > < span style = "color:#000000" > ,< / span > < span style = "color:#000000" > < / span > < span style = "color:#000000" > [< / span > < span style = "color:#000000" > flag< / span > < span style = "color:#000000" > )< / span > < / code >
< div class = "table" >
<!-- l. 1393 --> < p class = "indent" > < a
id="x9-71001r16">< / a > < hr class = "float" > < div class = "float"
>
< div class = "center"
>
<!-- l. 1394 --> < p class = "noindent" >
< div class = "tabular" > < table id = "TBL-16" class = "tabular"
>< colgroup id = "TBL-16-1g" > < col
id="TBL-16-1">< col
id="TBL-16-2">< / colgroup > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-16-1-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-16-1-1"
class="td11">< span
class="cmmi-10">∕ < / span > , < span
class="cmmi-10">x< / span > , < span
class="cmmi-10">y < / span > < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-16-1-2"
class="td11">< span
class="cmbx-10">Function< / span > < / td >
< / tr > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-16-2-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-16-2-1"
class="td11">Short Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-16-2-2"
class="td11">psb_geinv< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-16-3-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-16-3-1"
class="td11">Long Precision Real < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-16-3-2"
class="td11">psb_geinv< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-16-4-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-16-4-1"
class="td11">Short Precision Complex< / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-16-4-2"
class="td11">psb_geinv< / td >
< / tr > < tr
style="vertical-align:baseline;" id="TBL-16-5-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-16-5-1"
class="td11">Long Precision Complex < / td > < td style = "white-space:nowrap; text-align:left;" id = "TBL-16-5-2"
class="td11">psb_geinv< / td >
< / tr > < tr
class="hline">< td > < hr > < / td > < td > < hr > < / td > < / tr > < tr
style="vertical-align:baseline;" id="TBL-16-6-">< td style = "white-space:nowrap; text-align:left;" id = "TBL-16-6-1"
class="td11"> < / td > < / tr > < / table > < / div > < / div >
< br / > < div class = "caption"
>< span class = "id" > Table  16: < / span > < span
class="content">Data types< / span > < / div > <!-- tex4ht:label?: x9 - 71001r16 -->
< / div > < hr class = "endfloat" / >
< / div >
< dl class = "description" > < dt class = "description" >
<!-- l. 1410 --> < p class = "noindent" >
< span
class="cmbx-10">Type:< / span > < / dt > < dd
class="description">
<!-- l. 1410 --> < p class = "noindent" > Synchronous.
< / dd > < dt class = "description" >
<!-- l. 1411 --> < p class = "noindent" >
< span
class="cmbx-10">On Entry< / span > < / dt > < dd
class="description">
<!-- l. 1411 --> < p class = "noindent" >
< / dd > < dt class = "description" >
<!-- l. 1412 --> < p class = "noindent" >
< span
class="cmbx-10">x< / span > < / dt > < dd
class="description">
<!-- l. 1412 --> < p class = "noindent" > the local portion of global dense vector < span
class="cmmi-10">x< / span > .< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: an object of type < a
href="userhtmlse3.html#vdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_T< / span > < span
class="cmtt-10">_vect< / span > < span
class="cmtt-10">_type< / span > < / a >   containing numbers of
type specified in Table  < a
href="#x9-57001r2">2<!-- tex4ht:ref: tab:f90dot --> < / a > .
< / dd > < dt class = "description" >
<!-- l. 1422 --> < p class = "noindent" >
< span
class="cmbx-10">desc< / span > < span
class="cmbx-10">_a< / span > < / dt > < dd
class="description">
<!-- l. 1422 --> < p class = "noindent" > contains data structures for communications.< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required< / span > < br
class="newline" />Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: an object of type < a
href="userhtmlse3.html#descdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_desc< / span > < span
class="cmtt-10">_type< / span > < / a > .
< / dd > < dt class = "description" >
<!-- l. 1427 --> < p class = "noindent" >
< span
class="cmbx-10">flag< / span > < / dt > < dd
class="description">
<!-- l. 1427 --> < p class = "noindent" > check if any of the < span
class="cmmi-10">x< / span > (< span
class="cmmi-10">i< / span > ) = 0, and in case returns error halting the
computation.< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">optional < / span > Intent: < span
class="cmbx-10">in< / span > .< br
class="newline" />Specified as: the logical value < code class = "lstinline" > < span style = "color:#000000" > flag< / span > < span style = "color:#000000" > =.< / span > < span style = "color:#000000" > true< / span > < span style = "color:#000000" > .< / span > < / code >
< / dd > < dt class = "description" >
<!-- l. 1432 --> < p class = "noindent" >
< span
class="cmbx-10">On Return< / span > < / dt > < dd
class="description">
<!-- l. 1432 --> < p class = "noindent" >
< / dd > < dt class = "description" >
<!-- l. 1433 --> < p class = "noindent" >
< span
class="cmbx-10">y< / span > < / dt > < dd
class="description">
<!-- l. 1433 --> < p class = "noindent" > the local portion of result submatrix < span
class="cmmi-10">x< / span > .< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">out< / span > .< br
class="newline" />Specified as: an object of type < a
href="userhtmlse3.html#vdata">< span
class="cmtt-10">psb< / span > < span
class="cmtt-10">_T< / span > < span
class="cmtt-10">_vect< / span > < span
class="cmtt-10">_type< / span > < / a >   containing numbers of
the type indicated in Table  < a
href="#x9-71001r16">16<!-- tex4ht:ref: tab:f90inv --> < / a > .
< / dd > < dt class = "description" >
<!-- l. 1439 --> < p class = "noindent" >
< span
class="cmbx-10">info< / span > < / dt > < dd
class="description">
<!-- l. 1439 --> < p class = "noindent" > Error code.< br
class="newline" />Scope: < span
class="cmbx-10">local < / span > < br
class="newline" />Type: < span
class="cmbx-10">required < / span > < br
class="newline" />Intent: < span
class="cmbx-10">out< / span > .< br
class="newline" />An integer value; 0 means no error has been detected.< / dd > < / dl >
<!-- l. 1 --> < div class = "crosslinks" > < p class = "noindent" > [< a
href="userhtmlse8.html" >next< / a > ] [< a
href="userhtmlse3.html" >prev< / a > ] [< a
href="userhtmlse3.html#tailuserhtmlse3.html" >prev-tail< / a > ] [< a
href="userhtmlse4.html" >front< / a > ] [< a
href="userhtml.html#userhtmlse7.html" >up< / a > ] < / p > < / div >
<!-- l. 1 --> < p class = "indent" > < a
id="tailuserhtmlse4.html">< / a >
< / body > < / html >