Sophie

Sophie

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

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.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">DSDP</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="dir_23046874d7fed141927c769a66d8e3a5.html">src</a>      </li>
      <li class="navelem"><a class="el" href="dir_03c647d51c93e018646ff83aa2eeb169.html">solver</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">dsdpcone.c File Reference</div>  </div>
</div>
<div class="contents">

<p>Methods of a cone.  
<a href="#details">More...</a></p>

<p><a href="dsdpcone_8c_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="dsdpcone_8c.html#af1530141e91409217aabb01bbdac244a">DSDPConeANorm2</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a> K, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a> anorm2)</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="#af1530141e91409217aabb01bbdac244a"></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_8c.html#abf554f6b46448ff85d00cbafd0ebb27a">DSDPConeComputeHessian</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a> K, double mu, <a class="el" href="structDSDPSchurMat__C.html">DSDPSchurMat</a> M, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a> vrhs1, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a> vrhs2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute Hessian and gradient of barrier function.  <a href="#abf554f6b46448ff85d00cbafd0ebb27a"></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_8c.html#a8ded3e18b57af86f930fbc025c529d70">DSDPConeComputeLogSDeterminant</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a> K, double *logdetobj, double *logdet)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluate logrithmic barrier function.  <a href="#a8ded3e18b57af86f930fbc025c529d70"></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_8c.html#a57df4302573f1afba87d10eb098be9b7">DSDPConeComputeMaxStepLength</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a> K, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a> DY, <a class="el" href="dsdpbasictypes_8h.html#ae47666e7e5d77002110e20ef9ebb634b">DSDPDualFactorMatrix</a> flag, double *maxsteplength)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine distance to the edge of the cone.  <a href="#a57df4302573f1afba87d10eb098be9b7"></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_8c.html#aab3922a9faf6cb038282a61c2647c8e7">DSDPConeComputeRHS</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a> K, double mu, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a> vrow, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a> rhs1, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a> rhs2)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute gradient of barrier function.  <a href="#aab3922a9faf6cb038282a61c2647c8e7"></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_8c.html#a662cc8198f094c46e5bce9f25a21e245">DSDPConeComputeS</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a> K, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a> Y, <a class="el" href="dsdpbasictypes_8h.html#ae47666e7e5d77002110e20ef9ebb634b">DSDPDualFactorMatrix</a> flag, <a class="el" href="dsdpbasictypes_8h.html#ae667f2bff3ab5ab0bc109fa76dc4ed65">DSDPTruth</a> *ispsdefinite)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Given y, compute S and determine whether its in the cone.  <a href="#a662cc8198f094c46e5bce9f25a21e245"></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_8c.html#a08aac87e75081491fa3c500e37c2ce51">DSDPConeComputeX</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a> K, double mu, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a> y, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a> dy, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a> AX, double *tracexs)</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="#a08aac87e75081491fa3c500e37c2ce51"></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_8c.html#aa83677b3889ea8b0f6c2ab5f96e556d3">DSDPConeDestroy</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a> *K)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Free the internal memory of the cone.  <a href="#aa83677b3889ea8b0f6c2ab5f96e556d3"></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_8c.html#a952e902aab678a96a00cefeb27861a8b">DSDPConeGetDimension</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a> K, double *n)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide the dimension of the cone.  <a href="#a952e902aab678a96a00cefeb27861a8b"></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_8c.html#a3a14b6dd810e1cbed712537487a1ce58">DSDPConeInitialize</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a> *K)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the pointers to 0.  <a href="#a3a14b6dd810e1cbed712537487a1ce58"></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_8c.html#a8eb4a6997933bfd177cfc1bf75f9a3bf">DSDPConeInvertS</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a> K)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Invert the dual matrix S.  <a href="#a8eb4a6997933bfd177cfc1bf75f9a3bf"></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_8c.html#a86d47e198ccf3003c2fa4f1710002146">DSDPConeMonitor</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a> K, int tag)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Do anything at in the cone at each iteration.  <a href="#a86d47e198ccf3003c2fa4f1710002146"></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_8c.html#ace18be7143284ccf104156494f081660">DSDPConeMultiplyAdd</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a> K, double mu, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a> vrow, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a> v, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a> vv)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply Hessian by a vector and add the result.  <a href="#ace18be7143284ccf104156494f081660"></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_8c.html#ad1e12a500997ab2be6b7e24536017e95">DSDPConeOpsInitialize</a> (struct DSDPCone_Ops *dops)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the function pointers to 0.  <a href="#ad1e12a500997ab2be6b7e24536017e95"></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_8c.html#abf7509c885d7e32c250657ecf88619d4">DSDPConeSetData</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a> *K, struct DSDPCone_Ops *ops, void *data)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the pointers to 0.  <a href="#abf7509c885d7e32c250657ecf88619d4"></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_8c.html#aa1f01d8a4b8c0c27f00f2921c015dce7">DSDPConeSetUp</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a> K, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a> y)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Factor the data and allocate data structures.  <a href="#aa1f01d8a4b8c0c27f00f2921c015dce7"></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_8c.html#ae1ea61e209ed52b7f11098cf5365c195">DSDPConeSetUp2</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a> K, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a> yy0, <a class="el" href="structDSDPSchurMat__C.html">DSDPSchurMat</a> M)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Factor the data and allocate data structures.  <a href="#ae1ea61e209ed52b7f11098cf5365c195"></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_8c.html#a855eebeeb260f54298f00c05171e4f5a">DSDPConeSetXMaker</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a> K, double mu, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a> y, <a class="el" href="dsdpvec_8h.html#a421243d35437ad44ded3c1e34198e8e9">DSDPVec</a> dy)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Pass information needed to construct X.  <a href="#a855eebeeb260f54298f00c05171e4f5a"></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_8c.html#ab2d33b754ac2b2adc12b72eb93d6f00a">DSDPConeSparsityInSchurMat</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a> K, int row, int rnnz[], int m)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Identify sparsity pattern in a row of the Hessian term.  <a href="#ab2d33b754ac2b2adc12b72eb93d6f00a"></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_8c.html#a02e7404ce5e23352fd5f988d03300335">DSDPConeView</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a> K)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">View contents of the cone.  <a href="#a02e7404ce5e23352fd5f988d03300335"></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_8c.html#a4c1f6ff4554b63539556c8c00a79e205">DSDPGetConeName</a> (<a class="el" href="dsdpcone_8h.html#a635fc48fba0ec5edb9b23bd57aadb1e1">DSDPCone</a> K, char *cname, int maxlength)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get name of the cone.  <a href="#a4c1f6ff4554b63539556c8c00a79e205"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Methods of a cone. </p>

<p>Definition in file <a class="el" href="dsdpcone_8c_source.html">dsdpcone.c</a>.</p>
</div><hr/><h2>Function Documentation</h2>
<a class="anchor" id="af1530141e91409217aabb01bbdac244a"></a><!-- doxytag: member="dsdpcone.c::DSDPConeANorm2" ref="af1530141e91409217aabb01bbdac244a" args="(DSDPCone K, DSDPVec anorm2)" -->
<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="abf554f6b46448ff85d00cbafd0ebb27a"></a><!-- doxytag: member="dsdpcone.c::DSDPConeComputeHessian" ref="abf554f6b46448ff85d00cbafd0ebb27a" args="(DSDPCone K, double mu, DSDPSchurMat M, DSDPVec vrhs1, DSDPVec vrhs2)" -->
<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="a8ded3e18b57af86f930fbc025c529d70"></a><!-- doxytag: member="dsdpcone.c::DSDPConeComputeLogSDeterminant" ref="a8ded3e18b57af86f930fbc025c529d70" args="(DSDPCone K, double *logdetobj, double *logdet)" -->
<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="a57df4302573f1afba87d10eb098be9b7"></a><!-- doxytag: member="dsdpcone.c::DSDPConeComputeMaxStepLength" ref="a57df4302573f1afba87d10eb098be9b7" args="(DSDPCone K, DSDPVec DY, DSDPDualFactorMatrix flag, double *maxsteplength)" -->
<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="aab3922a9faf6cb038282a61c2647c8e7"></a><!-- doxytag: member="dsdpcone.c::DSDPConeComputeRHS" ref="aab3922a9faf6cb038282a61c2647c8e7" args="(DSDPCone K, double mu, DSDPVec vrow, DSDPVec rhs1, DSDPVec rhs2)" -->
<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="a662cc8198f094c46e5bce9f25a21e245"></a><!-- doxytag: member="dsdpcone.c::DSDPConeComputeS" ref="a662cc8198f094c46e5bce9f25a21e245" args="(DSDPCone K, DSDPVec Y, DSDPDualFactorMatrix flag, DSDPTruth *ispsdefinite)" -->
<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="a08aac87e75081491fa3c500e37c2ce51"></a><!-- doxytag: member="dsdpcone.c::DSDPConeComputeX" ref="a08aac87e75081491fa3c500e37c2ce51" args="(DSDPCone K, double mu, DSDPVec y, DSDPVec dy, DSDPVec AX, double *tracexs)" -->
<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="aa83677b3889ea8b0f6c2ab5f96e556d3"></a><!-- doxytag: member="dsdpcone.c::DSDPConeDestroy" ref="aa83677b3889ea8b0f6c2ab5f96e556d3" args="(DSDPCone *K)" -->
<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="a952e902aab678a96a00cefeb27861a8b"></a><!-- doxytag: member="dsdpcone.c::DSDPConeGetDimension" ref="a952e902aab678a96a00cefeb27861a8b" args="(DSDPCone K, double *n)" -->
<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="a3a14b6dd810e1cbed712537487a1ce58"></a><!-- doxytag: member="dsdpcone.c::DSDPConeInitialize" ref="a3a14b6dd810e1cbed712537487a1ce58" args="(DSDPCone *K)" -->
<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="a8eb4a6997933bfd177cfc1bf75f9a3bf"></a><!-- doxytag: member="dsdpcone.c::DSDPConeInvertS" ref="a8eb4a6997933bfd177cfc1bf75f9a3bf" args="(DSDPCone K)" -->
<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="a86d47e198ccf3003c2fa4f1710002146"></a><!-- doxytag: member="dsdpcone.c::DSDPConeMonitor" ref="a86d47e198ccf3003c2fa4f1710002146" args="(DSDPCone K, int tag)" -->
<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="ace18be7143284ccf104156494f081660"></a><!-- doxytag: member="dsdpcone.c::DSDPConeMultiplyAdd" ref="ace18be7143284ccf104156494f081660" args="(DSDPCone K, double mu, DSDPVec vrow, DSDPVec v, DSDPVec vv)" -->
<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="ad1e12a500997ab2be6b7e24536017e95"></a><!-- doxytag: member="dsdpcone.c::DSDPConeOpsInitialize" ref="ad1e12a500997ab2be6b7e24536017e95" args="(struct DSDPCone_Ops *dops)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int DSDPConeOpsInitialize </td>
          <td>(</td>
          <td class="paramtype">struct DSDPCone_Ops *&#160;</td>
          <td class="paramname"><em>dops</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

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

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

</div>
</div>
<a class="anchor" id="abf7509c885d7e32c250657ecf88619d4"></a><!-- doxytag: member="dsdpcone.c::DSDPConeSetData" ref="abf7509c885d7e32c250657ecf88619d4" args="(DSDPCone *K, struct DSDPCone_Ops *ops, void *data)" -->
<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="aa1f01d8a4b8c0c27f00f2921c015dce7"></a><!-- doxytag: member="dsdpcone.c::DSDPConeSetUp" ref="aa1f01d8a4b8c0c27f00f2921c015dce7" args="(DSDPCone K, DSDPVec y)" -->
<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="ae1ea61e209ed52b7f11098cf5365c195"></a><!-- doxytag: member="dsdpcone.c::DSDPConeSetUp2" ref="ae1ea61e209ed52b7f11098cf5365c195" args="(DSDPCone K, DSDPVec yy0, DSDPSchurMat M)" -->
<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="a855eebeeb260f54298f00c05171e4f5a"></a><!-- doxytag: member="dsdpcone.c::DSDPConeSetXMaker" ref="a855eebeeb260f54298f00c05171e4f5a" args="(DSDPCone K, double mu, DSDPVec y, DSDPVec dy)" -->
<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="ab2d33b754ac2b2adc12b72eb93d6f00a"></a><!-- doxytag: member="dsdpcone.c::DSDPConeSparsityInSchurMat" ref="ab2d33b754ac2b2adc12b72eb93d6f00a" args="(DSDPCone K, int row, int rnnz[], int m)" -->
<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="a02e7404ce5e23352fd5f988d03300335"></a><!-- doxytag: member="dsdpcone.c::DSDPConeView" ref="a02e7404ce5e23352fd5f988d03300335" args="(DSDPCone K)" -->
<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="a4c1f6ff4554b63539556c8c00a79e205"></a><!-- doxytag: member="dsdpcone.c::DSDPGetConeName" ref="a4c1f6ff4554b63539556c8c00a79e205" args="(DSDPCone K, char *cname, int maxlength)" -->
<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>