Sophie

Sophie

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

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/dsdp.h 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="#nested-classes">Data Structures</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">dsdp.h File Reference</div>  </div>
</div>
<div class="contents">

<p>Internal data structure for the DSDP solver.  
<a href="#details">More...</a></p>

<p><a href="dsdp_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDSDP__C.html">DSDP_C</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal structures for the DSDP solver.  <a href="structDSDP__C.html#details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct RDCone *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#aad5dc1d467db3c4aaea877c5bd2727af">RRCone</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Cone with nonnegativity on variable r.  <a href="#aad5dc1d467db3c4aaea877c5bd2727af"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct LUBounds_C *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#a63fb1fe4854374fdf86be5d0db674334">YBoundCone</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Cone with bounds on variables y.  <a href="#a63fb1fe4854374fdf86be5d0db674334"></a><br/></td></tr>
<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="dsdp_8h.html#adaf0558eb486a8be3f3e651e045798b9">BoundYConeGetBounds</a> (<a class="el" href="dsdp_8h.html#a63fb1fe4854374fdf86be5d0db674334">YBoundCone</a>, double *, double *)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get bounds on the variables.  <a href="#adaf0558eb486a8be3f3e651e045798b9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#a5cf19c2270b8ff147f861e24cebf6263">BoundYConeSetBounds</a> (<a class="el" href="dsdp_8h.html#a63fb1fe4854374fdf86be5d0db674334">YBoundCone</a>, double, double)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set bounds on the variables.  <a href="#a5cf19c2270b8ff147f861e24cebf6263"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#a4e27e7414827a3737eb8a22456e0a9db">DSDPCGSolve</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, <a class="el" href="structDSDPSchurMat__C.html">DSDPSchurMat</a>, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>, double, <a class="el" href="dsdpbasictypes_8h.html#ae667f2bff3ab5ab0bc109fa76dc4ed65">DSDPTruth</a> *)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Apply CG to solve for the step directions.  <a href="#a4e27e7414827a3737eb8a22456e0a9db"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#ab3333e00f0dc3e9baa879b6d32e46acb">DSDPCheckConvergence</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, <a class="el" href="dsdpbasictypes_8h.html#a2a68c4cccb1289043bf9b59a58f55b3a">DSDPTerminationReason</a> *)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Check for convergence and monitor solution.  <a href="#ab3333e00f0dc3e9baa879b6d32e46acb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#a4f78e03b432425021752f660a87cb480">DSDPComputeANorm2</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute norm of A and C.  <a href="#a4f78e03b432425021752f660a87cb480"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#aa4a55b45b5eed1dcf620f6b30b422ce8">DSDPComputeDataNorms</a> (<a class="el" href="structDSDP__C.html">DSDP</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute norms of A,C, and b.  <a href="#aa4a55b45b5eed1dcf620f6b30b422ce8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#a5cad8f283551874464395089d3aa76b0">DSDPComputeDualityGap</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, double, double *)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the current duality gap.  <a href="#a5cad8f283551874464395089d3aa76b0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#addddb60ed549d438c2a4a0782601094a">DSDPComputeDualStepDirections</a> (<a class="el" href="structDSDP__C.html">DSDP</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the step direction by computing a linear system and solving it.  <a href="#addddb60ed549d438c2a4a0782601094a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#ab857999f0834880cea633350bd673f2e">DSDPComputeDY</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, double, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>, double *)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the step direction.  <a href="#ab857999f0834880cea633350bd673f2e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#a1fefd0ba066603f3c6adff17b06583d4">DSDPComputeG</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the gradient of the barrier for each cone.  <a href="#a1fefd0ba066603f3c6adff17b06583d4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#a2ceab284bd7f378ae4da0c3b01362d8b">DSDPComputeHessian</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, <a class="el" href="structDSDPSchurMat__C.html">DSDPSchurMat</a>, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the Schur complement, or Gram, matrix for each cone.  <a href="#a2ceab284bd7f378ae4da0c3b01362d8b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#a365ab3f361a5bf6770a8276e7ea2be41">DSDPComputeLogSDeterminant</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, double *)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the logarithmic barrier function for the dual varialbe S.  <a href="#a365ab3f361a5bf6770a8276e7ea2be41"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#acd9df2e3c28389c1a0c29ea05bcc73ee">DSDPComputeMaxStepLength</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>, <a class="el" href="dsdpbasictypes_8h.html#ae47666e7e5d77002110e20ef9ebb634b">DSDPDualFactorMatrix</a>, double *)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the maximum step length for the given step direction.  <a href="#acd9df2e3c28389c1a0c29ea05bcc73ee"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#a52e26571b924b453d5359a32fbcdb469">DSDPComputeNewY</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, double, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Update the Y variables.  <a href="#a52e26571b924b453d5359a32fbcdb469"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#a7024b7b5dbbc5914d29e5ac7a1eba545">DSDPComputeObjective</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>, double *)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the objective function (DD).  <a href="#a7024b7b5dbbc5914d29e5ac7a1eba545"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#a8cb81d731067999f226e1999d3ddfa9e">DSDPComputePDY</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, double, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>, double *)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the step direction.  <a href="#a8cb81d731067999f226e1999d3ddfa9e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#abc6cd551af4104fb327a5a411908e303">DSDPComputePDY1</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, double, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute an affine step direction dy1.  <a href="#abc6cd551af4104fb327a5a411908e303"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#a73cd29fb4b7bf78f8bb0454d17d2bf27">DSDPComputePNorm</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, double, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>, double *)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute proximity to a point on the central path.  <a href="#a73cd29fb4b7bf78f8bb0454d17d2bf27"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#ad744efbd87d4166f470ecae129535533">DSDPComputePotential</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>, double, double *)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the potential of the given point.  <a href="#ad744efbd87d4166f470ecae129535533"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#a021e787b6bab6efdc2fda0230dfe633c">DSDPComputePotential2</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>, double, double, double *)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the objective function plus the barrier function.  <a href="#a021e787b6bab6efdc2fda0230dfe633c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#ac068c96b0701cef420a6ef074690acbd">DSDPComputePY</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, double, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute PY = Y - beta DY for use in computing X.  <a href="#ac068c96b0701cef420a6ef074690acbd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#a2291b15b24f36be603dbca274db5997f">DSDPComputeRHS</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, double, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>)</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="#a2291b15b24f36be603dbca274db5997f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#a0866ec107b5c60afbec8a9bda9caa22d">DSDPComputeSS</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>, <a class="el" href="dsdpbasictypes_8h.html#ae47666e7e5d77002110e20ef9ebb634b">DSDPDualFactorMatrix</a>, <a class="el" href="dsdpbasictypes_8h.html#ae667f2bff3ab5ab0bc109fa76dc4ed65">DSDPTruth</a> *)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the dual variables S in each cone.  <a href="#a0866ec107b5c60afbec8a9bda9caa22d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#a871c5d28852a40e2593f75e635855296">DSDPComputeXVariables</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, double, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>, double *)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the X variables in each cone.  <a href="#a871c5d28852a40e2593f75e635855296"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#aece0a855c7a8b64fafad1d46dfec5a92">DSDPCreateLUBoundsCone</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, <a class="el" href="dsdp_8h.html#a63fb1fe4854374fdf86be5d0db674334">YBoundCone</a> *)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Create bounds cone.  <a href="#aece0a855c7a8b64fafad1d46dfec5a92"></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#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="group__DSDPConverge.html#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="dsdp_8h.html#adeaefde55edd2502a9eaae479d337fbf">DSDPDestroyCones</a> (<a class="el" href="structDSDP__C.html">DSDP</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Each cone shoudl free its data structures.  <a href="#adeaefde55edd2502a9eaae479d337fbf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#ad36ddc31c51eafafc6bf915e54492259">DSDPGetConicDimension</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, double *)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the total dimension of the cones.  <a href="#ad36ddc31c51eafafc6bf915e54492259"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#a04dd4c7875c4c1d140093767c1f2a6f2">DSDPGetConvergenceMonitor</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, ConvergenceMonitor **)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the structure containing convergence parameters.  <a href="#a04dd4c7875c4c1d140093767c1f2a6f2"></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__DSDPSolution.html#gae2e8b2a5e1b71d699d753a045de95add">DSDPGetMaxYElement</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, double *)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy the the infinity norm of the variables y.  <a href="group__DSDPSolution.html#gae2e8b2a5e1b71d699d753a045de95add"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#af433c52034d6fcfdafe637e66851808c">DSDPGetRR</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, double *)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get variable r.  <a href="#af433c52034d6fcfdafe637e66851808c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#a9174f9ff18c7b5ccaa0550f12b22ab5a">DSDPHessianMultiplyAdd</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Add the product of Schur matrix with v.  <a href="#a9174f9ff18c7b5ccaa0550f12b22ab5a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#ae27ce4d0697371c7cef4db8fedb7c37e">DSDPInitializeVariables</a> (<a class="el" href="structDSDP__C.html">DSDP</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize variables and factor S.  <a href="#ae27ce4d0697371c7cef4db8fedb7c37e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#a4a52d63cd2860f6737c4c89409656866">DSDPInvertS</a> (<a class="el" href="structDSDP__C.html">DSDP</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Invert the S variables in each cone.  <a href="#a4a52d63cd2860f6737c4c89409656866"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#a7026470fc2bdbe37a0115250883a7f1e">DSDPMonitorCones</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, int)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This routine is called once per iteration.  <a href="#a7026470fc2bdbe37a0115250883a7f1e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#a3d8e928c37fdc4ffc624f204930b29c1">DSDPObjectiveGH</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, <a class="el" href="structDSDPSchurMat__C.html">DSDPSchurMat</a>, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradient of dual objective.  <a href="#a3d8e928c37fdc4ffc624f204930b29c1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#a4d28c58bb5605d6636c6a425c10bf9ea">DSDPPassXVectors</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, double, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Pass the information needed to compute the variables X in each cone but do not compute X.  <a href="#a4d28c58bb5605d6636c6a425c10bf9ea"></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__DSDPSolver.html#gafff1eae59a82f7d94915e6388a1c5fa9">DSDPPrintStats</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, void *)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Print statistics about the current solution to standard output.  <a href="group__DSDPSolver.html#gafff1eae59a82f7d94915e6388a1c5fa9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#acd704d80e2686ff321f3a63bc3c3b63f">DSDPSaveYForX</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, double, double)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Save the current solution for later computation of X.  <a href="#acd704d80e2686ff321f3a63bc3c3b63f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#a335ca9a49f2901cc0022224e0cee0adb">DSDPScaleData</a> (<a class="el" href="structDSDP__C.html">DSDP</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Scale the matrix C.  <a href="#a335ca9a49f2901cc0022224e0cee0adb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#a4116515642c1eb1c843b90aee3909cec">DSDPSchurSparsity</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, int, int[], int)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Each cone should print its state.  <a href="#a4116515642c1eb1c843b90aee3909cec"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#aa7ef8e73a60cea369a21c3acd004e8ab">DSDPSetCone</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, <a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Pass a cone to the DSDP solver.  <a href="#aa7ef8e73a60cea369a21c3acd004e8ab"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#a1ac0c165e2acf2e792cf39618e65038e">DSDPSetDefaultMonitors</a> (<a class="el" href="structDSDP__C.html">DSDP</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set convergence monitor.  <a href="#a1ac0c165e2acf2e792cf39618e65038e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#ac822ab1ff27bbc23f5ae4d7a14e593ee">DSDPSetDefaultParameters</a> (<a class="el" href="structDSDP__C.html">DSDP</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set default parameters.  <a href="#ac822ab1ff27bbc23f5ae4d7a14e593ee"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#a0aa7c1e1f948694ba1c3363f35ef9980">DSDPSetDefaultStatistics</a> (<a class="el" href="structDSDP__C.html">DSDP</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set default statistics.  <a href="#a0aa7c1e1f948694ba1c3363f35ef9980"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#a0f6f666ce8aa2c5a80a8ccfe105c6558">DSDPSetRR</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, double)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set variable r.  <a href="#a0f6f666ce8aa2c5a80a8ccfe105c6558"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#a122354cd946e3323df519ad58061de7c">DSDPSetUpCones</a> (<a class="el" href="structDSDP__C.html">DSDP</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Each cone should factor data or allocate internal data structures.  <a href="#a122354cd946e3323df519ad58061de7c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#aee3443bb7583964d908c57096572318d">DSDPSetUpCones2</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>, <a class="el" href="structDSDPSchurMat__C.html">DSDPSchurMat</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Each cone should allocate its data structures .  <a href="#aee3443bb7583964d908c57096572318d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#afc317ccad82c19d57f4ffc60812749b5">DSDPSetY</a> (<a class="el" href="structDSDP__C.html">DSDP</a>, double, double, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Update the solver with these y variables.  <a href="#afc317ccad82c19d57f4ffc60812749b5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#a966c193bf736a9e5320f9ddc10e0d767">DSDPSolveDynamicRho</a> (<a class="el" href="structDSDP__C.html">DSDP</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Apply dual-scaling algorithm.  <a href="#a966c193bf736a9e5320f9ddc10e0d767"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#af722e26f3bbe2a11c0bbfa7073c535d7">DSDPTakeDown</a> (<a class="el" href="structDSDP__C.html">DSDP</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy internal data structures.  <a href="#af722e26f3bbe2a11c0bbfa7073c535d7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdp_8h.html#a7fa00d4f9f0ecb5c8e7890ec7cfdc44d">DSDPViewCones</a> (<a class="el" href="structDSDP__C.html">DSDP</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Each cone should print its state.  <a href="#a7fa00d4f9f0ecb5c8e7890ec7cfdc44d"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Internal data structure for the DSDP solver. </p>

<p>Definition in file <a class="el" href="dsdp_8h_source.html">dsdp.h</a>.</p>
</div><hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="aad5dc1d467db3c4aaea877c5bd2727af"></a><!-- doxytag: member="dsdp.h::RRCone" ref="aad5dc1d467db3c4aaea877c5bd2727af" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct RDCone * <a class="el" href="dsdp_8h.html#aad5dc1d467db3c4aaea877c5bd2727af">RRCone</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Cone with nonnegativity on variable r. </p>

<p>Definition at line <a class="el" href="dsdp_8h_source.html#l00024">24</a> of file <a class="el" href="dsdp_8h_source.html">dsdp.h</a>.</p>

</div>
</div>
<a class="anchor" id="a63fb1fe4854374fdf86be5d0db674334"></a><!-- doxytag: member="dsdp.h::YBoundCone" ref="a63fb1fe4854374fdf86be5d0db674334" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct LUBounds_C * <a class="el" href="dsdp_8h.html#a63fb1fe4854374fdf86be5d0db674334">YBoundCone</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Cone with bounds on variables y. </p>

<p>Definition at line <a class="el" href="dsdp_8h_source.html#l00018">18</a> of file <a class="el" href="dsdp_8h_source.html">dsdp.h</a>.</p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="adaf0558eb486a8be3f3e651e045798b9"></a><!-- doxytag: member="dsdp.h::BoundYConeGetBounds" ref="adaf0558eb486a8be3f3e651e045798b9" args="(YBoundCone, double *, double *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int BoundYConeGetBounds </td>
          <td>(</td>
          <td class="paramtype">LUBounds&#160;</td>
          <td class="paramname"><em>lucone</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>lb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>ub</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get bounds on the variables. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">lucone</td><td>cone of bounds. </td></tr>
    <tr><td class="paramname">lb</td><td>lower bound on variables. </td></tr>
    <tr><td class="paramname">ub</td><td>upper bound </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="allbounds_8c_source.html#l00532">532</a> of file <a class="el" href="allbounds_8c_source.html">allbounds.c</a>.</p>

<p>Referenced by <a class="el" href="dsdpsetdata_8c_source.html#l00866">DSDPGetYBounds()</a>.</p>

</div>
</div>
<a class="anchor" id="a5cf19c2270b8ff147f861e24cebf6263"></a><!-- doxytag: member="dsdp.h::BoundYConeSetBounds" ref="a5cf19c2270b8ff147f861e24cebf6263" args="(YBoundCone, double, double)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int BoundYConeSetBounds </td>
          <td>(</td>
          <td class="paramtype">LUBounds&#160;</td>
          <td class="paramname"><em>lucone</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>lb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>ub</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set bounds on the variables. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">lucone</td><td>cone of bounds. </td></tr>
    <tr><td class="paramname">lb</td><td>lower bound on variables. </td></tr>
    <tr><td class="paramname">ub</td><td>upper bound </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="allbounds_8c_source.html#l00512">512</a> of file <a class="el" href="allbounds_8c_source.html">allbounds.c</a>.</p>

<p>Referenced by <a class="el" href="allbounds_8c_source.html#l00566">DSDPCreateLUBoundsCone()</a>, and <a class="el" href="dsdpsetdata_8c_source.html#l00885">DSDPSetYBounds()</a>.</p>

</div>
</div>
<a class="anchor" id="a4e27e7414827a3737eb8a22456e0a9db"></a><!-- doxytag: member="dsdp.h::DSDPCGSolve" ref="a4e27e7414827a3737eb8a22456e0a9db" args="(DSDP, DSDPSchurMat, DSDPVec, DSDPVec, double, DSDPTruth *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPCGSolve </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>MM</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>, </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>X</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>cgtol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsdpbasictypes_8h.html#ae667f2bff3ab5ab0bc109fa76dc4ed65">DSDPTruth</a> *&#160;</td>
          <td class="paramname"><em>success</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Apply CG to solve for the step directions. </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">MM</td><td>matrix </td></tr>
    <tr><td class="paramname">RHS</td><td>right-hand side </td></tr>
    <tr><td class="paramname">X</td><td>solution </td></tr>
    <tr><td class="paramname">cgtol</td><td>accuracy </td></tr>
    <tr><td class="paramname">success</td><td>output whether a solution of suitable accuracy was found </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dsdpcg_8c_source.html#l00239">239</a> of file <a class="el" href="dsdpcg_8c_source.html">dsdpcg.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="ab3333e00f0dc3e9baa879b6d32e46acb"></a><!-- doxytag: member="dsdp.h::DSDPCheckConvergence" ref="ab3333e00f0dc3e9baa879b6d32e46acb" args="(DSDP, DSDPTerminationReason *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPCheckConvergence </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>Check for convergence and monitor solution. </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">reason</td><td>termination reason </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dsdpsetup_8c_source.html#l00384">384</a> of file <a class="el" href="dsdpsetup_8c_source.html">dsdpsetup.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="a4f78e03b432425021752f660a87cb480"></a><!-- doxytag: member="dsdp.h::DSDPComputeANorm2" ref="a4f78e03b432425021752f660a87cb480" args="(DSDP, DSDPVec)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPComputeANorm2 </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>Anorm2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute norm of A and C. </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">Anorm2</td><td>norm of data corresponding to each variable y. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dsdpcops_8c_source.html#l00246">246</a> of file <a class="el" href="dsdpcops_8c_source.html">dsdpcops.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="aa4a55b45b5eed1dcf620f6b30b422ce8"></a><!-- doxytag: member="dsdp.h::DSDPComputeDataNorms" ref="aa4a55b45b5eed1dcf620f6b30b422ce8" args="(DSDP)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPComputeDataNorms </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDSDP__C.html">DSDP</a>&#160;</td>
          <td class="paramname"><em>dsdp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute norms of A,C, and b. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dsdp</td><td>the solver </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dsdpsetup_8c_source.html#l00283">283</a> of file <a class="el" href="dsdpsetup_8c_source.html">dsdpsetup.c</a>.</p>

<p>Referenced by <a class="el" href="dsdpsetdata_8c_source.html#l00621">DSDPGetDataNorms()</a>, and <a class="el" href="dsdpsetup_8c_source.html#l00193">DSDPSetup()</a>.</p>

</div>
</div>
<a class="anchor" id="a5cad8f283551874464395089d3aa76b0"></a><!-- doxytag: member="dsdp.h::DSDPComputeDualityGap" ref="a5cad8f283551874464395089d3aa76b0" args="(DSDP, double, double *)" -->
<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="addddb60ed549d438c2a4a0782601094a"></a><!-- doxytag: member="dsdp.h::DSDPComputeDualStepDirections" ref="addddb60ed549d438c2a4a0782601094a" args="(DSDP)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPComputeDualStepDirections </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDSDP__C.html">DSDP</a>&#160;</td>
          <td class="paramname"><em>dsdp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute the step direction by computing a linear system and solving it. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dsdp</td><td>the solver</td></tr>
  </table>
  </dd>
</dl>
<p>DSDP first attempts unpreconditioned CG to the matrix. Once the number of iterations becomes too large, it swithes a CG preconditioned by the Cholesky factorization. Usually only one iteration of the preconditioned CG is necessary, but solutions with large norms and very precise solutions may require additional iterations. </p>

<p>Definition at line <a class="el" href="dualalg_8c_source.html#l00370">370</a> of file <a class="el" href="dualalg_8c_source.html">dualalg.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="ab857999f0834880cea633350bd673f2e"></a><!-- doxytag: member="dsdp.h::DSDPComputeDY" ref="ab857999f0834880cea633350bd673f2e" args="(DSDP, double, DSDPVec, double *)" -->
<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="a1fefd0ba066603f3c6adff17b06583d4"></a><!-- doxytag: member="dsdp.h::DSDPComputeG" ref="a1fefd0ba066603f3c6adff17b06583d4" args="(DSDP, DSDPVec, DSDPVec, DSDPVec)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPComputeG </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>vt</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>, </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>vrhs2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute the gradient of the barrier for each cone. </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">vt</td><td>scaling for each element in the next two vectors </td></tr>
    <tr><td class="paramname">vrhs1</td><td>scaled gradient of the objective function </td></tr>
    <tr><td class="paramname">vrhs2</td><td>scaled gradient of the barrier function </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dsdpcops_8c_source.html#l00215">215</a> of file <a class="el" href="dsdpcops_8c_source.html">dsdpcops.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="a2ceab284bd7f378ae4da0c3b01362d8b"></a><!-- doxytag: member="dsdp.h::DSDPComputeHessian" ref="a2ceab284bd7f378ae4da0c3b01362d8b" args="(DSDP, DSDPSchurMat, DSDPVec, DSDPVec)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPComputeHessian </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>, </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>vrhs2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute the Schur complement, or Gram, matrix for each cone. </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">M</td><td>matrix </td></tr>
    <tr><td class="paramname">vrhs1</td><td>gradient of objective (b) </td></tr>
    <tr><td class="paramname">vrhs2</td><td>gradient of barrier </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dsdpcops_8c_source.html#l00142">142</a> of file <a class="el" href="dsdpcops_8c_source.html">dsdpcops.c</a>.</p>

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

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

<p>Compute the logarithmic barrier function for the dual varialbe S. </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">logdet</td><td>evaluated barrier function</td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="dsdp_8h.html#a0866ec107b5c60afbec8a9bda9caa22d" title="Compute the dual variables S in each cone.">DSDPComputeSS()</a> </dd></dl>

<p>Definition at line <a class="el" href="dsdpcops_8c_source.html#l00495">495</a> of file <a class="el" href="dsdpcops_8c_source.html">dsdpcops.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>
<a class="anchor" id="acd9df2e3c28389c1a0c29ea05bcc73ee"></a><!-- doxytag: member="dsdp.h::DSDPComputeMaxStepLength" ref="acd9df2e3c28389c1a0c29ea05bcc73ee" args="(DSDP, DSDPVec, DSDPDualFactorMatrix, double *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPComputeMaxStepLength </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>DY</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsdpbasictypes_8h.html#ae47666e7e5d77002110e20ef9ebb634b">DSDPDualFactorMatrix</a>&#160;</td>
          <td class="paramname"><em>flag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>maxsteplength</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute the maximum step length for the given 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">DY</td><td>step direction </td></tr>
    <tr><td class="paramname">flag</td><td>primal or dual structure </td></tr>
    <tr><td class="paramname">maxsteplength</td><td>the minumum of maximums on each cone.</td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="dsdp_8h.html#a0866ec107b5c60afbec8a9bda9caa22d" title="Compute the dual variables S in each cone.">DSDPComputeSS()</a> </dd></dl>

<p>Definition at line <a class="el" href="dsdpcops_8c_source.html#l00336">336</a> of file <a class="el" href="dsdpcops_8c_source.html">dsdpcops.c</a>.</p>

<p>Referenced by <a class="el" href="dualalg_8c_source.html#l00240">DSDPChooseBarrierParameter()</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>
<a class="anchor" id="a52e26571b924b453d5359a32fbcdb469"></a><!-- doxytag: member="dsdp.h::DSDPComputeNewY" ref="a52e26571b924b453d5359a32fbcdb469" args="(DSDP, double, DSDPVec)" -->
<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="a7024b7b5dbbc5914d29e5ac7a1eba545"></a><!-- doxytag: member="dsdp.h::DSDPComputeObjective" ref="a7024b7b5dbbc5914d29e5ac7a1eba545" args="(DSDP, DSDPVec, double *)" -->
<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="a8cb81d731067999f226e1999d3ddfa9e"></a><!-- doxytag: member="dsdp.h::DSDPComputePDY" ref="a8cb81d731067999f226e1999d3ddfa9e" args="(DSDP, double, DSDPVec, double *)" -->
<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="abc6cd551af4104fb327a5a411908e303"></a><!-- doxytag: member="dsdp.h::DSDPComputePDY1" ref="abc6cd551af4104fb327a5a411908e303" args="(DSDP, double, DSDPVec)" -->
<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="a73cd29fb4b7bf78f8bb0454d17d2bf27"></a><!-- doxytag: member="dsdp.h::DSDPComputePNorm" ref="a73cd29fb4b7bf78f8bb0454d17d2bf27" args="(DSDP, double, DSDPVec, double *)" -->
<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="ad744efbd87d4166f470ecae129535533"></a><!-- doxytag: member="dsdp.h::DSDPComputePotential" ref="ad744efbd87d4166f470ecae129535533" args="(DSDP, DSDPVec, double, double *)" -->
<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="a021e787b6bab6efdc2fda0230dfe633c"></a><!-- doxytag: member="dsdp.h::DSDPComputePotential2" ref="a021e787b6bab6efdc2fda0230dfe633c" args="(DSDP, DSDPVec, double, double, double *)" -->
<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="ac068c96b0701cef420a6ef074690acbd"></a><!-- doxytag: member="dsdp.h::DSDPComputePY" ref="ac068c96b0701cef420a6ef074690acbd" args="(DSDP, double, DSDPVec)" -->
<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="a2291b15b24f36be603dbca274db5997f"></a><!-- doxytag: member="dsdp.h::DSDPComputeRHS" ref="a2291b15b24f36be603dbca274db5997f" args="(DSDP, double, DSDPVec)" -->
<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="a0866ec107b5c60afbec8a9bda9caa22d"></a><!-- doxytag: member="dsdp.h::DSDPComputeSS" ref="a0866ec107b5c60afbec8a9bda9caa22d" args="(DSDP, DSDPVec, DSDPDualFactorMatrix, DSDPTruth *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPComputeSS </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"><a class="el" href="dsdpbasictypes_8h.html#ae47666e7e5d77002110e20ef9ebb634b">DSDPDualFactorMatrix</a>&#160;</td>
          <td class="paramname"><em>flag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="dsdpbasictypes_8h.html#ae667f2bff3ab5ab0bc109fa76dc4ed65">DSDPTruth</a> *&#160;</td>
          <td class="paramname"><em>ispsdefinite</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute the dual variables S in each cone. </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">flag</td><td>primal or dual structure </td></tr>
    <tr><td class="paramname">ispsdefinite</td><td>DSDP_TRUE if a member of the cone, DSDP_FALSE otherwise. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dsdpcops_8c_source.html#l00272">272</a> of file <a class="el" href="dsdpcops_8c_source.html">dsdpcops.c</a>.</p>

<p>Referenced by <a class="el" href="dualalg_8c_source.html#l00240">DSDPChooseBarrierParameter()</a>, <a class="el" href="dualalg_8c_source.html#l00540">DSDPComputeAndFactorS()</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="dualalg_8c_source.html#l00121">DSDPSolveDynamicRho()</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>
<a class="anchor" id="a871c5d28852a40e2593f75e635855296"></a><!-- doxytag: member="dsdp.h::DSDPComputeXVariables" ref="a871c5d28852a40e2593f75e635855296" args="(DSDP, double, DSDPVec, DSDPVec, DSDPVec, double *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPComputeXVariables </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>xmakermu</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>xmakery</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>xmakerdy</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>AX</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>tracexs</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute the X variables in each cone. </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">xmakermu</td><td>barrier parameter </td></tr>
    <tr><td class="paramname">xmakery</td><td>input y variables </td></tr>
    <tr><td class="paramname">xmakerdy</td><td>input step direction </td></tr>
    <tr><td class="paramname">AX</td><td>output product of X and the data </td></tr>
    <tr><td class="paramname">tracexs</td><td>ouput inner product of X and S. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dsdpcops_8c_source.html#l00654">654</a> of file <a class="el" href="dsdpcops_8c_source.html">dsdpcops.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="aece0a855c7a8b64fafad1d46dfec5a92"></a><!-- doxytag: member="dsdp.h::DSDPCreateLUBoundsCone" ref="aece0a855c7a8b64fafad1d46dfec5a92" args="(DSDP, YBoundCone *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPCreateLUBoundsCone </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">LUBounds *&#160;</td>
          <td class="paramname"><em>dspcone</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create bounds cone. </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">dspcone</td><td>cone of bounds. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="allbounds_8c_source.html#l00566">566</a> of file <a class="el" href="allbounds_8c_source.html">allbounds.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="adeaefde55edd2502a9eaae479d337fbf"></a><!-- doxytag: member="dsdp.h::DSDPDestroyCones" ref="adeaefde55edd2502a9eaae479d337fbf" args="(DSDP)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPDestroyCones </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDSDP__C.html">DSDP</a>&#160;</td>
          <td class="paramname"><em>dsdp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Each cone shoudl free its data structures. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dsdp</td><td>the solver </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dsdpcops_8c_source.html#l00107">107</a> of file <a class="el" href="dsdpcops_8c_source.html">dsdpcops.c</a>.</p>

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

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

<p>Get the total dimension of the cones. </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">n</td><td>dimension </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dsdpcops_8c_source.html#l00401">401</a> of file <a class="el" href="dsdpcops_8c_source.html">dsdpcops.c</a>.</p>

<p>Referenced by <a class="el" href="dsdpsetup_8c_source.html#l00384">DSDPCheckConvergence()</a>, <a class="el" href="dsdpsetdata_8c_source.html#l00661">DSDPGetDimension()</a>, <a class="el" href="dsdpsetup_8c_source.html#l00193">DSDPSetup()</a>, and <a class="el" href="dsdpsetup_8c_source.html#l00428">DSDPTakeDown()</a>.</p>

</div>
</div>
<a class="anchor" id="a04dd4c7875c4c1d140093767c1f2a6f2"></a><!-- doxytag: member="dsdp.h::DSDPGetConvergenceMonitor" ref="a04dd4c7875c4c1d140093767c1f2a6f2" args="(DSDP, ConvergenceMonitor **)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPGetConvergenceMonitor </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">ConvergenceMonitor **&#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>Get the structure containing convergence parameters. </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">*ctx</td><td>will point to the structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="note"><dt><b>Note:</b></dt><dd>This structure part of the DSDP structure. </dd></dl>

<p>Definition at line <a class="el" href="dsdpsetup_8c_source.html#l00268">268</a> of file <a class="el" href="dsdpsetup_8c_source.html">dsdpsetup.c</a>.</p>

<p>Referenced by <a class="el" href="dsdpconverge_8c_source.html#l00227">DSDPGetDualBound()</a>, <a class="el" href="dsdpconverge_8c_source.html#l00321">DSDPGetGapHistory()</a>, <a class="el" href="dsdpconverge_8c_source.html#l00132">DSDPGetGapTolerance()</a>, <a class="el" href="dsdpconverge_8c_source.html#l00180">DSDPGetPNormTolerance()</a>, <a class="el" href="dsdpconverge_8c_source.html#l00298">DSDPGetRHistory()</a>, <a class="el" href="dsdpconverge_8c_source.html#l00273">DSDPGetStepTolerance()</a>, <a class="el" href="dsdpconverge_8c_source.html#l00205">DSDPSetDualBound()</a>, <a class="el" href="dsdpconverge_8c_source.html#l00110">DSDPSetGapTolerance()</a>, <a class="el" href="dsdpconverge_8c_source.html#l00158">DSDPSetPNormTolerance()</a>, and <a class="el" href="dsdpconverge_8c_source.html#l00252">DSDPSetStepTolerance()</a>.</p>

</div>
</div>
<a class="anchor" id="af433c52034d6fcfdafe637e66851808c"></a><!-- doxytag: member="dsdp.h::DSDPGetRR" ref="af433c52034d6fcfdafe637e66851808c" args="(DSDP, double *)" -->
<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="a9174f9ff18c7b5ccaa0550f12b22ab5a"></a><!-- doxytag: member="dsdp.h::DSDPHessianMultiplyAdd" ref="a9174f9ff18c7b5ccaa0550f12b22ab5a" args="(DSDP, DSDPVec, DSDPVec)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPHessianMultiplyAdd </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>v</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>vv</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add the product of Schur matrix with v. </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">v</td><td>input vector. </td></tr>
    <tr><td class="paramname">vv</td><td>product gradient of barrier </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dsdpcops_8c_source.html#l00188">188</a> of file <a class="el" href="dsdpcops_8c_source.html">dsdpcops.c</a>.</p>

</div>
</div>
<a class="anchor" id="ae27ce4d0697371c7cef4db8fedb7c37e"></a><!-- doxytag: member="dsdp.h::DSDPInitializeVariables" ref="ae27ce4d0697371c7cef4db8fedb7c37e" args="(DSDP)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPInitializeVariables </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDSDP__C.html">DSDP</a>&#160;</td>
          <td class="paramname"><em>dsdp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Initialize variables and factor S. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dsdp</td><td>the solver </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dualalg_8c_source.html#l00475">475</a> of file <a class="el" href="dualalg_8c_source.html">dualalg.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="a4a52d63cd2860f6737c4c89409656866"></a><!-- doxytag: member="dsdp.h::DSDPInvertS" ref="a4a52d63cd2860f6737c4c89409656866" args="(DSDP)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPInvertS </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDSDP__C.html">DSDP</a>&#160;</td>
          <td class="paramname"><em>dsdp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Invert the S variables in each cone. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dsdp</td><td>the solver</td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="dsdp_8h.html#a0866ec107b5c60afbec8a9bda9caa22d" title="Compute the dual variables S in each cone.">DSDPComputeSS()</a> </dd></dl>

<p>Definition at line <a class="el" href="dsdpcops_8c_source.html#l00307">307</a> of file <a class="el" href="dsdpcops_8c_source.html">dsdpcops.c</a>.</p>

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

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

<p>This routine is called once per iteration. </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">tag</td><td>allow for multiple monitors</td></tr>
  </table>
  </dd>
</dl>
<p>The cone can print statistics, visualize data, terminate solver, or whatever it wants. </p>

<p>Definition at line <a class="el" href="dsdpcops_8c_source.html#l00450">450</a> of file <a class="el" href="dsdpcops_8c_source.html">dsdpcops.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="a3d8e928c37fdc4ffc624f204930b29c1"></a><!-- doxytag: member="dsdp.h::DSDPObjectiveGH" ref="a3d8e928c37fdc4ffc624f204930b29c1" args="(DSDP, DSDPSchurMat, DSDPVec)" -->
<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="a4d28c58bb5605d6636c6a425c10bf9ea"></a><!-- doxytag: member="dsdp.h::DSDPPassXVectors" ref="a4d28c58bb5605d6636c6a425c10bf9ea" args="(DSDP, double, DSDPVec, DSDPVec)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPPassXVectors </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>Y</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>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Pass the information needed to compute the variables X in each cone but do not compute 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">mu</td><td>barrier parameter </td></tr>
    <tr><td class="paramname">Y</td><td>input y variables </td></tr>
    <tr><td class="paramname">DY</td><td>input step direction</td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="dsdp_8h.html#a871c5d28852a40e2593f75e635855296" title="Compute the X variables in each cone.">DSDPComputeXVariables()</a> </dd></dl>

<p>Definition at line <a class="el" href="dsdpcops_8c_source.html#l00378">378</a> of file <a class="el" href="dsdpcops_8c_source.html">dsdpcops.c</a>.</p>

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

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

<p>Save the current solution for later computation of 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">mu</td><td>barrier function </td></tr>
    <tr><td class="paramname">pstep</td><td>primal step length, hopefully equals 1 </td></tr>
  </table>
  </dd>
</dl>

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

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

</div>
</div>
<a class="anchor" id="a335ca9a49f2901cc0022224e0cee0adb"></a><!-- doxytag: member="dsdp.h::DSDPScaleData" ref="a335ca9a49f2901cc0022224e0cee0adb" args="(DSDP)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPScaleData </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDSDP__C.html">DSDP</a>&#160;</td>
          <td class="paramname"><em>dsdp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Scale the matrix C. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dsdp</td><td>the solver </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dsdpsetup_8c_source.html#l00311">311</a> of file <a class="el" href="dsdpsetup_8c_source.html">dsdpsetup.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="a4116515642c1eb1c843b90aee3909cec"></a><!-- doxytag: member="dsdp.h::DSDPSchurSparsity" ref="a4116515642c1eb1c843b90aee3909cec" args="(DSDP, int, int[], int)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPSchurSparsity </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>row</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>rnnz</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>m</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Each cone should print its state. </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">row</td><td>corresponding to the variable y. </td></tr>
    <tr><td class="paramname">rnnz</td><td>nonzeros indicate a nonzero in the Shur matrix at that column. </td></tr>
    <tr><td class="paramname">m</td><td>size of Schur matrix and the arrow. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dsdpcops_8c_source.html#l00474">474</a> of file <a class="el" href="dsdpcops_8c_source.html">dsdpcops.c</a>.</p>

<p>Referenced by <a class="el" href="dsdpschurmat_8c_source.html#l00649">DSDPSparsityInSchurMat()</a>.</p>

</div>
</div>
<a class="anchor" id="aa7ef8e73a60cea369a21c3acd004e8ab"></a><!-- doxytag: member="dsdp.h::DSDPSetCone" ref="aa7ef8e73a60cea369a21c3acd004e8ab" args="(DSDP, DSDPCone)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPSetCone </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="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a>&#160;</td>
          <td class="paramname"><em>tcone</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Pass a cone to the DSDP solver. </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">tcone</td><td>a cone object. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dsdpcops_8c_source.html#l00522">522</a> of file <a class="el" href="dsdpcops_8c_source.html">dsdpcops.c</a>.</p>

<p>Referenced by <a class="el" href="dsdpcops_8c_source.html#l00569">DSDPAddCone()</a>.</p>

</div>
</div>
<a class="anchor" id="a1ac0c165e2acf2e792cf39618e65038e"></a><!-- doxytag: member="dsdp.h::DSDPSetDefaultMonitors" ref="a1ac0c165e2acf2e792cf39618e65038e" args="(DSDP)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPSetDefaultMonitors </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDSDP__C.html">DSDP</a>&#160;</td>
          <td class="paramname"><em>dsdp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set convergence monitor. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dsdp</td><td>the solver </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dsdpsetup_8c_source.html#l00165">165</a> of file <a class="el" href="dsdpsetup_8c_source.html">dsdpsetup.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="ac822ab1ff27bbc23f5ae4d7a14e593ee"></a><!-- doxytag: member="dsdp.h::DSDPSetDefaultParameters" ref="ac822ab1ff27bbc23f5ae4d7a14e593ee" args="(DSDP)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPSetDefaultParameters </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDSDP__C.html">DSDP</a>&#160;</td>
          <td class="paramname"><em>dsdp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set default parameters. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dsdp</td><td>the solver </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dsdpsetup_8c_source.html#l00122">122</a> of file <a class="el" href="dsdpsetup_8c_source.html">dsdpsetup.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="a0aa7c1e1f948694ba1c3363f35ef9980"></a><!-- doxytag: member="dsdp.h::DSDPSetDefaultStatistics" ref="a0aa7c1e1f948694ba1c3363f35ef9980" args="(DSDP)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPSetDefaultStatistics </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDSDP__C.html">DSDP</a>&#160;</td>
          <td class="paramname"><em>dsdp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set default statistics. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dsdp</td><td>the solver </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dsdpsetup_8c_source.html#l00084">84</a> of file <a class="el" href="dsdpsetup_8c_source.html">dsdpsetup.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="a0f6f666ce8aa2c5a80a8ccfe105c6558"></a><!-- doxytag: member="dsdp.h::DSDPSetRR" ref="a0f6f666ce8aa2c5a80a8ccfe105c6558" args="(DSDP, double)" -->
<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="a122354cd946e3323df519ad58061de7c"></a><!-- doxytag: member="dsdp.h::DSDPSetUpCones" ref="a122354cd946e3323df519ad58061de7c" args="(DSDP)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPSetUpCones </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDSDP__C.html">DSDP</a>&#160;</td>
          <td class="paramname"><em>dsdp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Each cone should factor data or allocate internal data structures. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dsdp</td><td>the solver </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dsdpcops_8c_source.html#l00058">58</a> of file <a class="el" href="dsdpcops_8c_source.html">dsdpcops.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="aee3443bb7583964d908c57096572318d"></a><!-- doxytag: member="dsdp.h::DSDPSetUpCones2" ref="aee3443bb7583964d908c57096572318d" args="(DSDP, DSDPVec, DSDPSchurMat)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPSetUpCones2 </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>yy0</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>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Each cone should allocate its data structures . </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">yy0</td><td>variable vector </td></tr>
    <tr><td class="paramname">M</td><td>Shur Matrix </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dsdpcops_8c_source.html#l00084">84</a> of file <a class="el" href="dsdpcops_8c_source.html">dsdpcops.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="afc317ccad82c19d57f4ffc60812749b5"></a><!-- doxytag: member="dsdp.h::DSDPSetY" ref="afc317ccad82c19d57f4ffc60812749b5" args="(DSDP, double, double, DSDPVec)" -->
<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>
<a class="anchor" id="a966c193bf736a9e5320f9ddc10e0d767"></a><!-- doxytag: member="dsdp.h::DSDPSolveDynamicRho" ref="a966c193bf736a9e5320f9ddc10e0d767" args="(DSDP)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPSolveDynamicRho </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDSDP__C.html">DSDP</a>&#160;</td>
          <td class="paramname"><em>dsdp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Apply dual-scaling algorithm. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dsdp</td><td>the solver </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dualalg_8c_source.html#l00121">121</a> of file <a class="el" href="dualalg_8c_source.html">dualalg.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="af722e26f3bbe2a11c0bbfa7073c535d7"></a><!-- doxytag: member="dsdp.h::DSDPTakeDown" ref="af722e26f3bbe2a11c0bbfa7073c535d7" args="(DSDP)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPTakeDown </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDSDP__C.html">DSDP</a>&#160;</td>
          <td class="paramname"><em>dsdp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Destroy internal data structures. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dsdp</td><td>solver </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dsdpsetup_8c_source.html#l00428">428</a> of file <a class="el" href="dsdpsetup_8c_source.html">dsdpsetup.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="a7fa00d4f9f0ecb5c8e7890ec7cfdc44d"></a><!-- doxytag: member="dsdp.h::DSDPViewCones" ref="a7fa00d4f9f0ecb5c8e7890ec7cfdc44d" args="(DSDP)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPViewCones </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDSDP__C.html">DSDP</a>&#160;</td>
          <td class="paramname"><em>dsdp</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Each cone should print its state. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">dsdp</td><td>the solver </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dsdpcops_8c_source.html#l00424">424</a> of file <a class="el" href="dsdpcops_8c_source.html">dsdpcops.c</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>