<?xml-stylesheet type="text/xsl" href="../styles/pmathml.xsl"?>
<!-- saved from url=(0014)about:internet -->
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:dsi="http://www.w3.org/1999/xlink" xmlns:m="http://www.w3.org/1998/Math/MathML" xml:space="preserve"><head><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"/><title>F16 Chapter Introduction : NAG Library, Mark 22</title><link rel="stylesheet" href="../styles/libdoc.css" type="text/css"/><script type="text/javascript">
   function showLevel(_levelId){
    var thisLevel = document.getElementById(_levelId);
    var thisplus = document.getElementById( _levelId.concat('plus'));
    var thisminus = document.getElementById( _levelId.concat('minus'));
    if(thisLevel.style.display != "block"){
     thisLevel.style.display = "block";
     thisplus.style.display = "none";
     thisminus.style.display = "inline";
     }
    else{
     thisLevel.style.display = "none";
     thisminus.style.display = "none";
     thisplus.style.display = "inline";
     }
    }
  </script></head><body><hr/><div><a class="chap" href="f16conts.xml">F16 Chapter Contents</a></div><div><a class="chapint" href="../../pdf/F16/f16intro.pdf">F16 Chapter Introduction (PDF version)</a></div>
<div><a class="htmltoc" href="../FRONTMATTER/manconts.xml">NAG Library Manual</a></div><hr/><h1 class="libdoc">NAG Library Chapter Introduction<br/><br/>F16 &#8211; Further Linear Algebra Support Routines</h1><div class="htmltoc">
<h2 class="htmltoc"><span class="htmltochead" onclick="showLevel('htmltoc');"><span class="htmltocplus" id="htmltocplus">+</span><span class="htmltocminus" id="htmltocminus">&#8722;</span></span>&#160;Contents</h2>
<div class="htmltocitem" id="htmltoc">
<div class="htmltoc">
<span class="htmltocplus">&#160;&#160;&#160;</span>
<a class="htmltoc" href="#scope">1&#160;&#160;<b>Scope of the Chapter</b></a>
</div><div class="htmltoc">
<span class="htmltocplus">&#160;&#160;&#160;</span>
<a class="htmltoc" href="#background">2&#160;&#160;<b>Background to the Problems</b></a>
</div><div class="htmltoc">
<span class="htmltocplus">&#160;&#160;&#160;</span>
<a class="htmltoc" href="#available">3&#160;&#160;<b>Recommendations on Choice and Use of Available Routines</b></a>
</div><div class="htmltoc">
<span class="htmltocplus">&#160;&#160;&#160;</span>
<a class="htmltoc" href="#index">4&#160;&#160;<b>Index</b></a>
</div><div class="htmltoc">
<span class="htmltocplus">&#160;&#160;&#160;</span>
<a class="htmltoc" href="#withdrawn">5&#160;&#160;<b>Routines Withdrawn or Scheduled for Withdrawal</b></a>
</div><div class="htmltoc">
<span class="htmltocplus">&#160;&#160;&#160;</span>
<a class="htmltoc" href="#references">6&#160;&#160;<b>References</b></a>
</div>
</div>
</div><h2 class="standard"><a class="sec" name="scope" id="scope"/>1&#160;&#160;Scope of the Chapter</h2>
<div class="paramtext">This chapter is concerned with basic linear algebra routines which perform elementary algebraic operations involving vectors and matrices. Other routines for such operations are available in <a class="chap" href="../F06/f06conts.xml">Chapter F06</a>.</div><h2 class="standard"><a class="sec" name="background" id="background"/>2&#160;&#160;Background to the Problems</h2>
<div class="paramtext">The routines in this chapter follow the specification of <a class="ref" href="#ref720">The BLAS Technical Forum Standard (2001)</a>.  They are called extensively as auxiliaries by routines in other chapters of the NAG Library, especially in the linear algebra chapters.  They are intended to be useful building-blocks for users of the Library who are developing their own applications.</div><div class="paramtext">The routines fall into three main groups: 
<ol class="listnumber"><li class="listnumber"><a name="item1" id="item1"/>scalar and vector operations, also referred to as Level-1 BLAS;</li><li class="listnumber"><a name="item2" id="item2"/>matrix-vector operations or Level-2 BLAS;</li><li class="listnumber"><a name="item3" id="item3"/>matrix operations which includes single matrix operations (Level-2 BLAS), matrix-matrix operations (Level-3 BLAS) and data movement operations on matrices.</li></ol>
</div><div class="paramtext">The terminology reflects the number of operations involved, so for example a Level-2 routine involves <m:math><m:mi>O</m:mi><m:mfenced separators=""><m:msup><m:mi>n</m:mi><m:mn>2</m:mn></m:msup></m:mfenced></m:math>&#160;operations, for vectors and matrices of order <m:math><m:mi>n</m:mi></m:math>.</div><div class="paramtext">In many implementations of the NAG Library, the routines in this chapter serve as interfaces to an efficient machine-specific implementation of the BLAS, usually provided by the vendor of the machine.  Such implementations are stringently tested before being used with the NAG
Library,  to ensure that they correctly meet the specifications of the
BLAS, and that they return the desired accuracy.</div><div class="paramtext">Because of the overlap of functionality with <a class="chap" href="../F06/f06conts.xml">Chapter F06</a>, only a subset of routines defined by the Technical Forum are implemented in this chapter.</div><h2 class="standard"><a class="sec" name="available" id="available"/>3&#160;&#160;Recommendations on Choice and Use of Available Routines</h2>
<div class="paramtext">The routines in this chapter make available only some of the
Basic Linear Algebra Subprograms which carry out the low level operations required by linear algebra applications.  These will not normally be needed by the general user.  The purpose of each routine is described by its individual document.</div><div class="paramtext">It should be noted that, in some cases,  <a class="ref" href="#ref720">The BLAS Technical Forum Standard (2001)</a> extends the functionality of earlier BLAS specifications.  For example, <a class="rout" href="../F06/f06ecf.xml">F06ECF (DAXPY)</a> carrying out the operation

<div class="formula"><table class="formula"><tr><td class="formula"><m:math display="block">
<m:mi>y</m:mi><m:mo>&#8592;</m:mo><m:mi>&#945;</m:mi><m:mi>x</m:mi><m:mo>+</m:mo><m:mi>y</m:mi>
</m:math></td><td class="formula2"/></tr></table></div>

is

 extended by <a class="rout" href="../F16/f16ehf.xml">F16EHF (BLAS_DWAXPBY)</a>, 
which performs the operation


<div class="formula"><table class="formula"><tr><td class="formula"><m:math display="block">
<m:mi>w</m:mi><m:mo>&#8592;</m:mo><m:mi>&#945;</m:mi> <m:mi>x</m:mi><m:mo>+</m:mo><m:mi>&#946;</m:mi> <m:mi>y</m:mi><m:mtext>.</m:mtext>
</m:math></td><td class="formula2"/></tr></table></div></div><div class="paramtext">Invalid values of arguments cause an error message to be returned via the

 default error-handler described in <a class="ref" href="#ref720">The BLAS Technical Forum Standard (2001)</a>; the handler prints an informative error message and then aborts execution.
</div><h2 class="standard"><a class="sec" name="index" id="index"/>4&#160;&#160;Index</h2>
<div>
<table style="width:95%"><tr><td style="width:1pt; white-space: no-wrap;"><nobr>Level&#160;1&#160;(Vector)&#160;operations:</nobr></td><td>&#160;</td><td style="width: 1pt; white-space: no-wrap;"><nobr/></td></tr></table>
<table style="width:95%"><tr><td style="width:1pt; white-space: no-wrap;"><nobr>&#160;&#160;&#160;&#160;Complex&#160;vector(s),</nobr></td><td>&#160;</td><td style="width: 1pt; white-space: no-wrap;"><nobr/></td></tr></table>
<table style="width:95%"><tr><td style="width:1pt; white-space: no-wrap;"><nobr>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;maximum&#160;absolute&#160;value&#160;and&#160;location</nobr></td><td style="border-bottom: 0.1em dotted black;">&#160;</td><td style="width: 1pt; white-space: no-wrap;"><nobr><a class="rout" href="../F16/f16jsf.xml">F16JSF&#160;(BLAS_ZAMAX_VAL)</a></nobr></td></tr></table>
<table style="width:95%"><tr><td style="width:1pt; white-space: no-wrap;"><nobr>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;minimum&#160;absolute&#160;value&#160;and&#160;location</nobr></td><td style="border-bottom: 0.1em dotted black;">&#160;</td><td style="width: 1pt; white-space: no-wrap;"><nobr><a class="rout" href="../F16/f16jtf.xml">F16JTF&#160;(BLAS_ZAMIN_VAL)</a></nobr></td></tr></table>
<table style="width:95%"><tr><td style="width:1pt; white-space: no-wrap;"><nobr>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;scaled&#160;vector&#160;addition&#160;preserving&#160;input</nobr></td><td style="border-bottom: 0.1em dotted black;">&#160;</td><td style="width: 1pt; white-space: no-wrap;"><nobr><a class="rout" href="../F16/f16ghf.xml">F16GHF&#160;(BLAS_ZWAXPBY)</a></nobr></td></tr></table>
<table style="width:95%"><tr><td style="width:1pt; white-space: no-wrap;"><nobr>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;sum&#160;of&#160;elements</nobr></td><td style="border-bottom: 0.1em dotted black;">&#160;</td><td style="width: 1pt; white-space: no-wrap;"><nobr><a class="rout" href="../F16/f16glf.xml">F16GLF&#160;(BLAS_ZSUM)</a></nobr></td></tr></table>
<table style="width:95%"><tr><td style="width:1pt; white-space: no-wrap;"><nobr>&#160;&#160;&#160;&#160;Integer&#160;vector(s),</nobr></td><td>&#160;</td><td style="width: 1pt; white-space: no-wrap;"><nobr/></td></tr></table>
<table style="width:95%"><tr><td style="width:1pt; white-space: no-wrap;"><nobr>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;maximum&#160;absolute&#160;value&#160;and&#160;location</nobr></td><td style="border-bottom: 0.1em dotted black;">&#160;</td><td style="width: 1pt; white-space: no-wrap;"><nobr><a class="rout" href="../F16/f16dqf.xml">F16DQF</a></nobr></td></tr></table>
<table style="width:95%"><tr><td style="width:1pt; white-space: no-wrap;"><nobr>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;maximum&#160;value&#160;and&#160;location</nobr></td><td style="border-bottom: 0.1em dotted black;">&#160;</td><td style="width: 1pt; white-space: no-wrap;"><nobr><a class="rout" href="../F16/f16dnf.xml">F16DNF</a></nobr></td></tr></table>
<table style="width:95%"><tr><td style="width:1pt; white-space: no-wrap;"><nobr>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;minimum&#160;absolute&#160;value&#160;and&#160;location</nobr></td><td style="border-bottom: 0.1em dotted black;">&#160;</td><td style="width: 1pt; white-space: no-wrap;"><nobr><a class="rout" href="../F16/f16drf.xml">F16DRF</a></nobr></td></tr></table>
<table style="width:95%"><tr><td style="width:1pt; white-space: no-wrap;"><nobr>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;minimum&#160;value&#160;and&#160;location</nobr></td><td style="border-bottom: 0.1em dotted black;">&#160;</td><td style="width: 1pt; white-space: no-wrap;"><nobr><a class="rout" href="../F16/f16dpf.xml">F16DPF</a></nobr></td></tr></table>
<table style="width:95%"><tr><td style="width:1pt; white-space: no-wrap;"><nobr>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;sum&#160;of&#160;elements</nobr></td><td style="border-bottom: 0.1em dotted black;">&#160;</td><td style="width: 1pt; white-space: no-wrap;"><nobr><a class="rout" href="../F16/f16dlf.xml">F16DLF</a></nobr></td></tr></table>
<table style="width:95%"><tr><td style="width:1pt; white-space: no-wrap;"><nobr>&#160;&#160;&#160;&#160;Real&#160;vector(s),</nobr></td><td>&#160;</td><td style="width: 1pt; white-space: no-wrap;"><nobr/></td></tr></table>
<table style="width:95%"><tr><td style="width:1pt; white-space: no-wrap;"><nobr>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;maximum&#160;absolute&#160;value&#160;and&#160;location</nobr></td><td style="border-bottom: 0.1em dotted black;">&#160;</td><td style="width: 1pt; white-space: no-wrap;"><nobr><a class="rout" href="../F16/f16jqf.xml">F16JQF&#160;(BLAS_DAMAX_VAL)</a></nobr></td></tr></table>
<table style="width:95%"><tr><td style="width:1pt; white-space: no-wrap;"><nobr>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;maximum&#160;value&#160;and&#160;location</nobr></td><td style="border-bottom: 0.1em dotted black;">&#160;</td><td style="width: 1pt; white-space: no-wrap;"><nobr><a class="rout" href="../F16/f16jnf.xml">F16JNF&#160;(BLAS_DMAX_VAL)</a></nobr></td></tr></table>
<table style="width:95%"><tr><td style="width:1pt; white-space: no-wrap;"><nobr>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;minimum&#160;absolute&#160;value&#160;and&#160;location</nobr></td><td style="border-bottom: 0.1em dotted black;">&#160;</td><td style="width: 1pt; white-space: no-wrap;"><nobr><a class="rout" href="../F16/f16jrf.xml">F16JRF&#160;(BLAS_DAMIN_VAL)</a></nobr></td></tr></table>
<table style="width:95%"><tr><td style="width:1pt; white-space: no-wrap;"><nobr>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;minimum&#160;value&#160;and&#160;location</nobr></td><td style="border-bottom: 0.1em dotted black;">&#160;</td><td style="width: 1pt; white-space: no-wrap;"><nobr><a class="rout" href="../F16/f16jpf.xml">F16JPF&#160;(BLAS_DMIN_VAL)</a></nobr></td></tr></table>
<table style="width:95%"><tr><td style="width:1pt; white-space: no-wrap;"><nobr>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;scaled&#160;vector&#160;addition&#160;preserving&#160;input</nobr></td><td style="border-bottom: 0.1em dotted black;">&#160;</td><td style="width: 1pt; white-space: no-wrap;"><nobr><a class="rout" href="../F16/f16ehf.xml">F16EHF&#160;(BLAS_DWAXPBY)</a></nobr></td></tr></table>
<table style="width:95%"><tr><td style="width:1pt; white-space: no-wrap;"><nobr>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;sum&#160;of&#160;elements</nobr></td><td style="border-bottom: 0.1em dotted black;">&#160;</td><td style="width: 1pt; white-space: no-wrap;"><nobr><a class="rout" href="../F16/f16elf.xml">F16ELF&#160;(BLAS_DSUM)</a></nobr></td></tr></table></div><h2 class="standard"><a class="sec" name="withdrawn" id="withdrawn"/>5&#160;&#160;Routines Withdrawn or Scheduled for Withdrawal</h2>
<div class="paramtext">None.</div><h2 class="standard"><a class="sec" name="references" id="references"/>6&#160;&#160;References</h2><div class="paramtext"><a name="ref720" id="ref720"/>The BLAS Technical Forum Standard  (2001)   <i>http://www.netlib.org/blas/blast-forum</i> </div><hr/><div><a class="chap" href="f16conts.xml">F16 Chapter Contents</a></div><div><a class="chapint" href="../../pdf/F16/f16intro.pdf">F16 Chapter Introduction (PDF version)</a></div>
<div><a class="htmltoc" href="../FRONTMATTER/manconts.xml">NAG Library Manual</a></div>
<div><hr/><a class="genint" href="../FRONTMATTER/copyright.xml">&#169; The Numerical Algorithms Group Ltd, Oxford, UK. 2009</a></div></body></html>
