Sophie

Sophie

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

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

<p>The public interface between the cones and the solver.  
<a href="#details">More...</a></p>

<p><a href="dsdpcone_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct DSDPCone_C&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This object holds the data of a SDP, LP, or other cone. Its structure is opaque to the DSDP Solver, but it must implement the interface below and provide a structure of function pointers.  <a href="#a635fc48fba0ec5edb9b23bd57aadb1e1"></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="dsdpcone_8h.html#ad07445aa1e62ad491b95280bdccd82ca">DSDPConeANorm2</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a>, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Add square of 2-norm of data correponding to each variable y.  <a href="#ad07445aa1e62ad491b95280bdccd82ca"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdpcone_8h.html#a49145120bcef4810adbfbc4246ca37aa">DSDPConeComputeHessian</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a>, double, <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 Hessian and gradient of barrier function.  <a href="#a49145120bcef4810adbfbc4246ca37aa"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdpcone_8h.html#aa98f51d173b57e43d1a97198f5a26c2a">DSDPConeComputeLogSDeterminant</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a>, double *, double *)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluate logrithmic barrier function.  <a href="#aa98f51d173b57e43d1a97198f5a26c2a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdpcone_8h.html#acc327af027a77aa7d924b9974e5a3620">DSDPConeComputeMaxStepLength</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</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">Determine distance to the edge of the cone.  <a href="#acc327af027a77aa7d924b9974e5a3620"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdpcone_8h.html#a6c146a9edd67495742945f8510df9291">DSDPConeComputeRHS</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</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>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradient of barrier function.  <a href="#a6c146a9edd67495742945f8510df9291"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdpcone_8h.html#a592b13c0d47de855dd6595e4bc0bfc2c">DSDPConeComputeS</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</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">Given y, compute S and determine whether its in the cone.  <a href="#a592b13c0d47de855dd6595e4bc0bfc2c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdpcone_8h.html#a8dc04fee8a2283c27399db098fe8d189">DSDPConeComputeX</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</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">Given y,dy, and mu, construct X and add its inner product with the data and S.  <a href="#a8dc04fee8a2283c27399db098fe8d189"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdpcone_8h.html#a166cb6e08acee23f62b1cc7a73711bdf">DSDPConeDestroy</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a> *)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Free the internal memory of the cone.  <a href="#a166cb6e08acee23f62b1cc7a73711bdf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdpcone_8h.html#aa9f368dde0884b83e829d032fa14b4ee">DSDPConeGetDimension</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a>, double *)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide the dimension of the cone.  <a href="#aa9f368dde0884b83e829d032fa14b4ee"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdpcone_8h.html#aaad1e0d0532f8aef93ffab1d6c5e4058">DSDPConeInitialize</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a> *)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the pointers to 0.  <a href="#aaad1e0d0532f8aef93ffab1d6c5e4058"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdpcone_8h.html#a1e54269e513d8b24042d534d5da3ded2">DSDPConeInvertS</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Invert the dual matrix S.  <a href="#a1e54269e513d8b24042d534d5da3ded2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdpcone_8h.html#ac57dc15d70a812f3a2332d5dc9d8b137">DSDPConeMonitor</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a>, int)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Do anything at in the cone at each iteration.  <a href="#ac57dc15d70a812f3a2332d5dc9d8b137"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdpcone_8h.html#aabd067915e91d346ed8d5b01b1a6bdc1">DSDPConeMultiplyAdd</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</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>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply Hessian by a vector and add the result.  <a href="#aabd067915e91d346ed8d5b01b1a6bdc1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdpcone_8h.html#a073ebe136767091d83d4fa2c5b992cf8">DSDPConeSetData</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a> *, struct DSDPCone_Ops *, void *)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the pointers to 0.  <a href="#a073ebe136767091d83d4fa2c5b992cf8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdpcone_8h.html#a7ec7799a19b23027131c33d498602941">DSDPConeSetUp</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a>, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Factor the data and allocate data structures.  <a href="#a7ec7799a19b23027131c33d498602941"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdpcone_8h.html#a181349b08c203b493ded2cb6de8897a8">DSDPConeSetUp2</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</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">Factor the data and allocate data structures.  <a href="#a181349b08c203b493ded2cb6de8897a8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdpcone_8h.html#adb36f7523951f8164b00f8374ec175e0">DSDPConeSetXMaker</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</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 information needed to construct X.  <a href="#adb36f7523951f8164b00f8374ec175e0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdpcone_8h.html#a8bbc97b1d6ab25b35c5818ab52c9afe9">DSDPConeSparsityInSchurMat</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a>, int, int[], int)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Identify sparsity pattern in a row of the Hessian term.  <a href="#a8bbc97b1d6ab25b35c5818ab52c9afe9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdpcone_8h.html#a1bf79645f43ecdb30a84add27e51e165">DSDPConeView</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a>)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">View contents of the cone.  <a href="#a1bf79645f43ecdb30a84add27e51e165"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdpcone_8h.html#a7cd9b87b0e700050fda2f3c8f942e419">DSDPGetConeName</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a>, char *, int)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get name of the cone.  <a href="#a7cd9b87b0e700050fda2f3c8f942e419"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>The public interface between the cones and the solver. </p>

<p>Definition in file <a class="el" href="dsdpcone_8h_source.html">dsdpcone.h</a>.</p>
</div><hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="a635fc48fba0ec5edb9b23bd57aadb1e1"></a><!-- doxytag: member="dsdpcone.h::DSDPCone" ref="a635fc48fba0ec5edb9b23bd57aadb1e1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a> <a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This object holds the data of a SDP, LP, or other cone. Its structure is opaque to the DSDP Solver, but it must implement the interface below and provide a structure of function pointers. </p>

<p>Definition at line <a class="el" href="dsdpcone_8h_source.html#l00027">27</a> of file <a class="el" href="dsdpcone_8h_source.html">dsdpcone.h</a>.</p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ad07445aa1e62ad491b95280bdccd82ca"></a><!-- doxytag: member="dsdpcone.h::DSDPConeANorm2" ref="ad07445aa1e62ad491b95280bdccd82ca" args="(DSDPCone, DSDPVec)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPConeANorm2 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a>&#160;</td>
          <td class="paramname"><em>K</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>Add square of 2-norm of data correponding to each variable y. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">K</td><td>the cone </td></tr>
    <tr><td class="paramname">anorm2</td><td>norm of constraint data for each varibles </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd>DSDPBlockANorm2 </dd></dl>

<p>Definition at line <a class="el" href="dsdpcone_8c_source.html#l00168">168</a> of file <a class="el" href="dsdpcone_8c_source.html">dsdpcone.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="a49145120bcef4810adbfbc4246ca37aa"></a><!-- doxytag: member="dsdpcone.h::DSDPConeComputeHessian" ref="a49145120bcef4810adbfbc4246ca37aa" args="(DSDPCone, double, DSDPSchurMat, DSDPVec, DSDPVec)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPConeComputeHessian </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a>&#160;</td>
          <td class="paramname"><em>K</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="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 Hessian and gradient of barrier function. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">K</td><td>the cone </td></tr>
    <tr><td class="paramname">mu</td><td>barrier parameter </td></tr>
    <tr><td class="paramname">M</td><td>Schur matrix </td></tr>
    <tr><td class="paramname">vrhs1</td><td>objective gradient </td></tr>
    <tr><td class="paramname">vrhs2</td><td>barrier gradient</td></tr>
  </table>
  </dd>
</dl>
<p>This routine assumes that the dual matrix has already been factored and inverted. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="dsdpsdp_8h.html#a3adb86d30c297ad0a4a0aadbcd8ae6ba" title="Compute the Hessian to the barrier term.">SDPConeComputeHessian()</a> </dd></dl>

<p>Definition at line <a class="el" href="dsdpcone_8c_source.html#l00092">92</a> of file <a class="el" href="dsdpcone_8c_source.html">dsdpcone.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="aa98f51d173b57e43d1a97198f5a26c2a"></a><!-- doxytag: member="dsdpcone.h::DSDPConeComputeLogSDeterminant" ref="aa98f51d173b57e43d1a97198f5a26c2a" args="(DSDPCone, double *, double *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPConeComputeLogSDeterminant </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a>&#160;</td>
          <td class="paramname"><em>K</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>logdetobj</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>Evaluate logrithmic barrier function. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">K</td><td>the cone </td></tr>
    <tr><td class="paramname">logdetobj</td><td>used term. </td></tr>
    <tr><td class="paramname">logdet</td><td>logarithmic barrier of cone Assumes S is in cone. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dsdpcone_8c_source.html#l00403">403</a> of file <a class="el" href="dsdpcone_8c_source.html">dsdpcone.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="acc327af027a77aa7d924b9974e5a3620"></a><!-- doxytag: member="dsdpcone.h::DSDPConeComputeMaxStepLength" ref="acc327af027a77aa7d924b9974e5a3620" args="(DSDPCone, DSDPVec, DSDPDualFactorMatrix, double *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPConeComputeMaxStepLength </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a>&#160;</td>
          <td class="paramname"><em>K</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>Determine distance to the edge of the cone. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">K</td><td>the cone </td></tr>
    <tr><td class="paramname">DY</td><td>step direction </td></tr>
    <tr><td class="paramname">flag</td><td>identifies which of two S matrix structures should be used. </td></tr>
    <tr><td class="paramname">maxsteplength</td><td>distance to the edge of the cone. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dsdpcone_8c_source.html#l00288">288</a> of file <a class="el" href="dsdpcone_8c_source.html">dsdpcone.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="a6c146a9edd67495742945f8510df9291"></a><!-- doxytag: member="dsdpcone.h::DSDPConeComputeRHS" ref="a6c146a9edd67495742945f8510df9291" args="(DSDPCone, double, DSDPVec, DSDPVec, DSDPVec)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPConeComputeRHS </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a>&#160;</td>
          <td class="paramname"><em>K</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>vrow</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>rhs1</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>rhs2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute gradient of barrier function. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">K</td><td>the cone </td></tr>
    <tr><td class="paramname">mu</td><td>barrier parameter </td></tr>
    <tr><td class="paramname">vrow</td><td>scaling for each element in the gradient. </td></tr>
    <tr><td class="paramname">rhs1</td><td>objective gradient </td></tr>
    <tr><td class="paramname">rhs2</td><td>barrier gradient</td></tr>
  </table>
  </dd>
</dl>
<p>This routine assumes that the dual matrix has already been factored and inverted. Define rhs2 += mu * vrow .* A(S^{-1}) </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="dsdpsdp_8h.html#a334c8bff3cbf28a420dbe7f93cbe33ab" title="Compute the gradient to the barrier term.">SDPConeComputeRHS()</a> </dd></dl>

<p>Definition at line <a class="el" href="dsdpcone_8c_source.html#l00147">147</a> of file <a class="el" href="dsdpcone_8c_source.html">dsdpcone.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="a592b13c0d47de855dd6595e4bc0bfc2c"></a><!-- doxytag: member="dsdpcone.h::DSDPConeComputeS" ref="a592b13c0d47de855dd6595e4bc0bfc2c" args="(DSDPCone, DSDPVec, DSDPDualFactorMatrix, DSDPTruth *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPConeComputeS </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a>&#160;</td>
          <td class="paramname"><em>K</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>Given y, compute S and determine whether its in the cone. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">K</td><td>the cone </td></tr>
    <tr><td class="paramname">Y</td><td>solution </td></tr>
    <tr><td class="paramname">flag</td><td>identifies which of two S matrix structures should be used. </td></tr>
    <tr><td class="paramname">ispsdefinite</td><td>true if S is positive definite or an element of the cone. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dsdpcone_8c_source.html#l00242">242</a> of file <a class="el" href="dsdpcone_8c_source.html">dsdpcone.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="a8dc04fee8a2283c27399db098fe8d189"></a><!-- doxytag: member="dsdpcone.h::DSDPConeComputeX" ref="a8dc04fee8a2283c27399db098fe8d189" args="(DSDPCone, double, DSDPVec, DSDPVec, DSDPVec, double *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPConeComputeX </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a>&#160;</td>
          <td class="paramname"><em>K</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>, </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>Given y,dy, and mu, construct X and add its inner product with the data and S. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">K</td><td>the cone </td></tr>
    <tr><td class="paramname">mu</td><td>barrier parameter </td></tr>
    <tr><td class="paramname">y</td><td>solution </td></tr>
    <tr><td class="paramname">dy</td><td>step direction </td></tr>
    <tr><td class="paramname">AX</td><td>add the inner product of the data with X </td></tr>
    <tr><td class="paramname">tracexs</td><td>inner product of X and S. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="dsdpsdp_8h.html#a4b077e6275df502022d09162511c4712" title="Compute X.">SDPConeComputeXX()</a> </dd></dl>

<p>Definition at line <a class="el" href="dsdpcone_8c_source.html#l00216">216</a> of file <a class="el" href="dsdpcone_8c_source.html">dsdpcone.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="a166cb6e08acee23f62b1cc7a73711bdf"></a><!-- doxytag: member="dsdpcone.h::DSDPConeDestroy" ref="a166cb6e08acee23f62b1cc7a73711bdf" args="(DSDPCone *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPConeDestroy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a> *&#160;</td>
          <td class="paramname"><em>K</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Free the internal memory of the cone. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">K</td><td>the cone </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dsdpcone_8c_source.html#l00064">64</a> of file <a class="el" href="dsdpcone_8c_source.html">dsdpcone.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="aa9f368dde0884b83e829d032fa14b4ee"></a><!-- doxytag: member="dsdpcone.h::DSDPConeGetDimension" ref="aa9f368dde0884b83e829d032fa14b4ee" args="(DSDPCone, double *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPConeGetDimension </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a>&#160;</td>
          <td class="paramname"><em>K</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>Provide the dimension of the cone. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">K</td><td>the cone </td></tr>
    <tr><td class="paramname">n</td><td>conic dimension (an integer value) </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dsdpcone_8c_source.html#l00312">312</a> of file <a class="el" href="dsdpcone_8c_source.html">dsdpcone.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="aaad1e0d0532f8aef93ffab1d6c5e4058"></a><!-- doxytag: member="dsdpcone.h::DSDPConeInitialize" ref="aaad1e0d0532f8aef93ffab1d6c5e4058" args="(DSDPCone *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPConeInitialize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a> *&#160;</td>
          <td class="paramname"><em>K</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Initialize the pointers to 0. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">K</td><td>the cone </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dsdpcone_8c_source.html#l00495">495</a> of file <a class="el" href="dsdpcone_8c_source.html">dsdpcone.c</a>.</p>

<p>Referenced by <a class="el" href="dsdpcops_8c_source.html#l00569">DSDPAddCone()</a>, <a class="el" href="dsdpcone_8c_source.html#l00064">DSDPConeDestroy()</a>, and <a class="el" href="dsdpcops_8c_source.html#l00107">DSDPDestroyCones()</a>.</p>

</div>
</div>
<a class="anchor" id="a1e54269e513d8b24042d534d5da3ded2"></a><!-- doxytag: member="dsdpcone.h::DSDPConeInvertS" ref="a1e54269e513d8b24042d534d5da3ded2" args="(DSDPCone)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPConeInvertS </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a>&#160;</td>
          <td class="paramname"><em>K</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Invert the dual matrix S. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">K</td><td>the cone</td></tr>
  </table>
  </dd>
</dl>
<p>Assumes that the matrix has already been factored. </p>

<p>Definition at line <a class="el" href="dsdpcone_8c_source.html#l00265">265</a> of file <a class="el" href="dsdpcone_8c_source.html">dsdpcone.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="ac57dc15d70a812f3a2332d5dc9d8b137"></a><!-- doxytag: member="dsdpcone.h::DSDPConeMonitor" ref="ac57dc15d70a812f3a2332d5dc9d8b137" args="(DSDPCone, int)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPConeMonitor </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a>&#160;</td>
          <td class="paramname"><em>K</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>Do anything at in the cone at each iteration. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">K</td><td>the cone </td></tr>
    <tr><td class="paramname">tag</td><td>allows for multiple types of monitors.</td></tr>
  </table>
  </dd>
</dl>
<p>This routine has be used to visualize data, print some statistics, ... </p>

<p>Definition at line <a class="el" href="dsdpcone_8c_source.html#l00380">380</a> of file <a class="el" href="dsdpcone_8c_source.html">dsdpcone.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="aabd067915e91d346ed8d5b01b1a6bdc1"></a><!-- doxytag: member="dsdpcone.h::DSDPConeMultiplyAdd" ref="aabd067915e91d346ed8d5b01b1a6bdc1" args="(DSDPCone, double, DSDPVec, DSDPVec, DSDPVec)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPConeMultiplyAdd </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a>&#160;</td>
          <td class="paramname"><em>K</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>vrow</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>Multiply Hessian by a vector and add the result. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">K</td><td>the cone </td></tr>
    <tr><td class="paramname">mu</td><td>barrier parameter </td></tr>
    <tr><td class="paramname">vrow</td><td>scaling for each element in the product. </td></tr>
    <tr><td class="paramname">v</td><td>input vector gradient </td></tr>
    <tr><td class="paramname">vv</td><td>output vector</td></tr>
  </table>
  </dd>
</dl>
<p>This routine assumes that the dual matrix has already been factored and inverted. If M is the hessian, then vv += vrow .* Mv </p>

<p>Definition at line <a class="el" href="dsdpcone_8c_source.html#l00119">119</a> of file <a class="el" href="dsdpcone_8c_source.html">dsdpcone.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="a073ebe136767091d83d4fa2c5b992cf8"></a><!-- doxytag: member="dsdpcone.h::DSDPConeSetData" ref="a073ebe136767091d83d4fa2c5b992cf8" args="(DSDPCone *, struct DSDPCone_Ops *, void *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPConeSetData </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a> *&#160;</td>
          <td class="paramname"><em>K</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct DSDPCone_Ops *&#160;</td>
          <td class="paramname"><em>ops</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Initialize the pointers to 0. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">K</td><td>the cone </td></tr>
    <tr><td class="paramname">ops</td><td>address of a structure of function pointers. </td></tr>
    <tr><td class="paramname">data</td><td>address of a structure representing a cone </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dsdpcone_8c_source.html#l00477">477</a> of file <a class="el" href="dsdpcone_8c_source.html">dsdpcone.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="a7ec7799a19b23027131c33d498602941"></a><!-- doxytag: member="dsdpcone.h::DSDPConeSetUp" ref="a7ec7799a19b23027131c33d498602941" args="(DSDPCone, DSDPVec)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPConeSetUp </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a>&#160;</td>
          <td class="paramname"><em>K</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>Factor the data and allocate data structures. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">K</td><td>the cone </td></tr>
    <tr><td class="paramname">y</td><td>initial solution vector </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dsdpcone_8c_source.html#l00022">22</a> of file <a class="el" href="dsdpcone_8c_source.html">dsdpcone.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="a181349b08c203b493ded2cb6de8897a8"></a><!-- doxytag: member="dsdpcone.h::DSDPConeSetUp2" ref="a181349b08c203b493ded2cb6de8897a8" args="(DSDPCone, DSDPVec, DSDPSchurMat)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPConeSetUp2 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a>&#160;</td>
          <td class="paramname"><em>K</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>Factor the data and allocate data structures. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">K</td><td>the cone </td></tr>
    <tr><td class="paramname">yy0</td><td>initial solution vector </td></tr>
    <tr><td class="paramname">M</td><td>Schur matrix </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dsdpcone_8c_source.html#l00043">43</a> of file <a class="el" href="dsdpcone_8c_source.html">dsdpcone.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="adb36f7523951f8164b00f8374ec175e0"></a><!-- doxytag: member="dsdpcone.h::DSDPConeSetXMaker" ref="adb36f7523951f8164b00f8374ec175e0" args="(DSDPCone, double, DSDPVec, DSDPVec)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPConeSetXMaker </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a>&#160;</td>
          <td class="paramname"><em>K</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 information needed to construct X. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">K</td><td>the cone </td></tr>
    <tr><td class="paramname">mu</td><td>barrier parameter </td></tr>
    <tr><td class="paramname">y</td><td>solution </td></tr>
    <tr><td class="paramname">dy</td><td>step direction </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dsdpcone_8c_source.html#l00191">191</a> of file <a class="el" href="dsdpcone_8c_source.html">dsdpcone.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="a8bbc97b1d6ab25b35c5818ab52c9afe9"></a><!-- doxytag: member="dsdpcone.h::DSDPConeSparsityInSchurMat" ref="a8bbc97b1d6ab25b35c5818ab52c9afe9" args="(DSDPCone, int, int[], int)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPConeSparsityInSchurMat </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a>&#160;</td>
          <td class="paramname"><em>K</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>Identify sparsity pattern in a row of the Hessian term. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">K</td><td>the cone </td></tr>
    <tr><td class="paramname">row</td><td>between 1 and m </td></tr>
    <tr><td class="paramname">rnnz</td><td>mark elements nonzero for nonzeros in Hessian of barrier. </td></tr>
    <tr><td class="paramname">m</td><td>number of y variables, length of array, and size of M matrix </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="dsdpschurmat_8c.html#a5d1bb7af407a05ae65c63e9d40146644" title="Identify nonzero elements in a row of the Schur complement.">DSDPSparsityInSchurMat()</a> </dd>
<dd>
<a class="el" href="dsdp_8h.html#a4116515642c1eb1c843b90aee3909cec" title="Each cone should print its state.">DSDPSchurSparsity()</a> </dd></dl>

<p>Definition at line <a class="el" href="dsdpcone_8c_source.html#l00338">338</a> of file <a class="el" href="dsdpcone_8c_source.html">dsdpcone.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="a1bf79645f43ecdb30a84add27e51e165"></a><!-- doxytag: member="dsdpcone.h::DSDPConeView" ref="a1bf79645f43ecdb30a84add27e51e165" args="(DSDPCone)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPConeView </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a>&#160;</td>
          <td class="paramname"><em>K</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>View contents of the cone. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">K</td><td>the cone </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dsdpcone_8c_source.html#l00358">358</a> of file <a class="el" href="dsdpcone_8c_source.html">dsdpcone.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="a7cd9b87b0e700050fda2f3c8f942e419"></a><!-- doxytag: member="dsdpcone.h::DSDPGetConeName" ref="a7cd9b87b0e700050fda2f3c8f942e419" args="(DSDPCone, char *, int)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPGetConeName </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a>&#160;</td>
          <td class="paramname"><em>K</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>cname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>maxlength</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get name of the cone. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">K</td><td>the cone </td></tr>
    <tr><td class="paramname">cname</td><td>string to copy the string </td></tr>
    <tr><td class="paramname">maxlength</td><td>maximum length of the string. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="dsdpcone_8c_source.html#l00427">427</a> of file <a class="el" href="dsdpcone_8c_source.html">dsdpcone.c</a>.</p>

<p>Referenced by <a class="el" href="dsdpcops_8c_source.html#l00522">DSDPSetCone()</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>