<?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>F07BBF (DGBSVX) : 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="rout" href="../../pdf/F07/f07bbf.pdf">F07BBF (DGBSVX) (PDF version)</a></div><div><a class="chap" href="f07conts.xml">F07 Chapter Contents</a></div><div><a class="chapint" href="f07intro.xml">F07 Chapter Introduction</a></div>
<div><a class="htmltoc" href="../FRONTMATTER/manconts.xml">NAG Library Manual</a></div><hr/><h1 class="libdoc">NAG Library Routine Document<br/><br/>F07BBF (DGBSVX)</h1><div class="paramtext"><div class="header"><b>Note:</b>&#160; before using this routine, please read the Users' Note for your implementation to check the interpretation of <span class="bitalic">bold italicised</span> terms and other implementation-dependent details.</div></div> 
<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="#purpose">1&#160;&#160;<b>Purpose</b></a>
</div><div class="htmltoc">
<span class="htmltocplus">&#160;&#160;&#160;</span>
<a class="htmltoc" href="#specification">2&#160;&#160;<b>Specification</b></a>
</div><div class="htmltoc">
<span class="htmltocplus">&#160;&#160;&#160;</span>
<a class="htmltoc" href="#description">3&#160;&#160;<b>Description</b></a>
</div><div class="htmltoc">
<span class="htmltocplus">&#160;&#160;&#160;</span>
<a class="htmltoc" href="#references">4&#160;&#160;<b>References</b></a>
</div><div class="htmltoc">
<span class="htmltocplus">&#160;&#160;&#160;</span>
<a class="htmltoc" href="#parameters">5&#160;&#160;<b>Parameters</b></a>
</div><div class="htmltoc">
<span class="htmltocplus">&#160;&#160;&#160;</span>
<a class="htmltoc" href="#errors">6&#160;&#160;<b>Error Indicators and Warnings</b></a>
</div><div class="htmltoc">
<span class="htmltocplus">&#160;&#160;&#160;</span>
<a class="htmltoc" href="#accuracy">7&#160;&#160;<b>Accuracy</b></a>
</div><div class="htmltoc">
<span class="htmltocplus">&#160;&#160;&#160;</span>
<a class="htmltoc" href="#fcomments">8&#160;&#160;<b>Further Comments</b></a>
</div><div class="htmltoc">
<span class="htmltoc" onclick="showLevel('tocexample');"><span class="htmltocplus" id="tocexampleplus">+</span><span class="htmltocminus" id="tocexampleminus">&#8722;</span></span>
<a class="htmltoc" href="#example">9&#160;&#160;<b>Example</b></a>
<div class="htmltocitem" id="tocexample">
<div class="htmltoc">
<span class="htmltocplus">&#160;&#160;&#160;</span>
<a class="htmltoc" href="#examtext">9.1&#160;&#160;<b>Program Text</b></a>
</div><div class="htmltoc">
<span class="htmltocplus">&#160;&#160;&#160;</span>
<a class="htmltoc" href="#examdata">9.2&#160;&#160;<b>Program Data</b></a>
</div><div class="htmltoc">
<span class="htmltocplus">&#160;&#160;&#160;</span>
<a class="htmltoc" href="#examresults">9.3&#160;&#160;<b>Program Results</b></a>
</div>
</div>
</div>
</div>
</div><h2 class="standard"><a class="sec" name="purpose" id="purpose"/>1&#160;&#160;Purpose</h2>
<div class="paramtext">F07BBF (DGBSVX) computes the solution to a real system of linear equations 

<div class="formula"><table class="formula"><tr><td class="formula"><m:math display="block">
<m:mi>A</m:mi><m:mi>X</m:mi><m:mo>=</m:mo><m:mi>B</m:mi>
 <m:mtext>&#8195; or &#8195;</m:mtext>
 <m:msup><m:mi>A</m:mi><m:mi mathvariant="normal">T</m:mi></m:msup><m:mi>X</m:mi><m:mo>=</m:mo><m:mi>B</m:mi>
 <m:mtext>,</m:mtext>
</m:math></td><td class="formula2"/></tr></table></div>

where <m:math><m:mi>A</m:mi></m:math>&#160;is an <m:math><m:mi>n</m:mi></m:math>&#160;by <m:math><m:mi>n</m:mi></m:math>&#160;band matrix with <m:math><m:msub><m:mi>k</m:mi><m:mi>l</m:mi></m:msub></m:math>&#160;subdiagonals and <m:math><m:msub><m:mi>k</m:mi><m:mi>u</m:mi></m:msub></m:math>&#160;superdiagonals, and <m:math><m:mi>X</m:mi></m:math>&#160;and <m:math><m:mi>B</m:mi></m:math>&#160;are <m:math><m:mi>n</m:mi></m:math>&#160;by <m:math><m:mi>r</m:mi></m:math>&#160;matrices. Error bounds on the solution and a condition estimate are also provided.</div><h2 class="standard"><a class="sec" name="specification" id="specification"/>2&#160;&#160;Specification</h2>
<table class="fspec"><tr><td class="tdfspec1">SUBROUTINE&#160;F07BBF&#160;(</td><td class="tdfspec2"><a class="arg" href="#FACT">FACT</a>, <a class="arg" href="#TRANS">TRANS</a>, <a class="arg" href="#N">N</a>, <a class="arg" href="#KL">KL</a>, <a class="arg" href="#KU">KU</a>, <a class="arg" href="#NRHS">NRHS</a>, <a class="arg" href="#AB">AB</a>, <a class="arg" href="#LDAB">LDAB</a>, <a class="arg" href="#AFB">AFB</a>, <a class="arg" href="#LDAFB">LDAFB</a>, <a class="arg" href="#IPIV">IPIV</a>, <a class="arg" href="#EQUED">EQUED</a>, <a class="arg" href="#R">R</a>, <a class="arg" href="#C">C</a>, <a class="arg" href="#B">B</a>, <a class="arg" href="#LDB">LDB</a>, <a class="arg" href="#X">X</a>, <a class="arg" href="#LDX">LDX</a>, <a class="arg" href="#RCOND">RCOND</a>, <a class="arg" href="#FERR">FERR</a>, <a class="arg" href="#BERR">BERR</a>, <a class="arg" href="#WORK">WORK</a>, <a class="arg" href="#IWORK">IWORK</a>, <a class="arg" href="#INFO">INFO</a>)</td></tr><tr><td class="tdfspec1">INTEGER</td><td class="tdfspec2">N, KL, KU, NRHS, LDAB, LDAFB, IPIV(*), LDB, LDX, IWORK(N), INFO</td></tr><tr><td class="tdfspec1"><b><i>double&#160;precision</i></b></td><td class="tdfspec2">AB(LDAB,*), AFB(LDAFB,*), R(*), C(*), B(LDB,*), X(LDX,*), RCOND, FERR(NRHS), BERR(NRHS), WORK(max(1,3*N))</td></tr><tr><td class="tdfspec1">CHARACTER*1</td><td class="tdfspec2">FACT, TRANS, EQUED</td></tr></table><div class="paramtext">The routine may be called by its 
    LAPACK
    name <span class="bitalic">dgbsvx</span>.</div><h2 class="standard"><a class="sec" name="description" id="description"/>3&#160;&#160;Description</h2>
<div class="paramtext">F07BBF (DGBSVX) performs the following steps:
<ol class="listnumber"><li class="listnumber"><b>Equilibration</b>
<div class="paramtext">The linear system to be solved may be badly scaled. However, the system can be equilibrated as a first stage by setting <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#FACT"><m:mi mathcolor="#EE0000" mathvariant="bold">FACT</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'E'</m:mtext></m:math>.  In this case, real scaling factors are computed and these factors then determine whether the system is to be equilibrated.  Equilibrated forms of the systems <m:math>
 <m:mi>A</m:mi><m:mi>X</m:mi><m:mo>=</m:mo><m:mi>B</m:mi>
</m:math>&#160;and <m:math>
 <m:msup><m:mi>A</m:mi><m:mi mathvariant="normal">T</m:mi></m:msup><m:mi>X</m:mi><m:mo>=</m:mo><m:mi>B</m:mi>
</m:math>&#160;are

<div class="formula"><table class="formula"><tr><td class="formula"><m:math display="block">
 <m:mfenced separators="">
  <m:msub><m:mi>D</m:mi><m:mi>R</m:mi></m:msub>
  <m:mi>A</m:mi>
  <m:msub><m:mi>D</m:mi><m:mi>C</m:mi></m:msub>
 </m:mfenced>
 <m:mfenced separators="">
  <m:msubsup><m:mi>D</m:mi><m:mi>C</m:mi><m:mrow><m:mo>-</m:mo><m:mn>1</m:mn></m:mrow></m:msubsup><m:mi>X</m:mi>
 </m:mfenced>
 <m:mo>=</m:mo>
  <m:msub><m:mi>D</m:mi><m:mi>R</m:mi></m:msub>
  <m:mi>B</m:mi>
</m:math></td><td class="formula2"/></tr></table></div>

and

<div class="formula"><table class="formula"><tr><td class="formula"><m:math display="block">
 <m:msup><m:mfenced separators="">
   <m:msub><m:mi>D</m:mi><m:mi>R</m:mi></m:msub>
   <m:mi>A</m:mi>
   <m:msub><m:mi>D</m:mi><m:mi>C</m:mi></m:msub>
  </m:mfenced><m:mi mathvariant="normal">T</m:mi></m:msup>
 <m:mfenced separators="">
  <m:msubsup><m:mi>D</m:mi><m:mi>R</m:mi><m:mrow><m:mo>-</m:mo><m:mn>1</m:mn></m:mrow></m:msubsup>
  <m:mi>X</m:mi>
 </m:mfenced>
 <m:mo>=</m:mo>
 <m:msub><m:mi>D</m:mi><m:mi>C</m:mi></m:msub>
 <m:mi>B</m:mi>
 <m:mtext>,</m:mtext>
</m:math></td><td class="formula2"/></tr></table></div>

respectively, where <m:math>
  <m:msub><m:mi>D</m:mi><m:mi>R</m:mi></m:msub>
</m:math>&#160;and <m:math>
  <m:msub><m:mi>D</m:mi><m:mi>C</m:mi></m:msub>
</m:math>&#160;are diagonal matrices, with positive diagonal elements, formed from the computed scaling factors.</div>
<div class="paramtext">When equilibration is used, <m:math><m:mi>A</m:mi></m:math>&#160;will be overwritten by <m:math>
 <m:msub><m:mi>D</m:mi><m:mi>R</m:mi></m:msub>
 <m:mi>A</m:mi>
 <m:msub><m:mi>D</m:mi><m:mi>C</m:mi></m:msub>
</m:math>&#160;and <m:math><m:mi>B</m:mi></m:math>&#160;will be overwritten by <m:math>
 <m:msub><m:mi>D</m:mi><m:mi>R</m:mi></m:msub>
 <m:mi>B</m:mi>
</m:math>&#160;(or <m:math>
 <m:msub><m:mi>D</m:mi><m:mi>C</m:mi></m:msub>
 <m:mi>B</m:mi>
</m:math>&#160;when the solution of <m:math>
 <m:msup><m:mi>A</m:mi><m:mi mathvariant="normal">T</m:mi></m:msup><m:mi>X</m:mi><m:mo>=</m:mo><m:mi>B</m:mi>
</m:math>&#160;is sought).</div></li><li class="listnumber"><b>Factorization</b>
<div class="paramtext">The matrix <m:math><m:mi>A</m:mi></m:math>, or its scaled form, is copied and factored using the <m:math><m:mi>L</m:mi><m:mi>U</m:mi></m:math>&#160;decomposition

<div class="formula"><table class="formula"><tr><td class="formula"><m:math display="block">
 <m:mi>A</m:mi><m:mo>=</m:mo><m:mi>P</m:mi><m:mi>L</m:mi><m:mi>U</m:mi>
 <m:mtext>,</m:mtext>
</m:math></td><td class="formula2"/></tr></table></div>

where <m:math><m:mi>P</m:mi></m:math>&#160;is a permutation matrix, <m:math><m:mi>L</m:mi></m:math>&#160;is a unit lower triangular matrix, and <m:math><m:mi>U</m:mi></m:math>&#160;is upper triangular.</div>
<div class="paramtext">This stage can be by-passed when a factored matrix (with scaled matrices and scaling factors) are supplied; for example, as provided by a previous call to F07BBF (DGBSVX) with the same matrix <m:math><m:mi>A</m:mi></m:math>.</div></li><li class="listnumber"><b>Condition Number Estimation</b>
<div class="paramtext">The <m:math><m:mi>L</m:mi><m:mi>U</m:mi></m:math>&#160;factorization of <m:math><m:mi>A</m:mi></m:math>&#160;determines whether a solution to the linear system exists.  If some diagonal element of <m:math><m:mi>U</m:mi></m:math>&#160;is zero, then <m:math><m:mi>U</m:mi></m:math>&#160;is exactly singular, no solution exists and the routine returns with a failure.  Otherwise the factorized form of <m:math><m:mi>A</m:mi></m:math>&#160;is used to estimate the condition number of the matrix <m:math><m:mi>A</m:mi></m:math>.  If the reciprocal of the condition number is less than <span class="bitalic">machine precision</span> then a warning code is returned on final exit.</div></li><li class="listnumber"><b>Solution</b>
<div class="paramtext">The (equilibrated) system is solved for <m:math><m:mi>X</m:mi></m:math>&#160;(<m:math>
 <m:msubsup><m:mi>D</m:mi><m:mi>C</m:mi><m:mrow><m:mo>-</m:mo><m:mn>1</m:mn></m:mrow></m:msubsup><m:mi>X</m:mi>
</m:math>&#160;or <m:math>
 <m:msubsup><m:mi>D</m:mi><m:mi>R</m:mi><m:mrow><m:mo>-</m:mo><m:mn>1</m:mn></m:mrow></m:msubsup><m:mi>X</m:mi>
</m:math>) using the factored form of <m:math><m:mi>A</m:mi></m:math>&#160;(<m:math>
 <m:msub><m:mi>D</m:mi><m:mi>R</m:mi></m:msub><m:mi>A</m:mi><m:msub><m:mi>D</m:mi><m:mi>C</m:mi></m:msub>
</m:math>).</div></li><li class="listnumber"><b>Iterative Refinement</b>
<div class="paramtext">Iterative refinement is applied to improve the computed solution matrix and to calculate error bounds and backward error estimates for the computed solution.</div></li><li class="listnumber"><b>Construct Solution Matrix <m:math><m:mi>X</m:mi></m:math></b>
<div class="paramtext">If equilibration was used, the matrix <m:math><m:mi>X</m:mi></m:math>&#160;is premultiplied by <m:math>
 <m:msub><m:mi>D</m:mi><m:mi>C</m:mi></m:msub>
</m:math>&#160;(if <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#TRANS"><m:mi mathcolor="#EE0000" mathvariant="bold">TRANS</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'N'</m:mtext></m:math>) or <m:math>
 <m:msub><m:mi>D</m:mi><m:mi>R</m:mi></m:msub>
</m:math>&#160;(if <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#TRANS"><m:mi mathcolor="#EE0000" mathvariant="bold">TRANS</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'T'</m:mtext></m:math>&#160;or <m:math><m:mtext>'C'</m:mtext></m:math>) so that it solves the original system before equilibration.</div></li></ol>
</div><h2 class="standard"><a class="sec" name="references" id="references"/>4&#160;&#160;References</h2><div class="paramtext"><a name="ref252" id="ref252"/>Anderson E, Bai Z, Bischof C, Blackford S, Demmel J, Dongarra J J, Du Croz J J, Greenbaum A, Hammarling S, McKenney A and Sorensen D (1999)  <i>LAPACK Users' Guide</i> (3rd Edition) SIAM, Philadelphia <a class="url" href="http://www.netlib.org/lapack/lug">http://www.netlib.org/lapack/lug</a></div>
<div class="paramtext"><a name="ref105" id="ref105"/>Golub G H and Van Loan C F (1996)  <i>Matrix Computations</i> (3rd Edition) Johns Hopkins University Press, Baltimore </div>
<div class="paramtext"><a name="ref734" id="ref734"/>Higham N J (2002)  <i>Accuracy and Stability of Numerical Algorithms</i> (2nd Edition) SIAM, Philadelphia </div><h2 class="standard"><a class="sec" name="parameters" id="parameters"/>5&#160;&#160;Parameters</h2>
<dl><dt class="paramhead"><a name="FACT" id="FACT"/>1: &#160;&#160;&#8194; FACT &#8211; CHARACTER*1<span class="pclass">Input</span></dt><dd>
<div class="paramtext"><i>On entry</i>: specifies whether or not the factorized form of the matrix <m:math><m:mi>A</m:mi></m:math>&#160;is supplied on entry, and if not, whether the matrix <m:math><m:mi>A</m:mi></m:math>&#160;should be equilibrated before it is factorized.

<dl>
<dt class="paramval"><m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#FACT"><m:mi mathcolor="#EE0000" mathvariant="bold">FACT</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'F'</m:mtext></m:math></dt>
<dd>
<a class="arg" href="#AFB">AFB</a> and <a class="arg" href="#IPIV">IPIV</a> contain
the factorized form of <m:math><m:mi>A</m:mi></m:math>. If 
<m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#EQUED"><m:mi mathcolor="#EE0000" mathvariant="bold">EQUED</m:mi></m:maction><m:mo>&#8800;</m:mo><m:mtext>'N'</m:mtext></m:math>, the matrix <m:math><m:mi>A</m:mi></m:math>&#160;has been equilibrated with scaling factors given by <a class="arg" href="#R">R</a> and <a class="arg" href="#C">C</a>. 
<a class="arg" href="#AB">AB</a>, <a class="arg" href="#AFB">AFB</a> and <a class="arg" href="#IPIV">IPIV</a> are not modified.</dd>
<dt class="paramval"><m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#FACT"><m:mi mathcolor="#EE0000" mathvariant="bold">FACT</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'N'</m:mtext></m:math></dt>
<dd>The matrix <m:math><m:mi>A</m:mi></m:math>&#160;will be copied to 
<a class="arg" href="#AFB">AFB</a> and factorized.</dd>
<dt class="paramval"><m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#FACT"><m:mi mathcolor="#EE0000" mathvariant="bold">FACT</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'E'</m:mtext></m:math></dt>
<dd>The matrix <m:math><m:mi>A</m:mi></m:math>&#160;will be equilibrated if necessary, then copied to 
<a class="arg" href="#AFB">AFB</a> and factorized.</dd></dl>
</div><div class="paramtext"><i>Constraint</i>:
  <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#FACT"><m:mi mathcolor="#EE0000" mathvariant="bold">FACT</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'F'</m:mtext></m:math>, <m:math><m:mtext>'N'</m:mtext></m:math>&#160;or <m:math><m:mtext>'E'</m:mtext></m:math>.
</div></dd><dt class="paramhead"><a name="TRANS" id="TRANS"/>2: &#160;&#160;&#8194; TRANS &#8211; CHARACTER*1<span class="pclass">Input</span></dt><dd>
<div class="paramtext"><i>On entry</i>: specifies the form of the system of equations.

<dl>
<dt class="paramval"><m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#TRANS"><m:mi mathcolor="#EE0000" mathvariant="bold">TRANS</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'N'</m:mtext></m:math></dt>
<dd><m:math><m:mi>A</m:mi><m:mi>X</m:mi><m:mo>=</m:mo><m:mi>B</m:mi></m:math>&#160;(No transpose).</dd>
<dt class="paramval"><m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#TRANS"><m:mi mathcolor="#EE0000" mathvariant="bold">TRANS</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'T'</m:mtext></m:math></dt>
<dd><m:math><m:msup><m:mi>A</m:mi><m:mi mathvariant="normal">T</m:mi></m:msup><m:mi>X</m:mi><m:mo>=</m:mo><m:mi>B</m:mi></m:math>&#160;(Transpose).</dd>
<dt class="paramval"><m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#TRANS"><m:mi mathcolor="#EE0000" mathvariant="bold">TRANS</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'C'</m:mtext></m:math></dt>
<dd><m:math><m:msup><m:mi>A</m:mi><m:mi mathvariant="normal">H</m:mi></m:msup><m:mi>X</m:mi><m:mo>=</m:mo><m:mi>B</m:mi></m:math>&#160;(Transpose).</dd></dl>
</div><div class="paramtext"><i>Constraint</i>:
  <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#TRANS"><m:mi mathcolor="#EE0000" mathvariant="bold">TRANS</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'N'</m:mtext></m:math>, <m:math><m:mtext>'T'</m:mtext></m:math>&#160;or <m:math><m:mtext>'C'</m:mtext></m:math>.
</div></dd><dt class="paramhead"><a name="N" id="N"/>3: &#160;&#160;&#8194; N &#8211; INTEGER<span class="pclass">Input</span></dt><dd>
<div class="paramtext"><i>On entry</i>: 

<m:math><m:mi>n</m:mi></m:math>, the number of linear equations, i.e., the order of the matrix <m:math><m:mi>A</m:mi></m:math>.</div><div class="paramtext"><i>Constraint</i>:
  <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#N"><m:mi mathcolor="#EE0000" mathvariant="bold">N</m:mi></m:maction><m:mo>&#8805;</m:mo><m:mn>0</m:mn></m:math>.
</div></dd><dt class="paramhead"><a name="KL" id="KL"/>4: &#160;&#160;&#8194; KL &#8211; INTEGER<span class="pclass">Input</span></dt><dd><div class="paramtext"><i>On entry</i>: <m:math><m:msub><m:mi>k</m:mi><m:mi>l</m:mi></m:msub></m:math>, the number of subdiagonals within the band of the matrix <m:math><m:mi>A</m:mi></m:math>.</div><div class="paramtext"><i>Constraint</i>:
  <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#KL"><m:mi mathcolor="#EE0000" mathvariant="bold">KL</m:mi></m:maction><m:mo>&#8805;</m:mo><m:mn>0</m:mn></m:math>.
</div></dd><dt class="paramhead"><a name="KU" id="KU"/>5: &#160;&#160;&#8194; KU &#8211; INTEGER<span class="pclass">Input</span></dt><dd><div class="paramtext"><i>On entry</i>: <m:math><m:msub><m:mi>k</m:mi><m:mi>u</m:mi></m:msub></m:math>, the number of superdiagonals within the band of the matrix <m:math><m:mi>A</m:mi></m:math>.</div><div class="paramtext"><i>Constraint</i>:
  <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#KU"><m:mi mathcolor="#EE0000" mathvariant="bold">KU</m:mi></m:maction><m:mo>&#8805;</m:mo><m:mn>0</m:mn></m:math>.
</div></dd><dt class="paramhead"><a name="NRHS" id="NRHS"/>6: &#160;&#160;&#8194; NRHS &#8211; INTEGER<span class="pclass">Input</span></dt><dd>
<div class="paramtext"><i>On entry</i>: <m:math><m:mi>r</m:mi></m:math>, the number of right-hand sides, i.e., the number of columns of the matrix <m:math><m:mi>B</m:mi></m:math>.</div><div class="paramtext"><i>Constraint</i>:
  <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#NRHS"><m:mi mathcolor="#EE0000" mathvariant="bold">NRHS</m:mi></m:maction><m:mo>&#8805;</m:mo><m:mn>0</m:mn></m:math>.
</div></dd><dt class="paramhead"><a name="AB" id="AB"/>7: &#160;&#160;&#8194; AB(<a class="arg" href="#LDAB">LDAB</a>,<m:math><m:mo>*</m:mo></m:math>) &#8211; <span class="bitalic">double precision</span> array<span class="pclass">Input/Output</span></dt><dd><div class="paramtext"><b>Note:</b> the second dimension of the array <a class="arg" href="#AB">AB</a>
must be at least
<m:math><m:mrow><m:mi>max</m:mi><m:mspace width="0.125em"/><m:mfenced separators=""><m:mn>1</m:mn><m:mo>,</m:mo><m:maction actiontype="link" dsi:type="simple" dsi:href="#N"><m:mi mathcolor="#EE0000" mathvariant="bold">N</m:mi></m:maction></m:mfenced></m:mrow></m:math>.</div>
<div class="paramtext"><i>On entry</i>: the <m:math><m:mi>n</m:mi></m:math>&#160;by <m:math><m:mi>n</m:mi></m:math>&#160;coefficient matrix <m:math><m:mi>A</m:mi></m:math>.

<div class="paramtext">The matrix is stored in rows <m:math><m:mn>1</m:mn></m:math>&#160;to <m:math><m:msub><m:mi>k</m:mi><m:mi>l</m:mi></m:msub><m:mo>+</m:mo><m:msub><m:mi>k</m:mi><m:mi>u</m:mi></m:msub><m:mo>+</m:mo><m:mn>1</m:mn></m:math>, more precisely, the element <m:math><m:msub><m:mi>A</m:mi><m:mrow><m:mi>i</m:mi><m:mi>j</m:mi></m:mrow></m:msub></m:math>&#160;must be stored in 
<div class="formula"><table class="formula"><tr><td class="formula"><m:math display="block"><m:mrow><m:maction actiontype="link" dsi:type="simple" dsi:href="#AB"><m:mi mathcolor="#EE0000" mathvariant="bold">AB</m:mi></m:maction><m:mfenced separators="," open="(" close=")"><m:mrow><m:msub><m:mi>k</m:mi><m:mi>u</m:mi></m:msub><m:mo>+</m:mo><m:mn>1</m:mn><m:mo>+</m:mo><m:mi>i</m:mi><m:mo>-</m:mo><m:mi>j</m:mi></m:mrow><m:mi>j</m:mi></m:mfenced></m:mrow><m:mtext>&#8195; for &#8203;</m:mtext><m:mrow><m:mi>max</m:mi><m:mspace width="0.125em"/><m:mfenced separators=""><m:mn>1</m:mn><m:mo>,</m:mo><m:mrow><m:mi>j</m:mi><m:mo>-</m:mo><m:msub><m:mi>k</m:mi><m:mi>u</m:mi></m:msub></m:mrow></m:mfenced></m:mrow><m:mo>&#8804;</m:mo><m:mi>i</m:mi><m:mo>&#8804;</m:mo><m:mrow><m:mi>min</m:mi><m:mspace width="0.125em"/><m:mfenced separators=""><m:mi>n</m:mi><m:mo>,</m:mo><m:mrow><m:mi>j</m:mi><m:mo>+</m:mo><m:msub><m:mi>k</m:mi><m:mi>l</m:mi></m:msub></m:mrow></m:mfenced></m:mrow><m:mtext>.</m:mtext></m:math></td><td class="formula2"/></tr></table></div>
</div>
<div class="paramtext">See <a class="sec" href="#fcomments">Section 8</a> for further details.</div>
<div class="paramtext">If <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#FACT"><m:mi mathcolor="#EE0000" mathvariant="bold">FACT</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'F'</m:mtext></m:math>&#160;and <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#EQUED"><m:mi mathcolor="#EE0000" mathvariant="bold">EQUED</m:mi></m:maction><m:mo>&#8800;</m:mo><m:mtext>'N'</m:mtext></m:math>, <m:math><m:mi>A</m:mi></m:math>&#160;must have been equilibrated by the scaling factors in <a class="arg" href="#R">R</a> and/or <a class="arg" href="#C">C</a>.</div>
</div>
<div class="paramtext"><i>On exit</i>: if <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#FACT"><m:mi mathcolor="#EE0000" mathvariant="bold">FACT</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'F'</m:mtext></m:math>&#160;or <m:math><m:mtext>'N'</m:mtext></m:math>, or if <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#FACT"><m:mi mathcolor="#EE0000" mathvariant="bold">FACT</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'E'</m:mtext></m:math>&#160;and <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#EQUED"><m:mi mathcolor="#EE0000" mathvariant="bold">EQUED</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'N'</m:mtext></m:math>, <a class="arg" href="#AB">AB</a> is not modified.
<div class="paramtext">If <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#EQUED"><m:mi mathcolor="#EE0000" mathvariant="bold">EQUED</m:mi></m:maction><m:mo>&#8800;</m:mo><m:mtext>'N'</m:mtext></m:math>&#160;then, if no constraints are violated, <m:math><m:mi>A</m:mi></m:math>&#160;is scaled as follows:
<ul class="listind"><li class="listind">if <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#EQUED"><m:mi mathcolor="#EE0000" mathvariant="bold">EQUED</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'R'</m:mtext></m:math>, <m:math><m:mi>A</m:mi><m:mo>=</m:mo><m:msub><m:mi>D</m:mi><m:mi>r</m:mi></m:msub><m:mi>A</m:mi></m:math>;</li><li class="listind">if <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#EQUED"><m:mi mathcolor="#EE0000" mathvariant="bold">EQUED</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'C'</m:mtext></m:math>, <m:math><m:mi>A</m:mi><m:mo>=</m:mo><m:mi>A</m:mi><m:msub><m:mi>D</m:mi><m:mi>c</m:mi></m:msub></m:math>;</li><li class="listind">if <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#EQUED"><m:mi mathcolor="#EE0000" mathvariant="bold">EQUED</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'B'</m:mtext></m:math>, <m:math><m:mi>A</m:mi><m:mo>=</m:mo><m:msub><m:mi>D</m:mi><m:mi>r</m:mi></m:msub><m:mi>A</m:mi><m:msub><m:mi>D</m:mi><m:mi>c</m:mi></m:msub></m:math>.</li></ul>
</div>
</div></dd><dt class="paramhead"><a name="LDAB" id="LDAB"/>8: &#160;&#160;&#8194; LDAB &#8211; INTEGER<span class="pclass">Input</span></dt><dd>
<div class="paramtext"><i>On entry</i>: the first dimension of the array <a class="arg" href="#AB">AB</a> as declared in the (sub)program from which F07BBF (DGBSVX) is called.</div><div class="paramtext"><i>Constraint</i>:
  <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#LDAB"><m:mi mathcolor="#EE0000" mathvariant="bold">LDAB</m:mi></m:maction><m:mo>&#8805;</m:mo><m:maction actiontype="link" dsi:type="simple" dsi:href="#KL"><m:mi mathcolor="#EE0000" mathvariant="bold">KL</m:mi></m:maction><m:mo>+</m:mo><m:maction actiontype="link" dsi:type="simple" dsi:href="#KU"><m:mi mathcolor="#EE0000" mathvariant="bold">KU</m:mi></m:maction><m:mo>+</m:mo><m:mn>1</m:mn></m:math>.
</div></dd><dt class="paramhead"><a name="AFB" id="AFB"/>9: &#160;&#160;&#8194; AFB(<a class="arg" href="#LDAFB">LDAFB</a>,<m:math><m:mo>*</m:mo></m:math>) &#8211; <span class="bitalic">double precision</span> array<span class="pclass">Input/Output</span></dt><dd><div class="paramtext"><b>Note:</b> the second dimension of the array <a class="arg" href="#AFB">AFB</a>
must be at least
<m:math><m:mrow><m:mi>max</m:mi><m:mspace width="0.125em"/><m:mfenced separators=""><m:mn>1</m:mn><m:mo>,</m:mo><m:maction actiontype="link" dsi:type="simple" dsi:href="#N"><m:mi mathcolor="#EE0000" mathvariant="bold">N</m:mi></m:maction></m:mfenced></m:mrow></m:math>.</div><div class="paramtext"><i>On entry</i>: if <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#FACT"><m:mi mathcolor="#EE0000" mathvariant="bold">FACT</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'N'</m:mtext></m:math>&#160;or <m:math><m:mtext>'E'</m:mtext></m:math>, <a class="arg" href="#AFB">AFB</a> need not be set.
<div class="paramtext">If <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#FACT"><m:mi mathcolor="#EE0000" mathvariant="bold">FACT</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'F'</m:mtext></m:math>, details of the <m:math><m:mi>L</m:mi><m:mi>U</m:mi></m:math>&#160;factorization of the <m:math><m:mi>n</m:mi></m:math>&#160;by <m:math><m:mi>n</m:mi></m:math>&#160;band matrix <m:math><m:mi>A</m:mi></m:math>, as computed by 
<a class="rout" href="../F07/f07bdf.xml">F07BDF (DGBTRF)</a>.</div><div class="paramtext">The upper triangular band matrix <m:math><m:mi>U</m:mi></m:math>, with <m:math><m:msub><m:mi>k</m:mi><m:mi>l</m:mi></m:msub><m:mo>+</m:mo><m:msub><m:mi>k</m:mi><m:mi>u</m:mi></m:msub></m:math>&#160;superdiagonals, is stored in rows <m:math><m:mn>1</m:mn></m:math>&#160;to <m:math><m:msub><m:mi>k</m:mi><m:mi>l</m:mi></m:msub><m:mo>+</m:mo><m:msub><m:mi>k</m:mi><m:mi>u</m:mi></m:msub><m:mo>+</m:mo><m:mn>1</m:mn></m:math>&#160;of the array, and the multipliers used to form the matrix <m:math><m:mi>L</m:mi></m:math>&#160;are stored in rows <m:math><m:msub><m:mi>k</m:mi><m:mi>l</m:mi></m:msub><m:mo>+</m:mo><m:msub><m:mi>k</m:mi><m:mi>u</m:mi></m:msub><m:mo>+</m:mo><m:mn>2</m:mn></m:math>&#160;to <m:math><m:mn>2</m:mn><m:msub><m:mi>k</m:mi><m:mi>l</m:mi></m:msub><m:mo>+</m:mo><m:msub><m:mi>k</m:mi><m:mi>u</m:mi></m:msub><m:mo>+</m:mo><m:mn>1</m:mn></m:math>.</div>
<div class="paramtext">If <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#EQUED"><m:mi mathcolor="#EE0000" mathvariant="bold">EQUED</m:mi></m:maction><m:mo>&#8800;</m:mo><m:mtext>'N'</m:mtext></m:math>, <a class="arg" href="#AFB">AFB</a> is the factorized form of the equilibrated matrix <m:math><m:mi>A</m:mi></m:math>.</div>
</div>
<div class="paramtext"><i>On exit</i>: if <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#FACT"><m:mi mathcolor="#EE0000" mathvariant="bold">FACT</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'F'</m:mtext></m:math>, <a class="arg" href="#AFB">AFB</a> is unchanged from entry.
<div class="paramtext">Otherwise, if no constraints are violated, then if <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#FACT"><m:mi mathcolor="#EE0000" mathvariant="bold">FACT</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'N'</m:mtext></m:math>, <a class="arg" href="#AFB">AFB</a> returns details of the <m:math><m:mi>L</m:mi><m:mi>U</m:mi></m:math>&#160;factorization of the band matrix <m:math><m:mi>A</m:mi></m:math>, and if <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#FACT"><m:mi mathcolor="#EE0000" mathvariant="bold">FACT</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'E'</m:mtext></m:math>, <a class="arg" href="#AFB">AFB</a> returns details of the <m:math><m:mi>L</m:mi><m:mi>U</m:mi></m:math>&#160;factorization of the equilibrated band matrix <m:math><m:mi>A</m:mi></m:math>&#160;(see the description of <a class="arg" href="#AB">AB</a> for the form of the equilibrated matrix).</div>
</div></dd><dt class="paramhead"><a name="LDAFB" id="LDAFB"/>10: &#8194; LDAFB &#8211; INTEGER<span class="pclass">Input</span></dt><dd>
<div class="paramtext"><i>On entry</i>: the first dimension of the array <a class="arg" href="#AFB">AFB</a> as declared in the (sub)program from which F07BBF (DGBSVX) is called.</div><div class="paramtext"><i>Constraint</i>:
  <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#LDAFB"><m:mi mathcolor="#EE0000" mathvariant="bold">LDAFB</m:mi></m:maction><m:mo>&#8805;</m:mo><m:mn>2</m:mn><m:mo>&#215;</m:mo><m:maction actiontype="link" dsi:type="simple" dsi:href="#KL"><m:mi mathcolor="#EE0000" mathvariant="bold">KL</m:mi></m:maction><m:mo>+</m:mo><m:maction actiontype="link" dsi:type="simple" dsi:href="#KU"><m:mi mathcolor="#EE0000" mathvariant="bold">KU</m:mi></m:maction><m:mo>+</m:mo><m:mn>1</m:mn></m:math>.
</div></dd><dt class="paramhead"><a name="IPIV" id="IPIV"/>11: &#8194; IPIV(<m:math><m:mo>*</m:mo></m:math>) &#8211; INTEGER array<span class="pclass">Input/Output</span></dt><dd>
<div class="paramtext"><b>Note:</b> the dimension of the array <a class="arg" href="#IPIV">IPIV</a>
must be at least
<m:math><m:mrow><m:mi>max</m:mi><m:mspace width="0.125em"/><m:mfenced separators=""><m:mn>1</m:mn><m:mo>,</m:mo><m:maction actiontype="link" dsi:type="simple" dsi:href="#N"><m:mi mathcolor="#EE0000" mathvariant="bold">N</m:mi></m:maction></m:mfenced></m:mrow></m:math>.</div>
<div class="paramtext"><i>On entry</i>: if <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#FACT"><m:mi mathcolor="#EE0000" mathvariant="bold">FACT</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'N'</m:mtext></m:math>&#160;or <m:math><m:mtext>'E'</m:mtext></m:math>, <a class="arg" href="#IPIV">IPIV</a> need not be set. 
<div class="paramtext">If <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#FACT"><m:mi mathcolor="#EE0000" mathvariant="bold">FACT</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'F'</m:mtext></m:math>, <a class="arg" href="#IPIV">IPIV</a> contains the pivot indices from the factorization <m:math><m:mi>A</m:mi><m:mo>=</m:mo><m:mi>L</m:mi><m:mi>U</m:mi></m:math>, as computed by <a class="rout" href="../F07/f07bdf.xml">F07BDF (DGBTRF)</a>; row <m:math><m:mi>i</m:mi></m:math>&#160;of the matrix was interchanged with row <m:math><m:mrow><m:maction actiontype="link" dsi:type="simple" dsi:href="#IPIV"><m:mi mathcolor="#EE0000" mathvariant="bold">IPIV</m:mi></m:maction><m:mfenced separators="," open="(" close=")"><m:mi>i</m:mi></m:mfenced></m:mrow></m:math>.</div>
</div>
<div class="paramtext"><i>On exit</i>: if <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#FACT"><m:mi mathcolor="#EE0000" mathvariant="bold">FACT</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'F'</m:mtext></m:math>, <a class="arg" href="#IPIV">IPIV</a> is unchanged from entry.
<div class="paramtext">Otherwise, if no constraints are violated, <a class="arg" href="#IPIV">IPIV</a> contains the pivot indices that define the permutation matrix <m:math><m:mi>P</m:mi></m:math>; at the <m:math><m:mi>i</m:mi></m:math>th step row <m:math><m:mi>i</m:mi></m:math>&#160;of the matrix was interchanged with row <m:math><m:mrow><m:maction actiontype="link" dsi:type="simple" dsi:href="#IPIV"><m:mi mathcolor="#EE0000" mathvariant="bold">IPIV</m:mi></m:maction><m:mfenced separators="," open="(" close=")"><m:mi>i</m:mi></m:mfenced></m:mrow></m:math>. <m:math><m:mrow><m:maction actiontype="link" dsi:type="simple" dsi:href="#IPIV"><m:mi mathcolor="#EE0000" mathvariant="bold">IPIV</m:mi></m:maction><m:mfenced separators="," open="(" close=")"><m:mi>i</m:mi></m:mfenced></m:mrow><m:mo>=</m:mo><m:mi>i</m:mi></m:math>&#160;indicates a row interchange was not required.</div>
<div class="paramtext">If <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#FACT"><m:mi mathcolor="#EE0000" mathvariant="bold">FACT</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'N'</m:mtext></m:math>, the pivot indices are those corresponding to the factorization <m:math><m:mi>A</m:mi><m:mo>=</m:mo><m:mi>L</m:mi><m:mi>U</m:mi></m:math>&#160;of the original matrix <m:math><m:mi>A</m:mi></m:math>.</div>
<div class="paramtext">If <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#FACT"><m:mi mathcolor="#EE0000" mathvariant="bold">FACT</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'E'</m:mtext></m:math>, the pivot indices are those corresponding to the factorization of <m:math><m:mi>A</m:mi><m:mo>=</m:mo><m:mi>L</m:mi><m:mi>U</m:mi></m:math>&#160;of the equilibrated matrix <m:math><m:mi>A</m:mi></m:math>.</div>
</div></dd><dt class="paramhead"><a name="EQUED" id="EQUED"/>12: &#8194; EQUED &#8211; CHARACTER*1<span class="pclass">Input/Output</span></dt><dd>
<div class="paramtext"><i>On entry</i>: if <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#FACT"><m:mi mathcolor="#EE0000" mathvariant="bold">FACT</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'N'</m:mtext></m:math>&#160;or <m:math><m:mtext>'E'</m:mtext></m:math>, <a class="arg" href="#EQUED">EQUED</a> need not be set. 
<div class="paramtext">If <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#FACT"><m:mi mathcolor="#EE0000" mathvariant="bold">FACT</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'F'</m:mtext></m:math>, <a class="arg" href="#EQUED">EQUED</a> must specify the form of the equilibration that was performed as follows:
<ul class="listind"><li class="listind">if <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#EQUED"><m:mi mathcolor="#EE0000" mathvariant="bold">EQUED</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'N'</m:mtext></m:math>, no equilibration;</li><li class="listind">if <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#EQUED"><m:mi mathcolor="#EE0000" mathvariant="bold">EQUED</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'R'</m:mtext></m:math>, row equilibration, i.e., <m:math><m:mi>A</m:mi></m:math>&#160;has been premultiplied by <m:math><m:msub><m:mi>D</m:mi><m:mi>R</m:mi></m:msub></m:math>;</li><li class="listind">if <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#EQUED"><m:mi mathcolor="#EE0000" mathvariant="bold">EQUED</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'C'</m:mtext></m:math>, column equilibration, i.e., <m:math><m:mi>A</m:mi></m:math>&#160;has been postmultiplied by <m:math><m:msub><m:mi>D</m:mi><m:mi>C</m:mi></m:msub></m:math>;</li><li class="listind">if <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#EQUED"><m:mi mathcolor="#EE0000" mathvariant="bold">EQUED</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'B'</m:mtext></m:math>, both row and column equilibration, i.e., <m:math><m:mi>A</m:mi></m:math>&#160;has been replaced by <m:math><m:msub><m:mi>D</m:mi><m:mi>R</m:mi></m:msub><m:mi>A</m:mi><m:msub><m:mi>D</m:mi><m:mi>C</m:mi></m:msub></m:math>.</li></ul>
</div>
</div>
<div class="paramtext"><i>On exit</i>: if <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#FACT"><m:mi mathcolor="#EE0000" mathvariant="bold">FACT</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'F'</m:mtext></m:math>, <a class="arg" href="#EQUED">EQUED</a> is unchanged from entry.
<div class="paramtext">Otherwise, if no constraints are violated, <a class="arg" href="#EQUED">EQUED</a> specifies the form of equilibration that was performed as specified above.</div>
</div><div class="paramtext"><i>Constraint</i>:
  
if <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#FACT"><m:mi mathcolor="#EE0000" mathvariant="bold">FACT</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'F'</m:mtext></m:math>, <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#EQUED"><m:mi mathcolor="#EE0000" mathvariant="bold">EQUED</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'N'</m:mtext></m:math>, <m:math><m:mtext>'R'</m:mtext></m:math>, <m:math><m:mtext>'C'</m:mtext></m:math>&#160;or <m:math><m:mtext>'B'</m:mtext></m:math>.
</div></dd><dt class="paramhead"><a name="R" id="R"/>13: &#8194; R(<m:math><m:mo>*</m:mo></m:math>) &#8211; <span class="bitalic">double precision</span> array<span class="pclass">Input/Output</span></dt><dd>
<div class="paramtext"><b>Note:</b> the dimension of the array <a class="arg" href="#R">R</a>
must be at least
<m:math><m:mrow><m:mi>max</m:mi><m:mspace width="0.125em"/><m:mfenced separators=""><m:mn>1</m:mn><m:mo>,</m:mo><m:maction actiontype="link" dsi:type="simple" dsi:href="#N"><m:mi mathcolor="#EE0000" mathvariant="bold">N</m:mi></m:maction></m:mfenced></m:mrow></m:math>.</div>
<div class="paramtext"><i>On entry</i>: if <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#FACT"><m:mi mathcolor="#EE0000" mathvariant="bold">FACT</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'N'</m:mtext></m:math>&#160;or <m:math><m:mtext>'E'</m:mtext></m:math>, <a class="arg" href="#R">R</a> need not be set.  
<div class="paramtext">If <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#FACT"><m:mi mathcolor="#EE0000" mathvariant="bold">FACT</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'F'</m:mtext></m:math>&#160;and <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#EQUED"><m:mi mathcolor="#EE0000" mathvariant="bold">EQUED</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'R'</m:mtext></m:math>&#160;or <m:math><m:mtext>'B'</m:mtext></m:math>, <a class="arg" href="#R">R</a> must contain the row scale factors for <m:math><m:mi>A</m:mi></m:math>, <m:math><m:msub><m:mi>D</m:mi><m:mi>R</m:mi></m:msub></m:math>; each element of <a class="arg" href="#R">R</a> must be positive.</div>
</div>
<div class="paramtext"><i>On exit</i>: if <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#FACT"><m:mi mathcolor="#EE0000" mathvariant="bold">FACT</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'F'</m:mtext></m:math>, <a class="arg" href="#R">R</a> is unchanged from entry.
<div class="paramtext">Otherwise, if no constraints are violated and <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#EQUED"><m:mi mathcolor="#EE0000" mathvariant="bold">EQUED</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'R'</m:mtext></m:math>&#160;or <m:math><m:mtext>'B'</m:mtext></m:math>, <a class="arg" href="#R">R</a> contains the row scale factors for <m:math><m:mi>A</m:mi></m:math>, <m:math><m:msub><m:mi>D</m:mi><m:mi>R</m:mi></m:msub></m:math>, such that <m:math><m:mi>A</m:mi></m:math>&#160;is multiplied on the left by <m:math><m:msub><m:mi>D</m:mi><m:mi>R</m:mi></m:msub></m:math>; each element of <a class="arg" href="#R">R</a> is positive.</div>
</div></dd><dt class="paramhead"><a name="C" id="C"/>14: &#8194; C(<m:math><m:mo>*</m:mo></m:math>) &#8211; <span class="bitalic">double precision</span> array<span class="pclass">Input/Output</span></dt><dd>
<div class="paramtext"><b>Note:</b> the dimension of the array <a class="arg" href="#C">C</a>
must be at least
<m:math><m:mrow><m:mi>max</m:mi><m:mspace width="0.125em"/><m:mfenced separators=""><m:mn>1</m:mn><m:mo>,</m:mo><m:maction actiontype="link" dsi:type="simple" dsi:href="#N"><m:mi mathcolor="#EE0000" mathvariant="bold">N</m:mi></m:maction></m:mfenced></m:mrow></m:math>.</div>
<div class="paramtext"><i>On entry</i>: if <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#FACT"><m:mi mathcolor="#EE0000" mathvariant="bold">FACT</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'N'</m:mtext></m:math>&#160;or <m:math><m:mtext>'E'</m:mtext></m:math>, <a class="arg" href="#C">C</a> need not be set. 
<div class="paramtext">If <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#FACT"><m:mi mathcolor="#EE0000" mathvariant="bold">FACT</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'F'</m:mtext></m:math>&#160;or <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#EQUED"><m:mi mathcolor="#EE0000" mathvariant="bold">EQUED</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'C'</m:mtext></m:math>&#160;or <m:math><m:mtext>'B'</m:mtext></m:math>, <a class="arg" href="#C">C</a> must contain the column scale factors for <m:math><m:mi>A</m:mi></m:math>, <m:math><m:msub><m:mi>D</m:mi><m:mi>C</m:mi></m:msub></m:math>; each element of <a class="arg" href="#C">C</a> must be positive.</div>
</div>
<div class="paramtext"><i>On exit</i>: if <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#FACT"><m:mi mathcolor="#EE0000" mathvariant="bold">FACT</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'F'</m:mtext></m:math>, <a class="arg" href="#C">C</a> is unchanged from entry.
<div class="paramtext">Otherwise, if no constraints are violated and <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#EQUED"><m:mi mathcolor="#EE0000" mathvariant="bold">EQUED</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'C'</m:mtext></m:math>&#160;or <m:math><m:mtext>'B'</m:mtext></m:math>, <a class="arg" href="#C">C</a> contains the row scale factors for <m:math><m:mi>A</m:mi></m:math>, <m:math><m:msub><m:mi>D</m:mi><m:mi>C</m:mi></m:msub></m:math>; each element of <a class="arg" href="#C">C</a> is positive.</div>
</div></dd><dt class="paramhead"><a name="B" id="B"/>15: &#8194; B(<a class="arg" href="#LDB">LDB</a>,<m:math><m:mo>*</m:mo></m:math>) &#8211; <span class="bitalic">double precision</span> array<span class="pclass">Input/Output</span></dt><dd><div class="paramtext"><b>Note:</b> the second dimension of the array <a class="arg" href="#B">B</a>
must be at least
<m:math><m:mrow><m:mi>max</m:mi><m:mspace width="0.125em"/><m:mfenced separators=""><m:mn>1</m:mn><m:mo>,</m:mo><m:maction actiontype="link" dsi:type="simple" dsi:href="#NRHS"><m:mi mathcolor="#EE0000" mathvariant="bold">NRHS</m:mi></m:maction></m:mfenced></m:mrow></m:math>.</div>
<div class="paramtext"><i>On entry</i>: the <m:math><m:mi>n</m:mi></m:math>&#160;by <m:math><m:mi>r</m:mi></m:math>&#160;right-hand side matrix <m:math><m:mi>B</m:mi></m:math>.</div><div class="paramtext"><i>On exit</i>: if <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#EQUED"><m:mi mathcolor="#EE0000" mathvariant="bold">EQUED</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'N'</m:mtext></m:math>, <a class="arg" href="#B">B</a> is not modified.
<div class="paramtext">If <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#TRANS"><m:mi mathcolor="#EE0000" mathvariant="bold">TRANS</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'N'</m:mtext></m:math>&#160;and <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#EQUED"><m:mi mathcolor="#EE0000" mathvariant="bold">EQUED</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'R'</m:mtext></m:math>&#160;or <m:math><m:mtext>'B'</m:mtext></m:math>, <a class="arg" href="#B">B</a> is overwritten by <m:math><m:msub><m:mi>D</m:mi><m:mi>R</m:mi></m:msub><m:mi>B</m:mi></m:math>.</div>
<div class="paramtext">If <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#TRANS"><m:mi mathcolor="#EE0000" mathvariant="bold">TRANS</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'T'</m:mtext></m:math>&#160;or <m:math><m:mtext>'C'</m:mtext></m:math>&#160;and <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#EQUED"><m:mi mathcolor="#EE0000" mathvariant="bold">EQUED</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'C'</m:mtext></m:math>&#160;or <m:math><m:mtext>'B'</m:mtext></m:math>, <a class="arg" href="#B">B</a> is overwritten by <m:math><m:msub><m:mi>D</m:mi><m:mi>C</m:mi></m:msub><m:mi>B</m:mi></m:math>.</div>
</div></dd><dt class="paramhead"><a name="LDB" id="LDB"/>16: &#8194; LDB &#8211; INTEGER<span class="pclass">Input</span></dt><dd>
<div class="paramtext"><i>On entry</i>: the first dimension of the array <a class="arg" href="#B">B</a> as declared in the (sub)program from which F07BBF (DGBSVX) is called.</div><div class="paramtext"><i>Constraint</i>:
  <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#LDB"><m:mi mathcolor="#EE0000" mathvariant="bold">LDB</m:mi></m:maction><m:mo>&#8805;</m:mo><m:mrow><m:mi>max</m:mi><m:mspace width="0.125em"/><m:mfenced separators=""><m:mn>1</m:mn><m:mo>,</m:mo><m:maction actiontype="link" dsi:type="simple" dsi:href="#N"><m:mi mathcolor="#EE0000" mathvariant="bold">N</m:mi></m:maction></m:mfenced></m:mrow></m:math>.
</div></dd><dt class="paramhead"><a name="X" id="X"/>17: &#8194; X(<a class="arg" href="#LDX">LDX</a>,<m:math><m:mo>*</m:mo></m:math>) &#8211; <span class="bitalic">double precision</span> array<span class="pclass">Output</span></dt><dd>
<div class="paramtext"><b>Note:</b> the second dimension of the array <a class="arg" href="#X">X</a>
must be at least
<m:math><m:mrow><m:mi>max</m:mi><m:mspace width="0.125em"/><m:mfenced separators=""><m:mn>1</m:mn><m:mo>,</m:mo><m:maction actiontype="link" dsi:type="simple" dsi:href="#NRHS"><m:mi mathcolor="#EE0000" mathvariant="bold">NRHS</m:mi></m:maction></m:mfenced></m:mrow></m:math>.</div>
<div class="paramtext"><i>On exit</i>: if <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#INFO"><m:mi mathcolor="#EE0000" mathvariant="bold">INFO</m:mi></m:maction><m:mo>=</m:mo><m:maction actiontype="link" dsi:type="simple" dsi:href="#errors"><m:mn mathcolor="#003399" mathvariant="bold">0</m:mn></m:maction></m:math>&#160;or <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#INeqNp1"><m:mstyle mathcolor="#003399"><m:mi mathvariant="bold">N</m:mi><m:mo>+</m:mo><m:mn mathcolor="#003399" mathvariant="bold">1</m:mn></m:mstyle></m:maction></m:math>, the <m:math><m:mi>n</m:mi></m:math>&#160;by <m:math><m:mi>r</m:mi></m:math>&#160;solution matrix <m:math><m:mi>X</m:mi></m:math>&#160;to the original system of equations. Note that the arrays <m:math><m:mi>A</m:mi></m:math>&#160;and <m:math><m:mi>B</m:mi></m:math>&#160;are modified on exit if <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#EQUED"><m:mi mathcolor="#EE0000" mathvariant="bold">EQUED</m:mi></m:maction><m:mo>&#8800;</m:mo><m:mtext>'N'</m:mtext></m:math>, and the solution to the equilibrated system is <m:math><m:msubsup><m:mi>D</m:mi><m:mi>C</m:mi><m:mrow><m:mo>-</m:mo><m:mn>1</m:mn></m:mrow></m:msubsup><m:mi>X</m:mi></m:math>&#160;if <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#TRANS"><m:mi mathcolor="#EE0000" mathvariant="bold">TRANS</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'N'</m:mtext></m:math>&#160;and <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#EQUED"><m:mi mathcolor="#EE0000" mathvariant="bold">EQUED</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'C'</m:mtext></m:math>&#160;or <m:math><m:mtext>'B'</m:mtext></m:math>, or <m:math><m:msubsup><m:mi>D</m:mi><m:mi>R</m:mi><m:mrow><m:mo>-</m:mo><m:mn>1</m:mn></m:mrow></m:msubsup><m:mi>X</m:mi></m:math>&#160;if <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#TRANS"><m:mi mathcolor="#EE0000" mathvariant="bold">TRANS</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'T'</m:mtext></m:math>&#160;or <m:math><m:mtext>'C'</m:mtext></m:math>&#160;and <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#EQUED"><m:mi mathcolor="#EE0000" mathvariant="bold">EQUED</m:mi></m:maction><m:mo>=</m:mo><m:mtext>'R'</m:mtext></m:math>&#160;or <m:math><m:mtext>'B'</m:mtext></m:math>.</div></dd><dt class="paramhead"><a name="LDX" id="LDX"/>18: &#8194; LDX &#8211; INTEGER<span class="pclass">Input</span></dt><dd>
<div class="paramtext"><i>On entry</i>: the first dimension of the array <a class="arg" href="#X">X</a> as declared in the (sub)program from which F07BBF (DGBSVX) is called.</div><div class="paramtext"><i>Constraint</i>:
  <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#LDX"><m:mi mathcolor="#EE0000" mathvariant="bold">LDX</m:mi></m:maction><m:mo>&#8805;</m:mo><m:mrow><m:mi>max</m:mi><m:mspace width="0.125em"/><m:mfenced separators=""><m:mn>1</m:mn><m:mo>,</m:mo><m:maction actiontype="link" dsi:type="simple" dsi:href="#N"><m:mi mathcolor="#EE0000" mathvariant="bold">N</m:mi></m:maction></m:mfenced></m:mrow></m:math>.
</div></dd><dt class="paramhead"><a name="RCOND" id="RCOND"/>19: &#8194; RCOND &#8211; <span class="bitalic">double precision</span><span class="pclass">Output</span></dt><dd>
<div class="paramtext"><i>On exit</i>: if no constraints are violated, an estimate of the reciprocal condition number of the matrix <m:math><m:mi>A</m:mi></m:math>&#160;(after equilibration if that is performed), computed as <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#RCOND"><m:mi mathcolor="#EE0000" mathvariant="bold">RCOND</m:mi></m:maction><m:mo>=</m:mo><m:mn>1</m:mn><m:mo>/</m:mo><m:mfenced separators=""><m:msub><m:mfenced open="&#8214;" close="&#8214;" separators=""><m:mi>A</m:mi></m:mfenced><m:mn>1</m:mn></m:msub>
  <m:msub><m:mfenced open="&#8214;" close="&#8214;" separators=""><m:msup><m:mi>A</m:mi><m:mrow><m:mo>-</m:mo><m:mn>1</m:mn></m:mrow></m:msup></m:mfenced><m:mn>1</m:mn></m:msub>
 </m:mfenced></m:math>.</div></dd><dt class="paramhead"><a name="FERR" id="FERR"/>20: &#8194; FERR(<a class="arg" href="#NRHS">NRHS</a>) &#8211; <span class="bitalic">double precision</span> array<span class="pclass">Output</span></dt><dd><div class="paramtext"><i>On exit</i>: if <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#INFO"><m:mi mathcolor="#EE0000" mathvariant="bold">INFO</m:mi></m:maction><m:mo>=</m:mo><m:maction actiontype="link" dsi:type="simple" dsi:href="#errors"><m:mn mathcolor="#003399" mathvariant="bold">0</m:mn></m:maction></m:math>&#160;or <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#INeqNp1"><m:mstyle mathcolor="#003399"><m:mi mathvariant="bold">N</m:mi><m:mo>+</m:mo><m:mn mathcolor="#003399" mathvariant="bold">1</m:mn></m:mstyle></m:maction></m:math>, an estimate of the forward error bound for each computed solution vector, such that <m:math><m:msub><m:mfenced open="&#8214;" close="&#8214;" separators=""><m:msub><m:mover><m:mi>x</m:mi><m:mo>^</m:mo></m:mover><m:mi>j</m:mi></m:msub><m:mo>-</m:mo><m:msub><m:mi>x</m:mi><m:mi>j</m:mi></m:msub></m:mfenced><m:mi>&#8734;</m:mi></m:msub><m:mo>/</m:mo><m:msub><m:mfenced open="&#8214;" close="&#8214;" separators=""><m:msub><m:mi>x</m:mi><m:mi>j</m:mi></m:msub></m:mfenced><m:mi>&#8734;</m:mi></m:msub><m:mo>&#8804;</m:mo><m:mrow><m:maction actiontype="link" dsi:type="simple" dsi:href="#FERR"><m:mi mathcolor="#EE0000" mathvariant="bold">FERR</m:mi></m:maction><m:mfenced separators="," open="(" close=")"><m:mi>j</m:mi></m:mfenced></m:mrow></m:math>&#160;where <m:math><m:msub><m:mover><m:mi>x</m:mi><m:mo>^</m:mo></m:mover><m:mi>j</m:mi></m:msub></m:math>&#160;is the <m:math><m:mi>j</m:mi></m:math>th column of the computed solution returned in the array <a class="arg" href="#X">X</a> and <m:math><m:msub><m:mi>x</m:mi><m:mi>j</m:mi></m:msub></m:math>&#160;is the corresponding column of the exact solution <m:math><m:mi>X</m:mi></m:math>. The estimate is as reliable as the estimate for <a class="arg" href="#RCOND">RCOND</a>, and is almost always a slight overestimate of the true error.</div></dd><dt class="paramhead"><a name="BERR" id="BERR"/>21: &#8194; BERR(<a class="arg" href="#NRHS">NRHS</a>) &#8211; <span class="bitalic">double precision</span> array<span class="pclass">Output</span></dt><dd><div class="paramtext"><i>On exit</i>: if <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#INFO"><m:mi mathcolor="#EE0000" mathvariant="bold">INFO</m:mi></m:maction><m:mo>=</m:mo><m:maction actiontype="link" dsi:type="simple" dsi:href="#errors"><m:mn mathcolor="#003399" mathvariant="bold">0</m:mn></m:maction></m:math>&#160;or <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#INeqNp1"><m:mstyle mathcolor="#003399"><m:mi mathvariant="bold">N</m:mi><m:mo>+</m:mo><m:mn mathcolor="#003399" mathvariant="bold">1</m:mn></m:mstyle></m:maction></m:math>, an estimate of the component-wise relative backward error of each computed solution vector <m:math><m:msub><m:mover><m:mi>x</m:mi><m:mo>^</m:mo></m:mover><m:mi>j</m:mi></m:msub></m:math>&#160;(i.e., the smallest relative change in any element of <m:math><m:mi>A</m:mi></m:math>&#160;or <m:math><m:mi>B</m:mi></m:math>&#160;that makes <m:math><m:msub><m:mover><m:mi>x</m:mi><m:mo>^</m:mo></m:mover><m:mi>j</m:mi></m:msub></m:math>&#160;an exact solution).</div></dd><dt class="paramhead"><a name="WORK" id="WORK"/>22: &#8194; WORK(<m:math><m:mrow><m:mi>max</m:mi><m:mspace width="0.125em"/><m:mfenced separators=""><m:mn>1</m:mn><m:mo>,</m:mo><m:mrow><m:mn>3</m:mn><m:mo>&#215;</m:mo><m:maction actiontype="link" dsi:type="simple" dsi:href="#N"><m:mi mathcolor="#EE0000" mathvariant="bold">N</m:mi></m:maction></m:mrow></m:mfenced></m:mrow></m:math>) &#8211; <span class="bitalic">double precision</span> array<span class="pclass">Output</span></dt><dd><div class="paramtext"><i>On exit</i>: if <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#INFO"><m:mi mathcolor="#EE0000" mathvariant="bold">INFO</m:mi></m:maction><m:mo>=</m:mo><m:maction actiontype="link" dsi:type="simple" dsi:href="#errors"><m:mn mathcolor="#003399" mathvariant="bold">0</m:mn></m:maction></m:math>, <m:math><m:mrow><m:maction actiontype="link" dsi:type="simple" dsi:href="#WORK"><m:mi mathcolor="#EE0000" mathvariant="bold">WORK</m:mi></m:maction><m:mfenced separators="," open="(" close=")"><m:mn>1</m:mn></m:mfenced></m:mrow></m:math>&#160;contains the reciprocal pivot growth factor <m:math><m:mi mathvariant="normal">max</m:mi><m:mfenced open="|" close="|" separators=""><m:msub><m:mi>a</m:mi><m:mrow><m:mi>i</m:mi><m:mi>j</m:mi></m:mrow></m:msub></m:mfenced><m:mo>/</m:mo><m:mi mathvariant="normal">max</m:mi><m:mfenced open="|" close="|" separators=""><m:msub><m:mi>u</m:mi><m:mrow><m:mi>i</m:mi><m:mi>j</m:mi></m:mrow></m:msub></m:mfenced></m:math>. If <m:math><m:mrow><m:maction actiontype="link" dsi:type="simple" dsi:href="#WORK"><m:mi mathcolor="#EE0000" mathvariant="bold">WORK</m:mi></m:maction><m:mfenced separators="," open="(" close=")"><m:mn>1</m:mn></m:mfenced></m:mrow></m:math>&#160;is much less than <m:math><m:mn>1</m:mn></m:math>, then the stability of the <m:math><m:mi>L</m:mi><m:mi>U</m:mi></m:math>&#160;factorization of the (equilibrated) matrix <m:math><m:mi>A</m:mi></m:math>&#160;could be poor.  This also means that the solution <m:math><m:mi>X</m:mi></m:math>, condition estimator <a class="arg" href="#RCOND">RCOND</a>, and forward error bound <a class="arg" href="#FERR">FERR</a> could be unreliable.  If the factorization fails with <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#INgt0leqN"><m:mrow><m:mi mathvariant="bold">INFO</m:mi><m:mo>&gt;</m:mo><m:mn mathcolor="#003399" mathvariant="bold">0</m:mn><m:mtext>&#160;and&#160;</m:mtext><m:mi mathvariant="bold">INFO</m:mi><m:mo>&#8804;</m:mo><m:mi mathvariant="bold">N</m:mi></m:mrow></m:maction></m:math>, <m:math><m:mrow><m:maction actiontype="link" dsi:type="simple" dsi:href="#WORK"><m:mi mathcolor="#EE0000" mathvariant="bold">WORK</m:mi></m:maction><m:mfenced separators="," open="(" close=")"><m:mn>1</m:mn></m:mfenced></m:mrow></m:math>&#160;contains the reciprocal pivot growth factor for the leading <a class="arg" href="#INFO">INFO</a> columns of <m:math><m:mi>A</m:mi></m:math>.</div></dd><dt class="paramhead"><a name="IWORK" id="IWORK"/>23: &#8194; IWORK(<a class="arg" href="#N">N</a>) &#8211; INTEGER array<span class="pclass">Workspace</span></dt><dt class="paramhead"><a name="INFO" id="INFO"/>24: &#8194; INFO &#8211; INTEGER<span class="pclass">Output</span></dt><dd><div class="paramtext"><i>On exit</i>: <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#INFO"><m:mi mathcolor="#EE0000" mathvariant="bold">INFO</m:mi></m:maction><m:mo>=</m:mo><m:mn>0</m:mn></m:math>&#160;unless the routine detects an error (see <a class="sec" href="#errors">Section 6</a>).</div>
</dd></dl><h2 class="standard"><a class="sec" name="errors" id="errors"/>6&#160;&#160;Error Indicators and Warnings</h2>
<div class="paramtext">Errors or warnings detected by the routine:</div>
<dl class="ifail">
<dt class="errorhead"><a name="INlt0" id="INlt0"/><m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#INFO"><m:mi mathcolor="#EE0000" mathvariant="bold">INFO</m:mi></m:maction><m:mo>&lt;</m:mo><m:mn>0</m:mn></m:math></dt>
<dd><div class="paramtext">If <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#INFO"><m:mi mathcolor="#EE0000" mathvariant="bold">INFO</m:mi></m:maction><m:mo>=</m:mo><m:mo>-</m:mo><m:mi>i</m:mi></m:math>, the <m:math><m:mi>i</m:mi></m:math>th argument had an illegal value. An explanatory message is output, and execution of the program is terminated.</div></dd>
</dl><dl class="ifail">
<dt class="errorhead"><a name="INgt0leqN" id="INgt0leqN"/><m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#INFO"><m:mi mathcolor="#EE0000" mathvariant="bold">INFO</m:mi></m:maction><m:mo>&gt;</m:mo><m:mn>0</m:mn><m:mtext>&#160;and&#160;</m:mtext><m:maction actiontype="link" dsi:type="simple" dsi:href="#INFO"><m:mi mathcolor="#EE0000" mathvariant="bold">INFO</m:mi></m:maction><m:mo>&#8804;</m:mo><m:maction actiontype="link" dsi:type="simple" dsi:href="#N"><m:mi mathcolor="#EE0000" mathvariant="bold">N</m:mi></m:maction></m:math></dt>
<dd><div class="paramtext">If <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#INFO"><m:mi mathcolor="#EE0000" mathvariant="bold">INFO</m:mi></m:maction><m:mo>=</m:mo><m:mi>i</m:mi></m:math>, <m:math><m:msub><m:mi>u</m:mi><m:mrow><m:mi>i</m:mi><m:mi>i</m:mi></m:mrow></m:msub></m:math>&#160;is exactly zero.  The factorization has been completed, but the factor <m:math><m:mi>U</m:mi></m:math>&#160;is exactly singular, so the solution and error bounds could not be computed. <m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#RCOND"><m:mi mathcolor="#EE0000" mathvariant="bold">RCOND</m:mi></m:maction><m:mo>=</m:mo><m:mn>0</m:mn></m:math>&#160;is returned.</div></dd>
</dl><dl class="ifail">
<dt class="errorhead"><a name="INeqNp1" id="INeqNp1"/><m:math><m:maction actiontype="link" dsi:type="simple" dsi:href="#INFO"><m:mi mathcolor="#EE0000" mathvariant="bold">INFO</m:mi></m:maction><m:mo>=</m:mo><m:mrow><m:maction actiontype="link" dsi:type="simple" dsi:href="#N"><m:mi mathcolor="#EE0000" mathvariant="bold">N</m:mi></m:maction><m:mo>+</m:mo><m:mn>1</m:mn></m:mrow></m:math></dt>
<dd><div class="paramtext">
The triangular matrix <m:math><m:mi>U</m:mi></m:math>&#160;is nonsingular, 
but <a class="arg" href="#RCOND">RCOND</a> is less than <span class="bitalic">machine precision</span>, meaning that the matrix is singular to working precision.  Nevertheless, the solution and error bounds are computed because there are a number of situations where the computed solution can be more accurate than the value of <a class="arg" href="#RCOND">RCOND</a> would suggest.</div></dd>
</dl><h2 class="standard"><a class="sec" name="accuracy" id="accuracy"/>7&#160;&#160;Accuracy</h2>
<div class="paramtext">For each right-hand side vector <m:math><m:mi>b</m:mi></m:math>, the computed solution <m:math><m:mover><m:mi>x</m:mi><m:mo>^</m:mo></m:mover></m:math>&#160;is the exact solution of a perturbed system of equations <m:math><m:mfenced separators=""><m:mi>A</m:mi><m:mo>+</m:mo><m:mi>E</m:mi></m:mfenced><m:mover><m:mi>x</m:mi><m:mo>^</m:mo></m:mover><m:mo>=</m:mo><m:mi>b</m:mi></m:math>, where

<div class="formula"><table class="formula"><tr><td class="formula"><m:math display="block">
<m:mfenced open="|" close="|" separators=""><m:mi>E</m:mi></m:mfenced><m:mo>&#8804;</m:mo><m:mi>c</m:mi><m:mfenced separators=""><m:mi>n</m:mi></m:mfenced><m:mi>&#949;</m:mi><m:mi>P</m:mi><m:mfenced open="|" close="|" separators=""><m:mi>L</m:mi></m:mfenced><m:mfenced open="|" close="|" separators=""><m:mi>U</m:mi></m:mfenced>
 <m:mtext>,</m:mtext>
</m:math></td><td class="formula2"/></tr></table></div><m:math><m:mi>c</m:mi><m:mfenced separators=""><m:mi>n</m:mi></m:mfenced></m:math>&#160;is a modest linear function of <m:math><m:mi>n</m:mi></m:math>, and <m:math><m:mi>&#949;</m:mi></m:math>&#160;is the <span class="bitalic">machine precision</span>. See Section 9.3 of <a class="ref" href="#ref734">Higham (2002)</a> for further details.</div><div class="paramtext">If <m:math><m:mi>x</m:mi></m:math>&#160;is the true solution, then the computed solution <m:math><m:mover><m:mi>x</m:mi><m:mo>^</m:mo></m:mover></m:math>&#160;satisfies a forward error bound of the form

<div class="formula"><table class="formula"><tr><td class="formula"><m:math display="block">
<m:mfrac>
  <m:msub><m:mfenced open="&#8214;" close="&#8214;" separators=""><m:mi>x</m:mi><m:mo>-</m:mo><m:mover><m:mi>x</m:mi><m:mo>^</m:mo></m:mover></m:mfenced><m:mi>&#8734;</m:mi></m:msub>
  <m:msub><m:mfenced open="&#8214;" close="&#8214;" separators=""><m:mover><m:mi>x</m:mi><m:mo>^</m:mo></m:mover></m:mfenced><m:mi>&#8734;</m:mi></m:msub>
 </m:mfrac>
 <m:mo>&#8804;</m:mo>
 <m:msub><m:mi>w</m:mi><m:mi>c</m:mi></m:msub>
 <m:mrow><m:mi>cond</m:mi><m:mfenced separators=""><m:mi>A</m:mi><m:mo>,</m:mo><m:mover><m:mi>x</m:mi><m:mo>^</m:mo></m:mover><m:mo>,</m:mo><m:mi>b</m:mi></m:mfenced></m:mrow>
</m:math></td><td class="formula2"/></tr></table></div>

where 
<m:math>
 <m:mrow><m:mi>cond</m:mi><m:mfenced separators=""><m:mi>A</m:mi><m:mo>,</m:mo><m:mover><m:mi>x</m:mi><m:mo>^</m:mo></m:mover><m:mo>,</m:mo><m:mi>b</m:mi></m:mfenced></m:mrow>
 <m:mo>=</m:mo>
 <m:msub><m:mfenced open="&#8214;" close="&#8214;" separators=""> 
  <m:mfenced open="|" close="|" separators=""><m:msup><m:mi>A</m:mi><m:mrow><m:mo>-</m:mo><m:mn>1</m:mn></m:mrow></m:msup></m:mfenced>
  <m:mfenced separators="">
   <m:mfenced open="|" close="|" separators=""><m:mi>A</m:mi></m:mfenced>
   <m:mfenced open="|" close="|" separators=""><m:mover><m:mi>x</m:mi><m:mo>^</m:mo></m:mover></m:mfenced>
   <m:mo>+</m:mo>
   <m:mfenced open="|" close="|" separators=""><m:mi>b</m:mi></m:mfenced>
  </m:mfenced>
 </m:mfenced><m:mi>&#8734;</m:mi></m:msub><m:mo>/</m:mo>
 <m:msub><m:mfenced open="&#8214;" close="&#8214;" separators=""><m:mover><m:mi>x</m:mi><m:mo>^</m:mo></m:mover></m:mfenced><m:mi>&#8734;</m:mi></m:msub>
 <m:mo>&#8804;</m:mo>
 <m:mrow><m:mi>cond</m:mi><m:mfenced separators=""><m:mi>A</m:mi></m:mfenced></m:mrow>
 <m:mo>=</m:mo>
 <m:msub><m:mfenced open="&#8214;" close="&#8214;" separators=""> 
  <m:mfenced open="|" close="|" separators=""><m:msup><m:mi>A</m:mi><m:mrow><m:mo>-</m:mo><m:mn>1</m:mn></m:mrow></m:msup></m:mfenced>
  <m:mfenced open="|" close="|" separators=""><m:mi>A</m:mi></m:mfenced>
 </m:mfenced><m:mi>&#8734;</m:mi></m:msub><m:mo>&#8804;</m:mo><m:msub><m:mi>&#954;</m:mi><m:mi>&#8734;</m:mi></m:msub>
 <m:mfenced separators=""><m:mi>A</m:mi></m:mfenced></m:math>.  
If <m:math>
 <m:mover><m:mi>x</m:mi><m:mo>^</m:mo></m:mover>
</m:math>&#160;is the <m:math>
 <m:mi>j</m:mi>
</m:math>th column of <m:math>
 <m:mi>X</m:mi>
</m:math>, then <m:math>
 <m:msub><m:mi>w</m:mi><m:mi>c</m:mi></m:msub>
</m:math>&#160;is returned in <m:math>
 <m:mrow><m:maction actiontype="link" dsi:type="simple" dsi:href="#BERR"><m:mi mathcolor="#EE0000" mathvariant="bold">BERR</m:mi></m:maction><m:mfenced separators="," open="(" close=")"><m:mi>j</m:mi></m:mfenced></m:mrow>
</m:math>&#160;and a bound on <m:math>
 <m:msub><m:mfenced open="&#8214;" close="&#8214;" separators="">
  <m:mi>x</m:mi>
  <m:mo>-</m:mo>
  <m:mover><m:mi>x</m:mi><m:mo>^</m:mo></m:mover>
 </m:mfenced><m:mi>&#8734;</m:mi></m:msub>
 <m:mo>/</m:mo>
 <m:msub><m:mfenced open="&#8214;" close="&#8214;" separators="">
  <m:mover><m:mi>x</m:mi><m:mo>^</m:mo></m:mover>
 </m:mfenced><m:mi>&#8734;</m:mi></m:msub>
</m:math>&#160;is returned in <m:math>
 <m:mrow><m:maction actiontype="link" dsi:type="simple" dsi:href="#FERR"><m:mi mathcolor="#EE0000" mathvariant="bold">FERR</m:mi></m:maction><m:mfenced separators="," open="(" close=")"><m:mi>j</m:mi></m:mfenced></m:mrow>
</m:math>. See Section 4.4 of <a class="ref" href="#ref252">Anderson <span class="italic">et al.</span> (1999)</a> for further details.</div><h2 class="standard"><a class="sec" name="fcomments" id="fcomments"/>8&#160;&#160;Further Comments</h2>
<div class="paramtext">The band storage scheme for the array <a class="arg" href="#AB">AB</a> is illustrated by the following example, when <m:math>
 <m:mi>n</m:mi><m:mo>=</m:mo><m:mn>6</m:mn>
</m:math>, <m:math>
 <m:msub><m:mi>k</m:mi><m:mi>l</m:mi></m:msub><m:mo>=</m:mo><m:mn>1</m:mn>
</m:math>, and <m:math>
 <m:msub><m:mi>k</m:mi><m:mi>u</m:mi></m:msub><m:mo>=</m:mo><m:mn>2</m:mn>
</m:math>. Storage of the band matrix <m:math>
 <m:mi>A</m:mi>
</m:math>&#160;in the array <a class="arg" href="#AB">AB</a>:

<div class="formula"><table class="formula"><tr><td class="formula"><m:math display="block">
<m:mtable>
  <m:mtr columnalign="right">
   <m:mtd><m:mo>*</m:mo></m:mtd>
   <m:mtd><m:mo>*</m:mo></m:mtd>
   <m:mtd><m:msub><m:mi>a</m:mi><m:mn>13</m:mn></m:msub></m:mtd>
   <m:mtd><m:msub><m:mi>a</m:mi><m:mn>24</m:mn></m:msub></m:mtd>
   <m:mtd><m:msub><m:mi>a</m:mi><m:mn>35</m:mn></m:msub></m:mtd>
   <m:mtd><m:msub><m:mi>a</m:mi><m:mn>46</m:mn></m:msub></m:mtd>
  </m:mtr><m:mtr columnalign="right">
   <m:mtd><m:mo>*</m:mo></m:mtd>
   <m:mtd><m:msub><m:mi>a</m:mi><m:mn>12</m:mn></m:msub></m:mtd>
   <m:mtd><m:msub><m:mi>a</m:mi><m:mn>23</m:mn></m:msub></m:mtd>
   <m:mtd><m:msub><m:mi>a</m:mi><m:mn>34</m:mn></m:msub></m:mtd>
   <m:mtd><m:msub><m:mi>a</m:mi><m:mn>45</m:mn></m:msub></m:mtd>
   <m:mtd><m:msub><m:mi>a</m:mi><m:mn>56</m:mn></m:msub></m:mtd>
  </m:mtr><m:mtr columnalign="right">
   <m:mtd><m:msub><m:mi>a</m:mi><m:mn>11</m:mn></m:msub></m:mtd>
   <m:mtd><m:msub><m:mi>a</m:mi><m:mn>22</m:mn></m:msub></m:mtd>
   <m:mtd><m:msub><m:mi>a</m:mi><m:mn>33</m:mn></m:msub></m:mtd>
   <m:mtd><m:msub><m:mi>a</m:mi><m:mn>44</m:mn></m:msub></m:mtd>
   <m:mtd><m:msub><m:mi>a</m:mi><m:mn>55</m:mn></m:msub></m:mtd>
   <m:mtd><m:msub><m:mi>a</m:mi><m:mn>66</m:mn></m:msub></m:mtd>
  </m:mtr><m:mtr columnalign="right">
   <m:mtd><m:msub><m:mi>a</m:mi><m:mn>21</m:mn></m:msub></m:mtd>
   <m:mtd><m:msub><m:mi>a</m:mi><m:mn>32</m:mn></m:msub></m:mtd>
   <m:mtd><m:msub><m:mi>a</m:mi><m:mn>43</m:mn></m:msub></m:mtd>
   <m:mtd><m:msub><m:mi>a</m:mi><m:mn>54</m:mn></m:msub></m:mtd>
   <m:mtd><m:msub><m:mi>a</m:mi><m:mn>65</m:mn></m:msub></m:mtd>
   <m:mtd><m:mo>*</m:mo> </m:mtd>
  </m:mtr>
 </m:mtable>
</m:math></td><td class="formula2"/></tr></table></div></div><div class="paramtext">The total number of floating-point operations required to solve the equations <m:math>
 <m:mi>A</m:mi><m:mi>X</m:mi><m:mo>=</m:mo><m:mi>B</m:mi>
</m:math>&#160;depends upon the pivoting required, but if <m:math>
 <m:mi>n</m:mi><m:mo>&#8811;</m:mo><m:msub><m:mi>k</m:mi><m:mi>l</m:mi></m:msub><m:mo>+</m:mo><m:msub><m:mi>k</m:mi><m:mi>u</m:mi></m:msub>
</m:math>&#160;then it is approximately bounded by <m:math>
 <m:mrow><m:mi mathvariant="italic">O</m:mi><m:mfenced separators="">
   <m:mrow>
    <m:mi>n</m:mi>
    <m:msub><m:mi>k</m:mi><m:mi>l</m:mi></m:msub>
    <m:mfenced separators="">
     <m:mrow>
      <m:msub><m:mi>k</m:mi><m:mi>l</m:mi></m:msub>
      <m:mo>+</m:mo>
      <m:msub><m:mi>k</m:mi><m:mi>u</m:mi></m:msub>
     </m:mrow>
    </m:mfenced>
   </m:mrow>
  </m:mfenced></m:mrow>
</m:math>&#160;for the factorization and <m:math>
 <m:mrow><m:mi mathvariant="italic">O</m:mi><m:mfenced separators="">
   <m:mrow>
    <m:mi>n</m:mi>
    <m:mfenced separators="">
     <m:mn>2</m:mn>
     <m:msub><m:mi>k</m:mi><m:mi>l</m:mi></m:msub> 
     <m:mo>+</m:mo>
     <m:msub><m:mi>k</m:mi><m:mi>u</m:mi></m:msub>
    </m:mfenced>
    <m:mi>r</m:mi>
   </m:mrow>
  </m:mfenced></m:mrow>
</m:math>&#160;for the solution following the factorization. The condition number estimation typically requires between four and five solves and never more than eleven solves, following the factorization. The solution is then refined, and the errors estimated, using iterative refinement; see <a class="rout" href="../F07/f07bhf.xml">F07BHF (DGBRFS)</a> for information on the floating-point operations required.</div><div class="paramtext">In practice the condition number estimator is very reliable, but it can underestimate the true condition number; see Section 15.3 of <a class="ref" href="#ref734">Higham (2002)</a> for further details.</div><div class="paramtext">The complex analogue of this routine is <a class="rout" href="../F07/f07bpf.xml">F07BPF (ZGBSVX)</a>.</div><h2 class="standard"><a class="sec" name="example" id="example"/>9&#160;&#160;Example</h2>
<div class="paramtext">This example solves the equations

<div class="formula"><table class="formula"><tr><td class="formula"><m:math display="block">
<m:mi>A</m:mi><m:mi>X</m:mi><m:mo>=</m:mo><m:mi>B</m:mi>
 <m:mtext>,</m:mtext>
</m:math></td><td class="formula2"/></tr></table></div>

where <m:math>
 <m:mi>A</m:mi>
</m:math>&#160;is the band matrix

<div class="formula"><table class="formula"><tr><td class="formula"><m:math display="block">
<m:mi>A</m:mi>
 <m:mo>=</m:mo>
 <m:mfenced><m:mtable columnalign="right">
<m:mtr>
   <m:mtd><m:mrow><m:mo>-</m:mo><m:mn>0.23</m:mn></m:mrow></m:mtd>
   <m:mtd><m:mn>2.54</m:mn></m:mtd>
   <m:mtd><m:mrow><m:mo>-</m:mo><m:mn>3.66</m:mn></m:mrow></m:mtd>
   <m:mtd><m:mn>0</m:mn><m:mphantom><m:mn>.00</m:mn></m:mphantom></m:mtd>
</m:mtr><m:mtr>
   <m:mtd><m:mrow><m:mo>-</m:mo><m:mn>6.98</m:mn></m:mrow></m:mtd>
   <m:mtd><m:mn>2.46</m:mn></m:mtd>
   <m:mtd><m:mrow><m:mo>-</m:mo><m:mn>2.73</m:mn></m:mrow></m:mtd>
   <m:mtd><m:mrow><m:mo>-</m:mo><m:mn>2.13</m:mn></m:mrow></m:mtd>
</m:mtr><m:mtr>
   <m:mtd><m:mn>0</m:mn><m:mphantom><m:mn>.00</m:mn></m:mphantom></m:mtd>
   <m:mtd><m:mn>2.56</m:mn></m:mtd>
   <m:mtd><m:mn>2.46</m:mn></m:mtd>
   <m:mtd><m:mn>4.07</m:mn></m:mtd>
</m:mtr><m:mtr>
   <m:mtd><m:mn>0</m:mn><m:mphantom><m:mn>.00</m:mn></m:mphantom></m:mtd>
   <m:mtd><m:mn>0</m:mn><m:mphantom><m:mn>.00</m:mn></m:mphantom></m:mtd>
   <m:mtd><m:mrow><m:mo>-</m:mo><m:mn>4.78</m:mn></m:mrow></m:mtd>
   <m:mtd><m:mrow><m:mo>-</m:mo><m:mn>3.82</m:mn></m:mrow></m:mtd>
</m:mtr>
</m:mtable></m:mfenced>
<m:mtext>&#8195; and &#8195;</m:mtext>
 <m:mi>B</m:mi>
 <m:mo>=</m:mo>
 <m:mfenced><m:mtable>
  <m:mtr columnalign="right">
   <m:mtd><m:mn>4.42</m:mn></m:mtd>
   <m:mtd><m:mrow><m:mo>-</m:mo><m:mn>36.01</m:mn></m:mrow></m:mtd>
  </m:mtr><m:mtr columnalign="right">
   <m:mtd><m:mn>27.13</m:mn></m:mtd>
   <m:mtd><m:mrow><m:mo>-</m:mo><m:mn>31.67</m:mn></m:mrow></m:mtd>
  </m:mtr><m:mtr columnalign="right">
   <m:mtd><m:mrow><m:mo>-</m:mo><m:mn>6.14</m:mn></m:mrow></m:mtd>
   <m:mtd><m:mrow><m:mo>-</m:mo><m:mn>1.16</m:mn></m:mrow></m:mtd>
  </m:mtr><m:mtr columnalign="right">
   <m:mtd><m:mn>10.50</m:mn></m:mtd>
   <m:mtd><m:mrow><m:mo>-</m:mo><m:mn>25.82</m:mn></m:mrow></m:mtd>
  </m:mtr>
 </m:mtable></m:mfenced>
 <m:mtext>.</m:mtext>
</m:math></td><td class="formula2"/></tr></table></div></div><div class="paramtext">Estimates for the backward errors, forward errors, condition number and pivot growth are also output, together with information on the equilibration of <m:math>
 <m:mi>A</m:mi>
</m:math>.
</div><h3 class="standard"><a class="sec" name="examtext" id="examtext"/>9.1&#160;&#160;Program Text</h3>
<p><a class="verbatimref" href="../../examples/source/f07bbfe.f">Program Text (f07bbfe.f)</a></p><h3 class="standard"><a class="sec" name="examdata" id="examdata"/>9.2&#160;&#160;Program Data</h3>
<p><a class="verbatimref" href="../../examples/data/f07bbfe.d">Program&#160;Data (f07bbfe.d)</a></p><h3 class="standard"><a class="sec" name="examresults" id="examresults"/>9.3&#160;&#160;Program Results</h3>
<p><a class="verbatimref" href="../../examples/baseresults/f07bbfe.r">Program Results (f07bbfe.r)</a></p>
<hr/><div><a class="rout" href="../../pdf/F07/f07bbf.pdf">F07BBF (DGBSVX) (PDF version)</a></div><div><a class="chap" href="f07conts.xml">F07 Chapter Contents</a></div><div><a class="chapint" href="f07intro.xml">F07 Chapter Introduction</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>
