Sophie

Sophie

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

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: DSDP Convergence</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><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">DSDP Convergence</div>  </div>
</div>
<div class="contents">
<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="group__DSDPConverge.html#ga0ec9106b132f46ce0a4109e1d9f3e3ff">DSDPDefaultConvergence</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, void *)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Check for Convergence.  <a href="#ga0ec9106b132f46ce0a4109e1d9f3e3ff"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DSDPConverge.html#gaa84852abdc5e8f4dcef46748f8c7e4d0">DSDPGetDualBound</a> (<a class="el" href="structDSDP__C.html">DSDP</a> dsdp, double *dbound)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the termination parameter.  <a href="#gaa84852abdc5e8f4dcef46748f8c7e4d0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DSDPConverge.html#ga7c5018d2263675ce962dedc787155ed1">DSDPGetGapHistory</a> (<a class="el" href="structDSDP__C.html">DSDP</a> dsdp, double hist[], int length)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy a history of the duality gap into an array.  <a href="#ga7c5018d2263675ce962dedc787155ed1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DSDPConverge.html#ga876bd5084bfd1b62eb37211d4bcf188e">DSDPGetGapTolerance</a> (<a class="el" href="structDSDP__C.html">DSDP</a> dsdp, double *gaptol)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the termination tolerance.  <a href="#ga876bd5084bfd1b62eb37211d4bcf188e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DSDPConverge.html#gaaeaa2ec0c50c43f4499aaffea692ede8">DSDPGetIts</a> (<a class="el" href="structDSDP__C.html">DSDP</a> dsdp, int *its)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy the current iteration number.  <a href="#gaaeaa2ec0c50c43f4499aaffea692ede8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DSDPConverge.html#gac98359685ab5aad73ed95e335fcb21ab">DSDPGetMaxIts</a> (<a class="el" href="structDSDP__C.html">DSDP</a> dsdp, int *its)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy the maximum number of iterations from the solver.  <a href="#gac98359685ab5aad73ed95e335fcb21ab"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DSDPConverge.html#ga88aa3c65b2eb3699f6c2d203c3f11963">DSDPGetPInfeasibility</a> (<a class="el" href="structDSDP__C.html">DSDP</a> dsdp, double *pperror)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy the infeasibility in (P).  <a href="#ga88aa3c65b2eb3699f6c2d203c3f11963"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DSDPConverge.html#ga437edaa1a3a8fce5e9e4bef9452bc8d8">DSDPGetPNormTolerance</a> (<a class="el" href="structDSDP__C.html">DSDP</a> dsdp, double *ptol)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the termination tolerance.  <a href="#ga437edaa1a3a8fce5e9e4bef9452bc8d8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DSDPConverge.html#ga8c3bf97d823880a151321f7c7c43aaf8">DSDPGetPTolerance</a> (<a class="el" href="structDSDP__C.html">DSDP</a> dsdp, double *inftol)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy the feasibility tolerance.  <a href="#ga8c3bf97d823880a151321f7c7c43aaf8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DSDPConverge.html#ga00cf375a40281f6f8a1b9bdfee7a6ff1">DSDPGetRHistory</a> (<a class="el" href="structDSDP__C.html">DSDP</a> dsdp, double hist[], int length)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy a history of the infeasibility in (D) into an array.  <a href="#ga00cf375a40281f6f8a1b9bdfee7a6ff1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DSDPConverge.html#ga48cc08979850c048b38d7f1fd423deec">DSDPGetRTolerance</a> (<a class="el" href="structDSDP__C.html">DSDP</a> dsdp, double *inftol)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy the maximum infeasibility allowed (D).  <a href="#ga48cc08979850c048b38d7f1fd423deec"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DSDPConverge.html#gabbef47d1ecf58ee77ac463168aa14afb">DSDPGetStepTolerance</a> (<a class="el" href="structDSDP__C.html">DSDP</a> dsdp, double *steptol)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current tolerance.  <a href="#gabbef47d1ecf58ee77ac463168aa14afb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DSDPConverge.html#ga1293e76a2fb57bd963713c3df7e88221">DSDPSetConvergenceFlag</a> (<a class="el" href="structDSDP__C.html">DSDP</a> dsdp, <a class="el" href="dsdpbasictypes_8h.html#a2a68c4cccb1289043bf9b59a58f55b3a">DSDPTerminationReason</a> reason)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Monitor each iteration of the solver.  <a href="#ga1293e76a2fb57bd963713c3df7e88221"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DSDPConverge.html#ga94030b5b04c4ad178282245deb609f78">DSDPSetDualBound</a> (<a class="el" href="structDSDP__C.html">DSDP</a> dsdp, double dbound)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Terminate the solver if the objective value in (DD) is greater than this tolerance.  <a href="#ga94030b5b04c4ad178282245deb609f78"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DSDPConverge.html#ga4c0fa6941c40cca7643c2f4a9ae813bf">DSDPSetGapTolerance</a> (<a class="el" href="structDSDP__C.html">DSDP</a> dsdp, double gaptol)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Terminate the solver when the relative duality gap is less than this tolerance.  <a href="#ga4c0fa6941c40cca7643c2f4a9ae813bf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DSDPConverge.html#ga91af478f9316391a35b595b669ad22b3">DSDPSetMaxIts</a> (<a class="el" href="structDSDP__C.html">DSDP</a> dsdp, int its)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Terminate the solver after this number of iterations.  <a href="#ga91af478f9316391a35b595b669ad22b3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DSDPConverge.html#ga56d725fd1a7e14c5294cb292c998193e">DSDPSetPNormTolerance</a> (<a class="el" href="structDSDP__C.html">DSDP</a> dsdp, double ptol)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Terminate the solver when the relative duality gap is suffiently small and the PNorm is less than this quantity. Smaller values imply the final solution will be nearer to the central path.  <a href="#ga56d725fd1a7e14c5294cb292c998193e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DSDPConverge.html#gad0a3f0df89bd8b3e4b7fb1f6c738d330">DSDPSetPTolerance</a> (<a class="el" href="structDSDP__C.html">DSDP</a> dsdp, double inftol)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Classify (P) as feasible only if the infeasibility is less than this tolerance.  <a href="#gad0a3f0df89bd8b3e4b7fb1f6c738d330"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DSDPConverge.html#ga8fa9a4a362aaa64e12538a55f215e8ce">DSDPSetRTolerance</a> (<a class="el" href="structDSDP__C.html">DSDP</a> dsdp, double inftol)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Classify (D) as feasible only if the variable r is less than this tolerance.  <a href="#ga8fa9a4a362aaa64e12538a55f215e8ce"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DSDPConverge.html#ga8ae6cff50eca02c3452fa92ae0fea2ec">DSDPSetStepTolerance</a> (<a class="el" href="structDSDP__C.html">DSDP</a> dsdp, double steptol)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Terminate the solver if the step length in (DD) is below this tolerance.  <a href="#ga8ae6cff50eca02c3452fa92ae0fea2ec"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__DSDPConverge.html#ga637bf541e030c5aef4d436a9792714a2">DSDPStopReason</a> (<a class="el" href="structDSDP__C.html">DSDP</a> dsdp, <a class="el" href="dsdpbasictypes_8h.html#a2a68c4cccb1289043bf9b59a58f55b3a">DSDPTerminationReason</a> *reason)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy the reason why the solver terminated.  <a href="#ga637bf541e030c5aef4d436a9792714a2"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p>The subroutines listed below define convergence and termination criteria for the solver and problems in <a class="el" href="PDForm.html">DSDP Standard Form</a>.</p>
<div class="fragment"><pre class="fragment"><span class="preprocessor">#include dsdp5.h </span>
</pre></div><dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>if successful </td></tr>
  </table>
  </dd>
</dl>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga0ec9106b132f46ce0a4109e1d9f3e3ff"></a><!-- doxytag: member="dsdp.h::DSDPDefaultConvergence" ref="ga0ec9106b132f46ce0a4109e1d9f3e3ff" args="(DSDP, void *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPDefaultConvergence </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">void *&#160;</td>
          <td class="paramname"><em>ctx</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check for Convergence. </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">ctx</td><td>is a pointer to a structure containing convergence parameters </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__DSDPConverge.html#ga4c0fa6941c40cca7643c2f4a9ae813bf" title="Terminate the solver when the relative duality gap is less than this tolerance.">DSDPSetGapTolerance()</a> </dd>
<dd>
<a class="el" href="group__DSDPConverge.html#ga8ae6cff50eca02c3452fa92ae0fea2ec" title="Terminate the solver if the step length in (DD) is below this tolerance.">DSDPSetStepTolerance()</a></dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>DSDP calls this routine before each iteration. </dd></dl>

<p>Definition at line <a class="el" href="dsdpconverge_8c_source.html#l00026">26</a> of file <a class="el" href="dsdpconverge_8c_source.html">dsdpconverge.c</a>.</p>

<p>Referenced by <a class="el" href="dsdpsetup_8c_source.html#l00165">DSDPSetDefaultMonitors()</a>.</p>

</div>
</div>
<a class="anchor" id="gaa84852abdc5e8f4dcef46748f8c7e4d0"></a><!-- doxytag: member="dsdpconverge.c::DSDPGetDualBound" ref="gaa84852abdc5e8f4dcef46748f8c7e4d0" args="(DSDP dsdp, double *dbound)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPGetDualBound </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>dbound</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the termination parameter. </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">*dbound</td><td>is a bound on (DD) </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__DSDPConverge.html#ga94030b5b04c4ad178282245deb609f78" title="Terminate the solver if the objective value in (DD) is greater than this tolerance.">DSDPSetDualBound()</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="dsdpconverge_8c_source.html#l00227">227</a> of file <a class="el" href="dsdpconverge_8c_source.html">dsdpconverge.c</a>.</p>

<p>Referenced by <a class="el" href="dsdpsetoptions_8c_source.html#l00190">DSDPView()</a>, and <a class="el" href="dsdp_8c_source.html#l00035">mexFunction()</a>.</p>

</div>
</div>
<a class="anchor" id="ga7c5018d2263675ce962dedc787155ed1"></a><!-- doxytag: member="dsdpconverge.c::DSDPGetGapHistory" ref="ga7c5018d2263675ce962dedc787155ed1" args="(DSDP dsdp, double hist[], int length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPGetGapHistory </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>hist</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>length</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copy a history of the duality gap into an array. </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">hist</td><td>is an array </td></tr>
    <tr><td class="paramname">length</td><td>is the length of the array </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__DSDPConverge.html#ga00cf375a40281f6f8a1b9bdfee7a6ff1" title="Copy a history of the infeasibility in (D) into an array.">DSDPGetRHistory()</a> </dd></dl>

<p>Definition at line <a class="el" href="dsdpconverge_8c_source.html#l00321">321</a> of file <a class="el" href="dsdpconverge_8c_source.html">dsdpconverge.c</a>.</p>

<p>Referenced by <a class="el" href="dsdp_8c_source.html#l00035">mexFunction()</a>.</p>

</div>
</div>
<a class="anchor" id="ga876bd5084bfd1b62eb37211d4bcf188e"></a><!-- doxytag: member="dsdpconverge.c::DSDPGetGapTolerance" ref="ga876bd5084bfd1b62eb37211d4bcf188e" args="(DSDP dsdp, double *gaptol)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPGetGapTolerance </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>gaptol</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the termination tolerance. </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">*gaptol</td><td>will be set to the termination tolerance </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__DSDPConverge.html#ga4c0fa6941c40cca7643c2f4a9ae813bf" title="Terminate the solver when the relative duality gap is less than this tolerance.">DSDPSetGapTolerance()</a> </dd></dl>

<p>Definition at line <a class="el" href="dsdpconverge_8c_source.html#l00132">132</a> of file <a class="el" href="dsdpconverge_8c_source.html">dsdpconverge.c</a>.</p>

<p>Referenced by <a class="el" href="dsdpsetoptions_8c_source.html#l00190">DSDPView()</a>, and <a class="el" href="dsdp_8c_source.html#l00035">mexFunction()</a>.</p>

</div>
</div>
<a class="anchor" id="gaaeaa2ec0c50c43f4499aaffea692ede8"></a><!-- doxytag: member="dsdpsetdata.c::DSDPGetIts" ref="gaaeaa2ec0c50c43f4499aaffea692ede8" args="(DSDP dsdp, int *its)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPGetIts </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">int *&#160;</td>
          <td class="paramname"><em>its</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copy the current iteration number. </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">*its</td><td>will be set to the current iteration number. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__DSDPConverge.html#ga91af478f9316391a35b595b669ad22b3" title="Terminate the solver after this number of iterations.">DSDPSetMaxIts()</a> </dd></dl>

<p>Definition at line <a class="el" href="dsdpsetdata_8c_source.html#l00564">564</a> of file <a class="el" href="dsdpsetdata_8c_source.html">dsdpsetdata.c</a>.</p>

<p>Referenced by <a class="el" href="dsdpconverge_8c_source.html#l00026">DSDPDefaultConvergence()</a>, <a class="el" href="dsdpprintout_8c_source.html#l00071">DSDPPrintStats()</a>, <a class="el" href="dsdp_8c_source.html#l00035">mexFunction()</a>, and <a class="el" href="readsdpa_8c_source.html#l00080">ReadSDPAFile()</a>.</p>

</div>
</div>
<a class="anchor" id="gac98359685ab5aad73ed95e335fcb21ab"></a><!-- doxytag: member="dsdpsetdata.c::DSDPGetMaxIts" ref="gac98359685ab5aad73ed95e335fcb21ab" args="(DSDP dsdp, int *its)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPGetMaxIts </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">int *&#160;</td>
          <td class="paramname"><em>maxits</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copy the maximum number of iterations from the solver. </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">*maxits</td><td>will be the maximum number of iterations in DSDP </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__DSDPConverge.html#ga91af478f9316391a35b595b669ad22b3" title="Terminate the solver after this number of iterations.">DSDPSetMaxIts()</a> </dd>
<dd>
<a class="el" href="group__DSDPConverge.html#gaaeaa2ec0c50c43f4499aaffea692ede8" title="Copy the current iteration number.">DSDPGetIts()</a> </dd></dl>

<p>Definition at line <a class="el" href="dsdpsetdata_8c_source.html#l00225">225</a> of file <a class="el" href="dsdpsetdata_8c_source.html">dsdpsetdata.c</a>.</p>

<p>Referenced by <a class="el" href="dsdpsetoptions_8c_source.html#l00190">DSDPView()</a>, and <a class="el" href="dsdp_8c_source.html#l00035">mexFunction()</a>.</p>

</div>
</div>
<a class="anchor" id="ga88aa3c65b2eb3699f6c2d203c3f11963"></a><!-- doxytag: member="dsdpx.c::DSDPGetPInfeasibility" ref="ga88aa3c65b2eb3699f6c2d203c3f11963" args="(DSDP dsdp, double *pperror)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPGetPInfeasibility </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>pperror</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copy the infeasibility in (P). </p>
<p>This infeasibility is the maximum difference between the values xl and xu correponding to the bounds on the variables y. Due to roundoff error, this number is usually much less than the true infeasiblity in (P). The true infeasibility is not available at each iteration due to its high computational cost.</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">*pperror</td><td>will be set to the infeasibility in (P) </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__DSDPSolver.html#gad73a74d9d294e87b58ad3a7e939a43ad" title="Bound the variables y.">DSDPSetYBounds()</a> </dd>
<dd>
<a class="el" href="group__DSDPConverge.html#gad0a3f0df89bd8b3e4b7fb1f6c738d330" title="Classify (P) as feasible only if the infeasibility is less than this tolerance.">DSDPSetPTolerance()</a> </dd></dl>

<p>Definition at line <a class="el" href="dsdpx_8c_source.html#l00343">343</a> of file <a class="el" href="dsdpx_8c_source.html">dsdpx.c</a>.</p>

<p>Referenced by <a class="el" href="dsdpprintout_8c_source.html#l00071">DSDPPrintStats()</a>.</p>

</div>
</div>
<a class="anchor" id="ga437edaa1a3a8fce5e9e4bef9452bc8d8"></a><!-- doxytag: member="dsdpconverge.c::DSDPGetPNormTolerance" ref="ga437edaa1a3a8fce5e9e4bef9452bc8d8" args="(DSDP dsdp, double *ptol)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPGetPNormTolerance </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>ptol</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the termination tolerance. </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">*ptol</td><td>will be set to the termination tolerance </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__DSDPSolution.html#gaaa2bb03bf7a025936b1d2cd619327a49" title="Copy the proximity of the solution to the central path.">DSDPGetPnorm()</a> </dd>
<dd>
<a class="el" href="group__DSDPConverge.html#ga56d725fd1a7e14c5294cb292c998193e" title="Terminate the solver when the relative duality gap is suffiently small and the PNorm is less than thi...">DSDPSetPNormTolerance()</a> </dd></dl>

<p>Definition at line <a class="el" href="dsdpconverge_8c_source.html#l00180">180</a> of file <a class="el" href="dsdpconverge_8c_source.html">dsdpconverge.c</a>.</p>

<p>Referenced by <a class="el" href="dsdpsetoptions_8c_source.html#l00190">DSDPView()</a>.</p>

</div>
</div>
<a class="anchor" id="ga8c3bf97d823880a151321f7c7c43aaf8"></a><!-- doxytag: member="dsdpx.c::DSDPGetPTolerance" ref="ga8c3bf97d823880a151321f7c7c43aaf8" args="(DSDP dsdp, double *inftol)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPGetPTolerance </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>inftol</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copy the feasibility tolerance. </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">*inftol</td><td>will be set to the infeasibility in (P) </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__DSDPSolver.html#gad73a74d9d294e87b58ad3a7e939a43ad" title="Bound the variables y.">DSDPSetYBounds()</a> </dd>
<dd>
<a class="el" href="group__DSDPConverge.html#ga88aa3c65b2eb3699f6c2d203c3f11963" title="Copy the infeasibility in (P).">DSDPGetPInfeasibility()</a> </dd>
<dd>
<a class="el" href="group__DSDPConverge.html#gad0a3f0df89bd8b3e4b7fb1f6c738d330" title="Classify (P) as feasible only if the infeasibility is less than this tolerance.">DSDPSetPTolerance()</a> </dd></dl>

<p>Definition at line <a class="el" href="dsdpx_8c_source.html#l00386">386</a> of file <a class="el" href="dsdpx_8c_source.html">dsdpx.c</a>.</p>

<p>Referenced by <a class="el" href="dsdpsetoptions_8c_source.html#l00190">DSDPView()</a>, and <a class="el" href="dsdp_8c_source.html#l00035">mexFunction()</a>.</p>

</div>
</div>
<a class="anchor" id="ga00cf375a40281f6f8a1b9bdfee7a6ff1"></a><!-- doxytag: member="dsdpconverge.c::DSDPGetRHistory" ref="ga00cf375a40281f6f8a1b9bdfee7a6ff1" args="(DSDP dsdp, double hist[], int length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPGetRHistory </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>hist</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>length</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copy a history of the infeasibility in (D) into an array. </p>
<p>Elememt i of the array will be set the the infeasibility in (D) at iteration i (unless i exceeds the length of the array)</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">hist</td><td>is an array </td></tr>
    <tr><td class="paramname">length</td><td>is the length of the array </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__DSDPSolution.html#gacfa8e29ecd7eaaeb6a4e31eb07961de3" title="Copy the infeasibility in (D), or the variable r in (DD).">DSDPGetR()</a> </dd>
<dd>
<a class="el" href="group__DSDPConverge.html#ga7c5018d2263675ce962dedc787155ed1" title="Copy a history of the duality gap into an array.">DSDPGetGapHistory()</a> </dd></dl>

<p>Definition at line <a class="el" href="dsdpconverge_8c_source.html#l00298">298</a> of file <a class="el" href="dsdpconverge_8c_source.html">dsdpconverge.c</a>.</p>

<p>Referenced by <a class="el" href="dsdp_8c_source.html#l00035">mexFunction()</a>.</p>

</div>
</div>
<a class="anchor" id="ga48cc08979850c048b38d7f1fd423deec"></a><!-- doxytag: member="dsdpx.c::DSDPGetRTolerance" ref="ga48cc08979850c048b38d7f1fd423deec" args="(DSDP dsdp, double *inftol)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPGetRTolerance </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>inftol</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copy the maximum infeasibility allowed (D). </p>
<p>DSDP will classify the solution to (D) as feasible only if the variable r in (DD) is less than this tolerance. Small values for r are enforced through a penalty parameter.</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">*inftol</td><td>will be set to the tolerance for r in (DD) </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__DSDPSolver.html#gaaccdf7c94e0296bc83042ba3d4b29c5d" title="Set the penalty parameter Gamma.">DSDPSetPenaltyParameter()</a> </dd>
<dd>
<a class="el" href="group__DSDPSolution.html#gacfa8e29ecd7eaaeb6a4e31eb07961de3" title="Copy the infeasibility in (D), or the variable r in (DD).">DSDPGetR()</a> </dd>
<dd>
<a class="el" href="group__DSDPConverge.html#ga8fa9a4a362aaa64e12538a55f215e8ce" title="Classify (D) as feasible only if the variable r is less than this tolerance.">DSDPSetRTolerance()</a> </dd></dl>

<p>Definition at line <a class="el" href="dsdpx_8c_source.html#l00434">434</a> of file <a class="el" href="dsdpx_8c_source.html">dsdpx.c</a>.</p>

<p>Referenced by <a class="el" href="dsdpconverge_8c_source.html#l00026">DSDPDefaultConvergence()</a>, <a class="el" href="dsdpsetoptions_8c_source.html#l00190">DSDPView()</a>, and <a class="el" href="dsdp_8c_source.html#l00035">mexFunction()</a>.</p>

</div>
</div>
<a class="anchor" id="gabbef47d1ecf58ee77ac463168aa14afb"></a><!-- doxytag: member="dsdpconverge.c::DSDPGetStepTolerance" ref="gabbef47d1ecf58ee77ac463168aa14afb" args="(DSDP dsdp, double *steptol)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPGetStepTolerance </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>steptol</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the current tolerance. </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">*steptol</td><td>will be set to the current tolerance </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__DSDPConverge.html#ga8ae6cff50eca02c3452fa92ae0fea2ec" title="Terminate the solver if the step length in (DD) is below this tolerance.">DSDPSetStepTolerance()</a> </dd>
<dd>
<a class="el" href="group__DSDPSolution.html#gadf4655c90ede45912f2e4ce7f4475cad" title="Copy the step sizes in the current iteration.">DSDPGetStepLengths()</a> </dd></dl>

<p>Definition at line <a class="el" href="dsdpconverge_8c_source.html#l00273">273</a> of file <a class="el" href="dsdpconverge_8c_source.html">dsdpconverge.c</a>.</p>

<p>Referenced by <a class="el" href="dsdpsetoptions_8c_source.html#l00190">DSDPView()</a>, and <a class="el" href="dsdp_8c_source.html#l00035">mexFunction()</a>.</p>

</div>
</div>
<a class="anchor" id="ga1293e76a2fb57bd963713c3df7e88221"></a><!-- doxytag: member="dsdpsetdata.c::DSDPSetConvergenceFlag" ref="ga1293e76a2fb57bd963713c3df7e88221" args="(DSDP dsdp, DSDPTerminationReason reason)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPSetConvergenceFlag </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="dsdpbasictypes_8h.html#a2a68c4cccb1289043bf9b59a58f55b3a">DSDPTerminationReason</a>&#160;</td>
          <td class="paramname"><em>reason</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Monitor each iteration of the solver. </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">reason</td><td>is the termination reason </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__DSDPConverge.html#ga637bf541e030c5aef4d436a9792714a2" title="Copy the reason why the solver terminated.">DSDPStopReason()</a> </dd></dl>

<p>Definition at line <a class="el" href="dsdpsetdata_8c_source.html#l00968">968</a> of file <a class="el" href="dsdpsetdata_8c_source.html">dsdpsetdata.c</a>.</p>

<p>Referenced by <a class="el" href="dsdpsetup_8c_source.html#l00384">DSDPCheckConvergence()</a>, <a class="el" href="dualalg_8c_source.html#l00370">DSDPComputeDualStepDirections()</a>, <a class="el" href="dsdpx_8c_source.html#l00055">DSDPComputeX()</a>, <a class="el" href="dsdpconverge_8c_source.html#l00026">DSDPDefaultConvergence()</a>, <a class="el" href="dualalg_8c_source.html#l00475">DSDPInitializeVariables()</a>, and <a class="el" href="dsdpsetup_8c_source.html#l00343">DSDPSolve()</a>.</p>

</div>
</div>
<a class="anchor" id="ga94030b5b04c4ad178282245deb609f78"></a><!-- doxytag: member="dsdpconverge.c::DSDPSetDualBound" ref="ga94030b5b04c4ad178282245deb609f78" args="(DSDP dsdp, double dbound)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPSetDualBound </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>dbound</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Terminate the solver if the objective value in (DD) is greater than this tolerance. </p>
<p>This parameter is helpful in branch and bound applictions.</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">dbound</td><td>is the bound </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__DSDPConverge.html#gaa84852abdc5e8f4dcef46748f8c7e4d0" title="Get the termination parameter.">DSDPGetDualBound()</a> </dd>
<dd>
<a class="el" href="group__DSDPSolution.html#gadb9e055ef8b2194ae67ed14ca06f1d01" title="Copy the objective value (DD).">DSDPGetDDObjective()</a> </dd>
<dd>
<a class="el" href="dsdpbasictypes_8h.html#a2a68c4cccb1289043bf9b59a58f55b3aa3cf44a69251d45275e6c6564f08b3e08">DSDP_UPPERBOUND</a> </dd></dl>

<p>Definition at line <a class="el" href="dsdpconverge_8c_source.html#l00205">205</a> of file <a class="el" href="dsdpconverge_8c_source.html">dsdpconverge.c</a>.</p>

<p>Referenced by <a class="el" href="dsdpsetup_8c_source.html#l00122">DSDPSetDefaultParameters()</a>, <a class="el" href="dsdpsetoptions_8c_source.html#l00046">DSDPSetOptions()</a>, and <a class="el" href="dsdp_8c_source.html#l00035">mexFunction()</a>.</p>

</div>
</div>
<a class="anchor" id="ga4c0fa6941c40cca7643c2f4a9ae813bf"></a><!-- doxytag: member="dsdpconverge.c::DSDPSetGapTolerance" ref="ga4c0fa6941c40cca7643c2f4a9ae813bf" args="(DSDP dsdp, double gaptol)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPSetGapTolerance </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>gaptol</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Terminate the solver when the relative duality gap is less than this tolerance. </p>
<p>If pp is the objective value of (PP) and dd is the objective value of (DD), the relative duality gap is defined to be (pp-dd)/(1 + fabs(pp)/2 + fabs(dd)/2);</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">gaptol</td><td>is the tolerance </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__DSDPConverge.html#ga876bd5084bfd1b62eb37211d4bcf188e" title="Get the termination tolerance.">DSDPGetGapTolerance()</a> </dd>
<dd>
<a class="el" href="dsdpbasictypes_8h.html#a2a68c4cccb1289043bf9b59a58f55b3aa9d1d9628ba1a342cc5403338bc84ae6b">DSDP_CONVERGED</a> </dd></dl>

<p>Definition at line <a class="el" href="dsdpconverge_8c_source.html#l00110">110</a> of file <a class="el" href="dsdpconverge_8c_source.html">dsdpconverge.c</a>.</p>

<p>Referenced by <a class="el" href="dsdpsetup_8c_source.html#l00122">DSDPSetDefaultParameters()</a>, <a class="el" href="dsdpsetoptions_8c_source.html#l00046">DSDPSetOptions()</a>, <a class="el" href="theta_8c_source.html#l00056">LovaszTheta()</a>, <a class="el" href="maxcut_8c_source.html#l00051">MaxCut()</a>, <a class="el" href="dsdp_8c_source.html#l00035">mexFunction()</a>, <a class="el" href="readsdpa_8c_source.html#l00080">ReadSDPAFile()</a>, and <a class="el" href="stable_8c_source.html#l00040">StableSet()</a>.</p>

</div>
</div>
<a class="anchor" id="ga91af478f9316391a35b595b669ad22b3"></a><!-- doxytag: member="dsdpsetdata.c::DSDPSetMaxIts" ref="ga91af478f9316391a35b595b669ad22b3" args="(DSDP dsdp, int its)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPSetMaxIts </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">int&#160;</td>
          <td class="paramname"><em>maxits</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Terminate the solver after this number of iterations. </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">maxits</td><td>is the maximum number of DSDP iterations (&gt;0) </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__DSDPConverge.html#gac98359685ab5aad73ed95e335fcb21ab" title="Copy the maximum number of iterations from the solver.">DSDPGetMaxIts()</a> </dd>
<dd>
<a class="el" href="group__DSDPConverge.html#gaaeaa2ec0c50c43f4499aaffea692ede8" title="Copy the current iteration number.">DSDPGetIts()</a> </dd>
<dd>
<a class="el" href="group__DSDPConverge.html#ga4c0fa6941c40cca7643c2f4a9ae813bf" title="Terminate the solver when the relative duality gap is less than this tolerance.">DSDPSetGapTolerance()</a> </dd></dl>

<p>Definition at line <a class="el" href="dsdpsetdata_8c_source.html#l00206">206</a> of file <a class="el" href="dsdpsetdata_8c_source.html">dsdpsetdata.c</a>.</p>

<p>Referenced by <a class="el" href="dsdpsetup_8c_source.html#l00122">DSDPSetDefaultParameters()</a>, <a class="el" href="dsdpsetoptions_8c_source.html#l00046">DSDPSetOptions()</a>, and <a class="el" href="dsdp_8c_source.html#l00035">mexFunction()</a>.</p>

</div>
</div>
<a class="anchor" id="ga56d725fd1a7e14c5294cb292c998193e"></a><!-- doxytag: member="dsdpconverge.c::DSDPSetPNormTolerance" ref="ga56d725fd1a7e14c5294cb292c998193e" args="(DSDP dsdp, double ptol)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPSetPNormTolerance </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>ptol</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Terminate the solver when the relative duality gap is suffiently small and the PNorm is less than this quantity. Smaller values imply the final solution will be nearer to the central path. </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">ptol</td><td>is the tolerance, (&gt;0, default is very big) </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__DSDPSolution.html#gaaa2bb03bf7a025936b1d2cd619327a49" title="Copy the proximity of the solution to the central path.">DSDPGetPnorm()</a> </dd>
<dd>
<a class="el" href="group__DSDPConverge.html#ga437edaa1a3a8fce5e9e4bef9452bc8d8" title="Get the termination tolerance.">DSDPGetPNormTolerance()</a> </dd>
<dd>
<a class="el" href="group__DSDPConverge.html#ga4c0fa6941c40cca7643c2f4a9ae813bf" title="Terminate the solver when the relative duality gap is less than this tolerance.">DSDPSetGapTolerance()</a> </dd>
<dd>
<a class="el" href="dsdpbasictypes_8h.html#a2a68c4cccb1289043bf9b59a58f55b3aa9d1d9628ba1a342cc5403338bc84ae6b">DSDP_CONVERGED</a> </dd></dl>

<p>Definition at line <a class="el" href="dsdpconverge_8c_source.html#l00158">158</a> of file <a class="el" href="dsdpconverge_8c_source.html">dsdpconverge.c</a>.</p>

<p>Referenced by <a class="el" href="dsdpsetup_8c_source.html#l00122">DSDPSetDefaultParameters()</a>, <a class="el" href="dsdpsetoptions_8c_source.html#l00046">DSDPSetOptions()</a>, <a class="el" href="maxcut_8c_source.html#l00051">MaxCut()</a>, and <a class="el" href="dsdp_8c_source.html#l00035">mexFunction()</a>.</p>

</div>
</div>
<a class="anchor" id="gad0a3f0df89bd8b3e4b7fb1f6c738d330"></a><!-- doxytag: member="dsdpx.c::DSDPSetPTolerance" ref="gad0a3f0df89bd8b3e4b7fb1f6c738d330" args="(DSDP dsdp, double inftol)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPSetPTolerance </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>inftol</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Classify (P) as feasible only if the infeasibility is less than this tolerance. </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">inftol</td><td>will be set to the infeasibility in (P) (&gt;0) </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__DSDPSolver.html#gad73a74d9d294e87b58ad3a7e939a43ad" title="Bound the variables y.">DSDPSetYBounds()</a> </dd>
<dd>
<a class="el" href="group__DSDPConverge.html#ga88aa3c65b2eb3699f6c2d203c3f11963" title="Copy the infeasibility in (P).">DSDPGetPInfeasibility()</a> </dd>
<dd>
<a class="el" href="group__DSDPConverge.html#ga8c3bf97d823880a151321f7c7c43aaf8" title="Copy the feasibility tolerance.">DSDPGetPTolerance()</a> </dd>
<dd>
<a class="el" href="group__DSDPConverge.html#ga48cc08979850c048b38d7f1fd423deec" title="Copy the maximum infeasibility allowed (D).">DSDPGetRTolerance()</a> </dd>
<dd>
<a class="el" href="dsdpbasictypes_8h.html#a7c124046b4ddae3d637157242af2df90" title="Formulations (P) and (D) can be feasible and bounded, feasible and unbounded, or infeasible.">DSDPSolutionType</a> </dd></dl>

<p>Definition at line <a class="el" href="dsdpx_8c_source.html#l00365">365</a> of file <a class="el" href="dsdpx_8c_source.html">dsdpx.c</a>.</p>

<p>Referenced by <a class="el" href="dsdpsetup_8c_source.html#l00122">DSDPSetDefaultParameters()</a>, <a class="el" href="dsdpsetoptions_8c_source.html#l00046">DSDPSetOptions()</a>, and <a class="el" href="dsdp_8c_source.html#l00035">mexFunction()</a>.</p>

</div>
</div>
<a class="anchor" id="ga8fa9a4a362aaa64e12538a55f215e8ce"></a><!-- doxytag: member="dsdpx.c::DSDPSetRTolerance" ref="ga8fa9a4a362aaa64e12538a55f215e8ce" args="(DSDP dsdp, double inftol)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPSetRTolerance </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>inftol</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Classify (D) as feasible only if the variable r is less than this tolerance. </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">inftol</td><td>is the tolerance (&gt;0) </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__DSDPSolver.html#gaaccdf7c94e0296bc83042ba3d4b29c5d" title="Set the penalty parameter Gamma.">DSDPSetPenaltyParameter()</a> </dd>
<dd>
<a class="el" href="group__DSDPSolution.html#gacfa8e29ecd7eaaeb6a4e31eb07961de3" title="Copy the infeasibility in (D), or the variable r in (DD).">DSDPGetR()</a> </dd>
<dd>
<a class="el" href="group__DSDPConverge.html#ga48cc08979850c048b38d7f1fd423deec" title="Copy the maximum infeasibility allowed (D).">DSDPGetRTolerance()</a> </dd>
<dd>
<a class="el" href="dsdpbasictypes_8h.html#a7c124046b4ddae3d637157242af2df90" title="Formulations (P) and (D) can be feasible and bounded, feasible and unbounded, or infeasible.">DSDPSolutionType</a> </dd></dl>

<p>Definition at line <a class="el" href="dsdpx_8c_source.html#l00409">409</a> of file <a class="el" href="dsdpx_8c_source.html">dsdpx.c</a>.</p>

<p>Referenced by <a class="el" href="dsdpsetup_8c_source.html#l00122">DSDPSetDefaultParameters()</a>, <a class="el" href="dsdpsetoptions_8c_source.html#l00046">DSDPSetOptions()</a>, and <a class="el" href="dsdp_8c_source.html#l00035">mexFunction()</a>.</p>

</div>
</div>
<a class="anchor" id="ga8ae6cff50eca02c3452fa92ae0fea2ec"></a><!-- doxytag: member="dsdpconverge.c::DSDPSetStepTolerance" ref="ga8ae6cff50eca02c3452fa92ae0fea2ec" args="(DSDP dsdp, double steptol)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPSetStepTolerance </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>steptol</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Terminate the solver if the step length in (DD) is below this tolerance. </p>
<p>This heuristic will only be applied when the objective values in (PP) and (DD) match to three significant digits.</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">steptol</td><td>is the tolerance </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__DSDPConverge.html#gabbef47d1ecf58ee77ac463168aa14afb" title="Get the current tolerance.">DSDPGetStepTolerance()</a> </dd>
<dd>
<a class="el" href="group__DSDPSolution.html#gadf4655c90ede45912f2e4ce7f4475cad" title="Copy the step sizes in the current iteration.">DSDPGetStepLengths()</a> </dd>
<dd>
<a class="el" href="dsdpbasictypes_8h.html#a2a68c4cccb1289043bf9b59a58f55b3aaaae024f404b3e21b95c40583917f1c5f">DSDP_SMALL_STEPS</a> </dd></dl>

<p>Definition at line <a class="el" href="dsdpconverge_8c_source.html#l00252">252</a> of file <a class="el" href="dsdpconverge_8c_source.html">dsdpconverge.c</a>.</p>

<p>Referenced by <a class="el" href="dsdpsetup_8c_source.html#l00122">DSDPSetDefaultParameters()</a>, <a class="el" href="dsdpsetoptions_8c_source.html#l00046">DSDPSetOptions()</a>, and <a class="el" href="dsdp_8c_source.html#l00035">mexFunction()</a>.</p>

</div>
</div>
<a class="anchor" id="ga637bf541e030c5aef4d436a9792714a2"></a><!-- doxytag: member="dsdpsetdata.c::DSDPStopReason" ref="ga637bf541e030c5aef4d436a9792714a2" args="(DSDP dsdp, DSDPTerminationReason *reason)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPStopReason </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="dsdpbasictypes_8h.html#a2a68c4cccb1289043bf9b59a58f55b3a">DSDPTerminationReason</a> *&#160;</td>
          <td class="paramname"><em>reason</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copy the reason why the solver terminated. </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">*reason</td><td>will be set to the proper enumerated type. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__DSDPConverge.html#ga91af478f9316391a35b595b669ad22b3" title="Terminate the solver after this number of iterations.">DSDPSetMaxIts()</a> </dd>
<dd>
<a class="el" href="group__DSDPConverge.html#ga4c0fa6941c40cca7643c2f4a9ae813bf" title="Terminate the solver when the relative duality gap is less than this tolerance.">DSDPSetGapTolerance()</a> </dd></dl>

<p>Definition at line <a class="el" href="dsdpsetdata_8c_source.html#l00582">582</a> of file <a class="el" href="dsdpsetdata_8c_source.html">dsdpsetdata.c</a>.</p>

<p>Referenced by <a class="el" href="dsdpsetup_8c_source.html#l00384">DSDPCheckConvergence()</a>, <a class="el" href="dsdpx_8c_source.html#l00055">DSDPComputeX()</a>, <a class="el" href="dsdpconverge_8c_source.html#l00026">DSDPDefaultConvergence()</a>, <a class="el" href="dsdpprintout_8c_source.html#l00071">DSDPPrintStats()</a>, <a class="el" href="maxcut_8c_source.html#l00051">MaxCut()</a>, <a class="el" href="dsdp_8c_source.html#l00035">mexFunction()</a>, <a class="el" href="color_8c_source.html#l00039">MinColoring()</a>, and <a class="el" href="readsdpa_8c_source.html#l00080">ReadSDPAFile()</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>