<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html > <head><title>psb_gedots — Generalized Dot Product</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. 235--><div class="crosslinks"><p class="noindent">[<a href="userhtmlsu16.html" >next</a>] [<a href="userhtmlsu11.html" >prev</a>] [<a href="userhtmlsu11.html#tailuserhtmlsu11.html" >prev-tail</a>] [<a href="userhtmlse4.html#tailuserhtmlsu12.html">tail</a>] [<a href="userhtmlsu12.html#userhtmlsu15.html" >up</a>] </p></div> <h4 class="subsectionHead"><span class="titlemark">4.3 </span> <a id="x21-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>: <center class="math-display" > <img src="userhtml4x.png" alt=" T res(i) ← x(:,i) y(:,i) " class="math-display" ></center> <!--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" > <span class="lstinline"></span><span class="cmtt-10">call</span><span class="cmtt-10"> </span><span class="cmtt-10">psb_gedots</span><span class="cmtt-10">(</span><span class="cmtt-10">res</span><span class="cmtt-10">,</span><span class="cmtt-10"> </span><span class="cmtt-10">x</span><span class="cmtt-10">,</span><span class="cmtt-10"> </span><span class="cmtt-10">y</span><span class="cmtt-10">,</span><span class="cmtt-10"> </span><span class="cmtt-10">desc_a</span><span class="cmtt-10">,</span><span class="cmtt-10"> </span><span class="cmtt-10">info</span><span class="cmtt-10">)</span> <div class="table"> <!--l. 247--><p class="indent" > <a id="x21-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" cellspacing="0" cellpadding="0" ><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?: x21-58001r3 --> </div><hr class="endfloat" /> </div> <dl class="description"><dt class="description"> <span class="cmbx-10">Type:</span> </dt><dd class="description">Synchronous. </dd><dt class="description"> <span class="cmbx-10">On Entry</span> </dt><dd class="description"> </dd><dt class="description"> <span class="cmbx-10">x</span> </dt><dd class="description">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="userhtmlsu7.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="#x21-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"> <span class="cmbx-10">y</span> </dt><dd class="description">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="userhtmlsu7.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="#x21-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"> <span class="cmbx-10">desc</span><span class="cmbx-10">_a</span> </dt><dd class="description">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="userhtmlsu5.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"> <span class="cmbx-10">On Return</span> </dt><dd class="description"> </dd><dt class="description"> <span class="cmbx-10">res</span> </dt><dd class="description">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="userhtmlsu11.html#x20-57001r2">2<!--tex4ht:ref: tab:f90dot --></a>. </dd><dt class="description"> <span class="cmbx-10">info</span> </dt><dd class="description">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. 307--><div class="crosslinks"><p class="noindent">[<a href="userhtmlsu16.html" >next</a>] [<a href="userhtmlsu11.html" >prev</a>] [<a href="userhtmlsu11.html#tailuserhtmlsu11.html" >prev-tail</a>] [<a href="userhtmlsu12.html" >front</a>] [<a href="userhtmlsu12.html#userhtmlsu15.html" >up</a>] </p></div> <!--l. 307--><p class="indent" > <a id="tailuserhtmlsu12.html"></a> </body></html>