Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > df736a3bc446df5b16150bebb7296274 > files > 160

DSDP-devel-5.8-2.fc14.i686.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>DSDP: src/solver/dualimpl.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">DSDP</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="dir_23046874d7fed141927c769a66d8e3a5.html">src</a>      </li>
      <li class="navelem"><a class="el" href="dir_03c647d51c93e018646ff83aa2eeb169.html">solver</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">dualimpl.c File Reference</div>  </div>
</div>
<div class="contents">

<p>Dual-scaling operations needed in the solver.  
<a href="#details">More...</a></p>

<p><a href="dualimpl_8c_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dualimpl_8c.html#a239b00881a43da268e3d413f5b942d41">DSDPComputeDualityGap</a> (<a class="el" href="structDSDP__C.html">DSDP</a> dsdp, double mu, double *gap)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the current duality gap.  <a href="#a239b00881a43da268e3d413f5b942d41"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dualimpl_8c.html#ae9746c99c29220feb14216cb1d034438">DSDPComputeDY</a> (<a class="el" href="structDSDP__C.html">DSDP</a> dsdp, double mu, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a> DY, double *pnorm)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the step direction.  <a href="#ae9746c99c29220feb14216cb1d034438"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dualimpl_8c.html#a25fac2666851c33d052ea10b4f375d50">DSDPComputeNewY</a> (<a class="el" href="structDSDP__C.html">DSDP</a> dsdp, double beta, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a> Y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Update the Y variables.  <a href="#a25fac2666851c33d052ea10b4f375d50"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dualimpl_8c.html#ade971b0448ca3865a60e16bc6a3f61b6">DSDPComputeObjective</a> (<a class="el" href="structDSDP__C.html">DSDP</a> dsdp, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a> Y, double *ddobj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the objective function (DD).  <a href="#ade971b0448ca3865a60e16bc6a3f61b6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dualimpl_8c.html#a47c056885b38e1c30552f1fdf63aa2dc">DSDPComputePDY</a> (<a class="el" href="structDSDP__C.html">DSDP</a> dsdp, double mu, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a> DY, double *pnorm)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the step direction.  <a href="#a47c056885b38e1c30552f1fdf63aa2dc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dualimpl_8c.html#a42e0148527b8d4da6f793d25aeabba1e">DSDPComputePDY1</a> (<a class="el" href="structDSDP__C.html">DSDP</a> dsdp, double mur, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a> DY1)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute an affine step direction dy1.  <a href="#a42e0148527b8d4da6f793d25aeabba1e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dualimpl_8c.html#ace7a480a9db39d6149f780bfb8934c92">DSDPComputePNorm</a> (<a class="el" href="structDSDP__C.html">DSDP</a> dsdp, double mu, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a> DY, double *pnorm)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute proximity to a point on the central path.  <a href="#ace7a480a9db39d6149f780bfb8934c92"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dualimpl_8c.html#a14101d8412929ea2d5b247c8f469efab">DSDPComputePotential</a> (<a class="el" href="structDSDP__C.html">DSDP</a> dsdp, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a> y, double logdet, double *potential)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the potential of the given point.  <a href="#a14101d8412929ea2d5b247c8f469efab"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dualimpl_8c.html#a8094f58e48c4584240d121b5240980e0">DSDPComputePotential2</a> (<a class="el" href="structDSDP__C.html">DSDP</a> dsdp, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a> y, double mu, double logdet, double *potential)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the objective function plus the barrier function.  <a href="#a8094f58e48c4584240d121b5240980e0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dualimpl_8c.html#a1a8d3bb0e53d87e9c7d5b5cb50027880">DSDPComputePY</a> (<a class="el" href="structDSDP__C.html">DSDP</a> dsdp, double beta, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a> PY)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute PY = Y - beta DY for use in computing X.  <a href="#a1a8d3bb0e53d87e9c7d5b5cb50027880"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dualimpl_8c.html#a3c7a92ba2ca993e7b5ceac1809f92646">DSDPComputeRHS</a> (<a class="el" href="structDSDP__C.html">DSDP</a> dsdp, double mu, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a> RHS)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the right-hand side of the linear system that determines the step direction.  <a href="#a3c7a92ba2ca993e7b5ceac1809f92646"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dualimpl_8c.html#a9cfabc30697ee97817abcbe4ebdb2cd3">DSDPGetRR</a> (<a class="el" href="structDSDP__C.html">DSDP</a> dsdp, double *res)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get variable r.  <a href="#a9cfabc30697ee97817abcbe4ebdb2cd3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dualimpl_8c.html#af8caa73bd3107d3919d8cbee0c868da0">DSDPObjectiveGH</a> (<a class="el" href="structDSDP__C.html">DSDP</a> dsdp, <a class="el" href="structDSDPSchurMat__C.html">DSDPSchurMat</a> M, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a> vrhs1)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradient of dual objective.  <a href="#af8caa73bd3107d3919d8cbee0c868da0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dualimpl_8c.html#a67e08bd1a58037e3685583f69f1221db">DSDPSetRR</a> (<a class="el" href="structDSDP__C.html">DSDP</a> dsdp, double res)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set variable r.  <a href="#a67e08bd1a58037e3685583f69f1221db"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dualimpl_8c.html#ae70dc913134a365755e9bb1496aedc67">DSDPSetY</a> (<a class="el" href="structDSDP__C.html">DSDP</a> dsdp, double beta, double logdet, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a> ynew)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Update the solver with these y variables.  <a href="#ae70dc913134a365755e9bb1496aedc67"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Dual-scaling operations needed in the solver. </p>

<p>Definition in file <a class="el" href="dualimpl_8c_source.html">dualimpl.c</a>.</p>
</div><hr/><h2>Function Documentation</h2>
<a class="anchor" id="a239b00881a43da268e3d413f5b942d41"></a><!-- doxytag: member="dualimpl.c::DSDPComputeDualityGap" ref="a239b00881a43da268e3d413f5b942d41" args="(DSDP dsdp, double mu, double *gap)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPComputeDualityGap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDSDP__C.html">DSDP</a>&#160;</td>
          <td class="paramname"><em>dsdp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>mu</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>gap</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute the current duality gap. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dsdp</td><td>the solver </td></tr>
    <tr><td class="paramname">mu</td><td>barrier parameter </td></tr>
    <tr><td class="paramname">gap</td><td>the duality gap</td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__DSDPSolution.html#gaf22c2d4d0e8172b9c48fde5c1c53abbc" title="Copy the difference between the objective values.">DSDPGetDualityGap()</a> </dd>
<dd>
<a class="el" href="group__DSDPSolution.html#gad603533b7e28587f5b2ee824eee58eb3" title="Copy the objective value (PP).">DSDPGetPPObjective()</a> </dd></dl>

<p>Definition at line <a class="el" href="dualimpl_8c_source.html#l00230">230</a> of file <a class="el" href="dualimpl_8c_source.html">dualimpl.c</a>.</p>

<p>Referenced by <a class="el" href="dsdpx_8c_source.html#l00149">DSDPSaveYForX()</a>.</p>

</div>
</div>
<a class="anchor" id="ae9746c99c29220feb14216cb1d034438"></a><!-- doxytag: member="dualimpl.c::DSDPComputeDY" ref="ae9746c99c29220feb14216cb1d034438" args="(DSDP dsdp, double mu, DSDPVec DY, double *pnorm)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPComputeDY </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDSDP__C.html">DSDP</a>&#160;</td>
          <td class="paramname"><em>dsdp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>mu</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>&#160;</td>
          <td class="paramname"><em>DY</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>pnorm</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute the step direction. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dsdp</td><td>the solver </td></tr>
    <tr><td class="paramname">mu</td><td>barrier parameter </td></tr>
    <tr><td class="paramname">DY</td><td>Step direction </td></tr>
    <tr><td class="paramname">pnorm</td><td>distance to the target</td></tr>
  </table>
  </dd>
</dl>
<p>Assuming the affine direction and centering direction have alread been computed, combine them with the appropriate barrier parameter.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="dsdp_8h.html#a2291b15b24f36be603dbca274db5997f" title="Compute the right-hand side of the linear system that determines the step direction.">DSDPComputeRHS()</a> </dd></dl>

<p>Definition at line <a class="el" href="dualimpl_8c_source.html#l00045">45</a> of file <a class="el" href="dualimpl_8c_source.html">dualimpl.c</a>.</p>

<p>Referenced by <a class="el" href="dualimpl_8c_source.html#l00230">DSDPComputeDualityGap()</a>, <a class="el" href="dualalg_8c_source.html#l00328">DSDPResetY0()</a>, <a class="el" href="dsdpx_8c_source.html#l00149">DSDPSaveYForX()</a>, and <a class="el" href="dualalg_8c_source.html#l00121">DSDPSolveDynamicRho()</a>.</p>

</div>
</div>
<a class="anchor" id="a25fac2666851c33d052ea10b4f375d50"></a><!-- doxytag: member="dualimpl.c::DSDPComputeNewY" ref="a25fac2666851c33d052ea10b4f375d50" args="(DSDP dsdp, double beta, DSDPVec Y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPComputeNewY </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDSDP__C.html">DSDP</a>&#160;</td>
          <td class="paramname"><em>dsdp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>beta</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>&#160;</td>
          <td class="paramname"><em>Y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Update the Y variables. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dsdp</td><td>the solver </td></tr>
    <tr><td class="paramname">beta</td><td>step length </td></tr>
    <tr><td class="paramname">Y</td><td>the new solution</td></tr>
  </table>
  </dd>
</dl>
<p>Add a multiple of the step direction to the current solution. </p>

<p>Definition at line <a class="el" href="dualimpl_8c_source.html#l00125">125</a> of file <a class="el" href="dualimpl_8c_source.html">dualimpl.c</a>.</p>

<p>Referenced by <a class="el" href="dualalg_8c_source.html#l00024">DSDPYStepLineSearch()</a>, and <a class="el" href="dualalg_8c_source.html#l00073">DSDPYStepLineSearch2()</a>.</p>

</div>
</div>
<a class="anchor" id="ade971b0448ca3865a60e16bc6a3f61b6"></a><!-- doxytag: member="dualimpl.c::DSDPComputeObjective" ref="ade971b0448ca3865a60e16bc6a3f61b6" args="(DSDP dsdp, DSDPVec Y, double *ddobj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPComputeObjective </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDSDP__C.html">DSDP</a>&#160;</td>
          <td class="paramname"><em>dsdp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>&#160;</td>
          <td class="paramname"><em>Y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>ddobj</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute the objective function (DD). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dsdp</td><td>is the solver </td></tr>
    <tr><td class="paramname">Y</td><td>Current variables </td></tr>
    <tr><td class="paramname">ddobj</td><td>objective value</td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="dsdp_8h.html#a52e26571b924b453d5359a32fbcdb469" title="Update the Y variables.">DSDPComputeNewY()</a> </dd>
<dd>
<a class="el" href="group__DSDPSolution.html#gadb9e055ef8b2194ae67ed14ca06f1d01" title="Copy the objective value (DD).">DSDPGetDDObjective()</a> </dd></dl>

<p>Definition at line <a class="el" href="dualimpl_8c_source.html#l00021">21</a> of file <a class="el" href="dualimpl_8c_source.html">dualimpl.c</a>.</p>

<p>Referenced by <a class="el" href="dualimpl_8c_source.html#l00261">DSDPComputePotential()</a>, <a class="el" href="dualimpl_8c_source.html#l00287">DSDPComputePotential2()</a>, <a class="el" href="dualalg_8c_source.html#l00475">DSDPInitializeVariables()</a>, and <a class="el" href="dualimpl_8c_source.html#l00309">DSDPSetY()</a>.</p>

</div>
</div>
<a class="anchor" id="a47c056885b38e1c30552f1fdf63aa2dc"></a><!-- doxytag: member="dualimpl.c::DSDPComputePDY" ref="a47c056885b38e1c30552f1fdf63aa2dc" args="(DSDP dsdp, double mu, DSDPVec DY, double *pnorm)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPComputePDY </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDSDP__C.html">DSDP</a>&#160;</td>
          <td class="paramname"><em>dsdp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>mu</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>&#160;</td>
          <td class="paramname"><em>DY</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>pnorm</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute the step direction. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dsdp</td><td>the solver </td></tr>
    <tr><td class="paramname">mu</td><td>barrier parameter </td></tr>
    <tr><td class="paramname">DY</td><td>Step direction </td></tr>
    <tr><td class="paramname">pnorm</td><td>distance to the target</td></tr>
  </table>
  </dd>
</dl>
<p>Assuming the affine direction and centering direction have alread been computed, combine them with the appropriate barrier parameter.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="dsdp_8h.html#a2291b15b24f36be603dbca274db5997f" title="Compute the right-hand side of the linear system that determines the step direction.">DSDPComputeRHS()</a> </dd>
<dd>
<a class="el" href="dsdp_8h.html#ab857999f0834880cea633350bd673f2e" title="Compute the step direction.">DSDPComputeDY()</a> </dd></dl>

<p>Definition at line <a class="el" href="dualimpl_8c_source.html#l00077">77</a> of file <a class="el" href="dualimpl_8c_source.html">dualimpl.c</a>.</p>

<p>Referenced by <a class="el" href="dualalg_8c_source.html#l00240">DSDPChooseBarrierParameter()</a>, and <a class="el" href="dualalg_8c_source.html#l00121">DSDPSolveDynamicRho()</a>.</p>

</div>
</div>
<a class="anchor" id="a42e0148527b8d4da6f793d25aeabba1e"></a><!-- doxytag: member="dualimpl.c::DSDPComputePDY1" ref="a42e0148527b8d4da6f793d25aeabba1e" args="(DSDP dsdp, double mur, DSDPVec DY1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPComputePDY1 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDSDP__C.html">DSDP</a>&#160;</td>
          <td class="paramname"><em>dsdp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>mur</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>&#160;</td>
          <td class="paramname"><em>DY1</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute an affine step direction dy1. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dsdp</td><td>the solver </td></tr>
    <tr><td class="paramname">mur</td><td>reciprocal of barrier parameter </td></tr>
    <tr><td class="paramname">DY1</td><td>Step direction</td></tr>
  </table>
  </dd>
</dl>
<p>Assuming the affine direction has alread been computed, scale it. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="dsdp_8h.html#ab857999f0834880cea633350bd673f2e" title="Compute the step direction.">DSDPComputeDY()</a> </dd></dl>

<p>Definition at line <a class="el" href="dualimpl_8c_source.html#l00105">105</a> of file <a class="el" href="dualimpl_8c_source.html">dualimpl.c</a>.</p>

<p>Referenced by <a class="el" href="dualalg_8c_source.html#l00240">DSDPChooseBarrierParameter()</a>.</p>

</div>
</div>
<a class="anchor" id="ace7a480a9db39d6149f780bfb8934c92"></a><!-- doxytag: member="dualimpl.c::DSDPComputePNorm" ref="ace7a480a9db39d6149f780bfb8934c92" args="(DSDP dsdp, double mu, DSDPVec DY, double *pnorm)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPComputePNorm </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDSDP__C.html">DSDP</a>&#160;</td>
          <td class="paramname"><em>dsdp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>mu</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>&#160;</td>
          <td class="paramname"><em>DY</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>pnorm</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute proximity to a point on the central path. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dsdp</td><td>the solver </td></tr>
    <tr><td class="paramname">mu</td><td>barrier parameter </td></tr>
    <tr><td class="paramname">DY</td><td>Newton step direction </td></tr>
    <tr><td class="paramname">pnorm</td><td>the norm</td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="dsdp_8h.html#ab857999f0834880cea633350bd673f2e" title="Compute the step direction.">DSDPComputeDY()</a> </dd></dl>

<p>Definition at line <a class="el" href="dualimpl_8c_source.html#l00200">200</a> of file <a class="el" href="dualimpl_8c_source.html">dualimpl.c</a>.</p>

<p>Referenced by <a class="el" href="dualimpl_8c_source.html#l00045">DSDPComputeDY()</a>, and <a class="el" href="dualimpl_8c_source.html#l00077">DSDPComputePDY()</a>.</p>

</div>
</div>
<a class="anchor" id="a14101d8412929ea2d5b247c8f469efab"></a><!-- doxytag: member="dualimpl.c::DSDPComputePotential" ref="a14101d8412929ea2d5b247c8f469efab" args="(DSDP dsdp, DSDPVec y, double logdet, double *potential)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPComputePotential </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDSDP__C.html">DSDP</a>&#160;</td>
          <td class="paramname"><em>dsdp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>logdet</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>potential</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute the potential of the given point. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dsdp</td><td>the solver </td></tr>
    <tr><td class="paramname">y</td><td>variables </td></tr>
    <tr><td class="paramname">logdet</td><td>logarithmic barrier function of the given point </td></tr>
    <tr><td class="paramname">potential</td><td>return the potential of the given point.</td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__DSDPSolver.html#ga5d737fca8ae872f57fd37cc7784feede" title="Set the potential parameter.">DSDPSetPotentialParameter()</a> </dd></dl>

<p>Definition at line <a class="el" href="dualimpl_8c_source.html#l00261">261</a> of file <a class="el" href="dualimpl_8c_source.html">dualimpl.c</a>.</p>

<p>Referenced by <a class="el" href="dualalg_8c_source.html#l00475">DSDPInitializeVariables()</a>, <a class="el" href="dualimpl_8c_source.html#l00309">DSDPSetY()</a>, and <a class="el" href="dualalg_8c_source.html#l00024">DSDPYStepLineSearch()</a>.</p>

</div>
</div>
<a class="anchor" id="a8094f58e48c4584240d121b5240980e0"></a><!-- doxytag: member="dualimpl.c::DSDPComputePotential2" ref="a8094f58e48c4584240d121b5240980e0" args="(DSDP dsdp, DSDPVec y, double mu, double logdet, double *potential)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPComputePotential2 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDSDP__C.html">DSDP</a>&#160;</td>
          <td class="paramname"><em>dsdp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>mu</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>logdet</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>potential</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute the objective function plus the barrier function. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dsdp</td><td>the solver </td></tr>
    <tr><td class="paramname">y</td><td>variables </td></tr>
    <tr><td class="paramname">mu</td><td>barrier function </td></tr>
    <tr><td class="paramname">logdet</td><td>logarithmic barrier function of the given point </td></tr>
    <tr><td class="paramname">potential</td><td>return the potential of the given point.\ </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__DSDPSolver.html#ga05f1269e817495e448ffa8ae3a4012cf" title="Copy the current barrier parameter.">DSDPGetBarrierParameter()</a> </dd></dl>

<p>Definition at line <a class="el" href="dualimpl_8c_source.html#l00287">287</a> of file <a class="el" href="dualimpl_8c_source.html">dualimpl.c</a>.</p>

<p>Referenced by <a class="el" href="dualalg_8c_source.html#l00073">DSDPYStepLineSearch2()</a>.</p>

</div>
</div>
<a class="anchor" id="a1a8d3bb0e53d87e9c7d5b5cb50027880"></a><!-- doxytag: member="dualimpl.c::DSDPComputePY" ref="a1a8d3bb0e53d87e9c7d5b5cb50027880" args="(DSDP dsdp, double beta, DSDPVec PY)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPComputePY </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDSDP__C.html">DSDP</a>&#160;</td>
          <td class="paramname"><em>dsdp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>beta</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>&#160;</td>
          <td class="paramname"><em>PY</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute PY = Y - beta DY for use in computing X. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dsdp</td><td>the solver </td></tr>
    <tr><td class="paramname">beta</td><td>step length </td></tr>
    <tr><td class="paramname">PY</td><td>the new value</td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="dsdp_8h.html#a52e26571b924b453d5359a32fbcdb469" title="Update the Y variables.">DSDPComputeNewY()</a> </dd></dl>

<p>Definition at line <a class="el" href="dualimpl_8c_source.html#l00150">150</a> of file <a class="el" href="dualimpl_8c_source.html">dualimpl.c</a>.</p>

<p>Referenced by <a class="el" href="dualalg_8c_source.html#l00240">DSDPChooseBarrierParameter()</a>, and <a class="el" href="dualalg_8c_source.html#l00121">DSDPSolveDynamicRho()</a>.</p>

</div>
</div>
<a class="anchor" id="a3c7a92ba2ca993e7b5ceac1809f92646"></a><!-- doxytag: member="dualimpl.c::DSDPComputeRHS" ref="a3c7a92ba2ca993e7b5ceac1809f92646" args="(DSDP dsdp, double mu, DSDPVec RHS)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPComputeRHS </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDSDP__C.html">DSDP</a>&#160;</td>
          <td class="paramname"><em>dsdp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>mu</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>&#160;</td>
          <td class="paramname"><em>RHS</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute the right-hand side of the linear system that determines the step direction. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dsdp</td><td>the solver </td></tr>
    <tr><td class="paramname">mu</td><td>barrier parameter </td></tr>
    <tr><td class="paramname">RHS</td><td>right-hand side direction</td></tr>
  </table>
  </dd>
</dl>
<p>Assuming that the gradient of the objective and the gradient of the barrier have already been computed, combine them with the appropriate barrier parameter.</p>
<p>This vector is basically <img class="formulaInl" alt="$ b - mu * A(S^{-1}) $" src="form_21.png"/></p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="dsdp_8h.html#ab857999f0834880cea633350bd673f2e" title="Compute the step direction.">DSDPComputeDY()</a> </dd></dl>

<p>Definition at line <a class="el" href="dualimpl_8c_source.html#l00177">177</a> of file <a class="el" href="dualimpl_8c_source.html">dualimpl.c</a>.</p>

<p>Referenced by <a class="el" href="dualimpl_8c_source.html#l00045">DSDPComputeDY()</a>, <a class="el" href="dualimpl_8c_source.html#l00077">DSDPComputePDY()</a>, <a class="el" href="dualimpl_8c_source.html#l00200">DSDPComputePNorm()</a>, and <a class="el" href="dsdpx_8c_source.html#l00149">DSDPSaveYForX()</a>.</p>

</div>
</div>
<a class="anchor" id="a9cfabc30697ee97817abcbe4ebdb2cd3"></a><!-- doxytag: member="dualimpl.c::DSDPGetRR" ref="a9cfabc30697ee97817abcbe4ebdb2cd3" args="(DSDP dsdp, double *res)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPGetRR </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDSDP__C.html">DSDP</a>&#160;</td>
          <td class="paramname"><em>dsdp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>res</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get variable r. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dsdp</td><td>solver </td></tr>
    <tr><td class="paramname">*res</td><td>set variable r </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dualimpl_8c_source.html#l00361">361</a> of file <a class="el" href="dualimpl_8c_source.html">dualimpl.c</a>.</p>

<p>Referenced by <a class="el" href="dsdpsetdata_8c_source.html#l00601">DSDPGetR()</a>, <a class="el" href="dualalg_8c_source.html#l00475">DSDPInitializeVariables()</a>, <a class="el" href="dualalg_8c_source.html#l00328">DSDPResetY0()</a>, <a class="el" href="dsdpx_8c_source.html#l00149">DSDPSaveYForX()</a>, and <a class="el" href="dualalg_8c_source.html#l00121">DSDPSolveDynamicRho()</a>.</p>

</div>
</div>
<a class="anchor" id="af8caa73bd3107d3919d8cbee0c868da0"></a><!-- doxytag: member="dualimpl.c::DSDPObjectiveGH" ref="af8caa73bd3107d3919d8cbee0c868da0" args="(DSDP dsdp, DSDPSchurMat M, DSDPVec vrhs1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPObjectiveGH </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDSDP__C.html">DSDP</a>&#160;</td>
          <td class="paramname"><em>dsdp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structDSDPSchurMat__C.html">DSDPSchurMat</a>&#160;</td>
          <td class="paramname"><em>M</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>&#160;</td>
          <td class="paramname"><em>vrhs1</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute gradient of dual objective. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dsdp</td><td>solver </td></tr>
    <tr><td class="paramname">M</td><td>Schur matrix. </td></tr>
    <tr><td class="paramname">vrhs1</td><td>gradient vector </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dualimpl_8c_source.html#l00381">381</a> of file <a class="el" href="dualimpl_8c_source.html">dualimpl.c</a>.</p>

<p>Referenced by <a class="el" href="dsdpcops_8c_source.html#l00215">DSDPComputeG()</a>, and <a class="el" href="dsdpcops_8c_source.html#l00142">DSDPComputeHessian()</a>.</p>

</div>
</div>
<a class="anchor" id="a67e08bd1a58037e3685583f69f1221db"></a><!-- doxytag: member="dualimpl.c::DSDPSetRR" ref="a67e08bd1a58037e3685583f69f1221db" args="(DSDP dsdp, double res)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPSetRR </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDSDP__C.html">DSDP</a>&#160;</td>
          <td class="paramname"><em>dsdp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>res</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set variable r. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dsdp</td><td>solver </td></tr>
    <tr><td class="paramname">res</td><td>variable r </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dualimpl_8c_source.html#l00345">345</a> of file <a class="el" href="dualimpl_8c_source.html">dualimpl.c</a>.</p>

<p>Referenced by <a class="el" href="dualalg_8c_source.html#l00475">DSDPInitializeVariables()</a>, <a class="el" href="dualalg_8c_source.html#l00328">DSDPResetY0()</a>, and <a class="el" href="dsdpsetdata_8c_source.html#l00311">DSDPSetR0()</a>.</p>

</div>
</div>
<a class="anchor" id="ae70dc913134a365755e9bb1496aedc67"></a><!-- doxytag: member="dualimpl.c::DSDPSetY" ref="ae70dc913134a365755e9bb1496aedc67" args="(DSDP dsdp, double beta, double logdet, DSDPVec ynew)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPSetY </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDSDP__C.html">DSDP</a>&#160;</td>
          <td class="paramname"><em>dsdp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>beta</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>logdet</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>&#160;</td>
          <td class="paramname"><em>ynew</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Update the solver with these y variables. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dsdp</td><td>the solver </td></tr>
    <tr><td class="paramname">beta</td><td>most recent step length </td></tr>
    <tr><td class="paramname">logdet</td><td>logarithmic barrier function of the given point </td></tr>
    <tr><td class="paramname">ynew</td><td>current solution. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dualimpl_8c_source.html#l00309">309</a> of file <a class="el" href="dualimpl_8c_source.html">dualimpl.c</a>.</p>

<p>Referenced by <a class="el" href="dualalg_8c_source.html#l00475">DSDPInitializeVariables()</a>, <a class="el" href="dualalg_8c_source.html#l00328">DSDPResetY0()</a>, <a class="el" href="dualalg_8c_source.html#l00024">DSDPYStepLineSearch()</a>, and <a class="el" href="dualalg_8c_source.html#l00073">DSDPYStepLineSearch2()</a>.</p>

</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Wed Jun 8 2011 for DSDP by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>