Sophie

Sophie

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

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: Semidefinite Blocks (Operational Routines)</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">DSDP</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Semidefinite Blocks (Operational Routines)</div>  </div>
</div>
<div class="contents">
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SDPRoutines.html#ga7a1b477dea7f499f3b3499c479087632">SDPConeAddADotX</a> (<a class="el" href="structSDPCone__C.html">SDPCone</a> sdpcone, int blockj, double alpha, double x[], int nn, double adotx[], int m)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the inner products of a dense matrix X with the data matrices.  <a href="#ga7a1b477dea7f499f3b3499c479087632"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SDPRoutines.html#ga521bba9ef443933ea8748aa1e7f8d142">SDPConeAddXVAV</a> (<a class="el" href="structSDPCone__C.html">SDPCone</a> sdpcone, int blockj, double vin[], int n, double sum[], int mm)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute <img class="formulaInl" alt="$ v^T A_{i,j} v $" src="form_15.png"/> for i = 0 through m.  <a href="#ga521bba9ef443933ea8748aa1e7f8d142"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SDPRoutines.html#ga1ef87e3c016d9668efaa8240bec4383b">SDPConeComputeS</a> (<a class="el" href="structSDPCone__C.html">SDPCone</a> sdpcone, int blockj, double cc, double y[], int nvars, double r, int n, double s[], int nn)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the dual matrix S.  <a href="#ga1ef87e3c016d9668efaa8240bec4383b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SDPRoutines.html#ga42571e7fb01fa614f3ab4bfdf069d5f7">SDPConeComputeX</a> (<a class="el" href="structSDPCone__C.html">SDPCone</a> sdpcone, int blockj, int n, double x[], int nn)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the matrix X.  <a href="#ga42571e7fb01fa614f3ab4bfdf069d5f7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SDPRoutines.html#ga274b127d17d7dec0dc4b0ca499f13e89">SDPConeComputeXV</a> (<a class="el" href="structSDPCone__C.html">SDPCone</a> sdpcone, int blockj, int *derror)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute a factor V such that <img class="formulaInl" alt="$ V V^T= X $" src="form_14.png"/>.  <a href="#ga274b127d17d7dec0dc4b0ca499f13e89"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SDPRoutines.html#gada3cc6468c592a2e40b4f78b0def507c">SDPConeGetBlockSize</a> (<a class="el" href="structSDPCone__C.html">SDPCone</a> sdpcone, int blockj, int *n)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the dimension of one block in the semidefinite cone.  <a href="#gada3cc6468c592a2e40b4f78b0def507c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SDPRoutines.html#ga1b36d9b0d9411f3a46dafbeffddc8def">SDPConeGetNumberOfBlocks</a> (<a class="el" href="structSDPCone__C.html">SDPCone</a> sdpcone, int *nblocks)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of blocks in the semidefinite cone.  <a href="#ga1b36d9b0d9411f3a46dafbeffddc8def"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SDPRoutines.html#gaa9602b67858d92a161dab4a0b36e42ac">SDPConeMatrixView</a> (<a class="el" href="structSDPCone__C.html">SDPCone</a> sdpcone, int blockj)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Print the dense array to the screen.  <a href="#gaa9602b67858d92a161dab4a0b36e42ac"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SDPRoutines.html#gafd7a739bd01013be7e96f4069d526524">SDPConeRestoreXArray</a> (<a class="el" href="structSDPCone__C.html">SDPCone</a> sdpcone, int blockj, double *xx[], int *nn)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore the dense array and set these pointers to null.  <a href="#gafd7a739bd01013be7e96f4069d526524"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SDPRoutines.html#ga0c3a5c6eee6aca0ab0c222fbfcca1d19">SDPConeSetBlockSize</a> (<a class="el" href="structSDPCone__C.html">SDPCone</a> sdpcone, int blockj, int n)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the dimension of one block in the semidefinite cone.  <a href="#ga0c3a5c6eee6aca0ab0c222fbfcca1d19"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SDPRoutines.html#ga40728695e4c841900c02c615a8d96ab0">SDPConeSetSparsity</a> (<a class="el" href="structSDPCone__C.html">SDPCone</a> sdpcone, int blockj, int nnz)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the number of nonzero matrices in a block of the semidefinite cone.  <a href="#ga40728695e4c841900c02c615a8d96ab0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SDPRoutines.html#gaa3db1133fbf2edbfc1e48521bb367705">SDPConeSetXArray</a> (<a class="el" href="structSDPCone__C.html">SDPCone</a> sdpcone, int blockj, int n, double xx[], int nn)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide an array for the SDPCone object can use to store dense matrices.  <a href="#gaa3db1133fbf2edbfc1e48521bb367705"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SDPRoutines.html#ga288158182d952a72534b9c8894407c5b">SDPConeXVMultiply</a> (<a class="el" href="structSDPCone__C.html">SDPCone</a> sdpcone, int blockj, double vin[], double vout[], int n)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply an array by a factor V such that <img class="formulaInl" alt="$ V V^T= X $" src="form_14.png"/>.  <a href="#ga288158182d952a72534b9c8894407c5b"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p>Additional routines that operate on the data.</p>
<div class="fragment"><pre class="fragment"><span class="preprocessor">#include dsdp5.h </span>
</pre></div><p>In <a class="el" href="PDForm.html">DSDP Standard Form</a> a semidefinite program is given by the pair of problems </p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[ \begin{array}{llllllllll} (P) \ \ \ &amp; \mbox{minimize} &amp; {\displaystyle \sum_{j=0}^{n_b-1} C_j \bullet X_j } &amp;\mbox{subject to}&amp; {\displaystyle \sum_{j=0}^{n_b-1} A_{i,j} \bullet X_{j} = b_i } ,&amp; i=1,\ldots, m, &amp; &amp; X_j \succeq 0, \\ \end{array} \]" src="form_52.png"/>
</p>
 <p class="formulaDsp">
<img class="formulaDsp" alt="\[ \begin{array}{lllllllll} (D) \ \ \ &amp; \mbox{maximize} &amp; {\displaystyle \sum_{i=1}^m b_i \ y_i } &amp;\mbox{subject to}&amp;{\displaystyle \sum_{i=1}^m A_{i,j}y_i + S_{j} } = C_{j}, &amp; j=0, \ldots, n_b-1, &amp; S_j \succeq 0 \\ \end{array} \]" src="form_53.png"/>
</p>
<p> where the data <img class="formulaInl" alt="$A_{i,j}$" src="form_2.png"/> and <img class="formulaInl" alt="$C_j$" src="form_28.png"/> are symmetric matrices of the same dimension and the inner product of two <img class="formulaInl" alt="$n \times n$" src="form_3.png"/> matrices <img class="formulaInl" alt="$C=(c_{k,l})$" src="form_29.png"/> and <img class="formulaInl" alt="$X=(x_{k,l})$" src="form_30.png"/> is defined by <img class="formulaInl" alt="$ C \bullet X := trace (C^T X) = \sum_{k,l}c_{k,l} x_{k,l} $" src="form_54.png"/>.</p>
<p>Blocks are labelled from 0 to <em>nblocks</em>, where <em>nblocks</em> is the total number of blocks in the SDPCone object.</p>
<p>Variables y are numbered 1 through m. Variable 0 designates the C matrices, which are also denoted <img class="formulaInl" alt="$ A_{0,j}$" src="form_55.png"/>.</p>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>if successful </td></tr>
  </table>
  </dd>
</dl>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga7a1b477dea7f499f3b3499c479087632"></a><!-- doxytag: member="sdpcone.c::SDPConeAddADotX" ref="ga7a1b477dea7f499f3b3499c479087632" args="(SDPCone sdpcone, int blockj, double alpha, double x[], int nn, double adotx[], int m)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int SDPConeAddADotX </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDPCone__C.html">SDPCone</a>&#160;</td>
          <td class="paramname"><em>sdpcone</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>blockj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>alpha</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>adotx</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>Compute the inner products of a dense matrix X with the data matrices. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">sdpcone</td><td>semidefinite cone </td></tr>
    <tr><td class="paramname">blockj</td><td>block number </td></tr>
    <tr><td class="paramname">alpha</td><td>multiply inner product be this multiple </td></tr>
    <tr><td class="paramname">x</td><td>the dense array representing a matrix X. </td></tr>
    <tr><td class="paramname">nn</td><td>length of the array </td></tr>
    <tr><td class="paramname">adotx</td><td>array. </td></tr>
    <tr><td class="paramname">m</td><td>the length of the array and the number of variables y, plus two. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="sdpcone_8c_source.html#l00075">75</a> of file <a class="el" href="sdpcone_8c_source.html">sdpcone.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga521bba9ef443933ea8748aa1e7f8d142"></a><!-- doxytag: member="sdpcone.c::SDPConeAddXVAV" ref="ga521bba9ef443933ea8748aa1e7f8d142" args="(SDPCone sdpcone, int blockj, double vin[], int n, double sum[], int mm)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int SDPConeAddXVAV </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDPCone__C.html">SDPCone</a>&#160;</td>
          <td class="paramname"><em>sdpcone</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>blockj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>vin</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>sum</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>mm</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute <img class="formulaInl" alt="$ v^T A_{i,j} v $" src="form_15.png"/> for i = 0 through m. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">sdpcone</td><td>the SDP cone </td></tr>
    <tr><td class="paramname">blockj</td><td>block number </td></tr>
    <tr><td class="paramname">vin</td><td>array </td></tr>
    <tr><td class="paramname">n</td><td>dimension of the block and the length of the two arrays. </td></tr>
    <tr><td class="paramname">sum</td><td>input array </td></tr>
    <tr><td class="paramname">mm</td><td>the number of variables plus 2 </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__SDPRoutines.html#ga7a1b477dea7f499f3b3499c479087632" title="Compute the inner products of a dense matrix X with the data matrices.">SDPConeAddADotX()</a> </dd></dl>

<p>Definition at line <a class="el" href="sdpcone_8c_source.html#l00292">292</a> of file <a class="el" href="sdpcone_8c_source.html">sdpcone.c</a>.</p>

<p>Referenced by <a class="el" href="maxcut_8c_source.html#l00175">MaxCutRandomized()</a>, and <a class="el" href="stable_8c_source.html#l00164">StableRandomized()</a>.</p>

</div>
</div>
<a class="anchor" id="ga1ef87e3c016d9668efaa8240bec4383b"></a><!-- doxytag: member="sdpcone.c::SDPConeComputeS" ref="ga1ef87e3c016d9668efaa8240bec4383b" args="(SDPCone sdpcone, int blockj, double cc, double y[], int nvars, double r, int n, double s[], int nn)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int SDPConeComputeS </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDPCone__C.html">SDPCone</a>&#160;</td>
          <td class="paramname"><em>sdpcone</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>blockj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>cc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>y</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nvars</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>s</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nn</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute the dual matrix S. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">sdpcone</td><td>semidefinite cone object </td></tr>
    <tr><td class="paramname">blockj</td><td>block number </td></tr>
    <tr><td class="paramname">cc</td><td>the multiple of the matrix C (or A_0) </td></tr>
    <tr><td class="paramname">y</td><td>an array of containing the variables y </td></tr>
    <tr><td class="paramname">nvars</td><td>the length of the array and the number of variables y </td></tr>
    <tr><td class="paramname">r</td><td>the multiple of the identity matrix to add </td></tr>
    <tr><td class="paramname">n</td><td>the dimension of the block </td></tr>
    <tr><td class="paramname">s</td><td>array to where the matrix S will be copied. </td></tr>
    <tr><td class="paramname">nn</td><td>length of the array s </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="sdpcone_8c_source.html#l00042">42</a> of file <a class="el" href="sdpcone_8c_source.html">sdpcone.c</a>.</p>

<p>Referenced by <a class="el" href="printsdpa_8c_source.html#l00164">DSDPPrintData()</a>, and <a class="el" href="printsdpa_8c_source.html#l00094">DSDPPrintSolution()</a>.</p>

</div>
</div>
<a class="anchor" id="ga42571e7fb01fa614f3ab4bfdf069d5f7"></a><!-- doxytag: member="sdpcone.c::SDPConeComputeX" ref="ga42571e7fb01fa614f3ab4bfdf069d5f7" args="(SDPCone sdpcone, int blockj, int n, double x[], int nn)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int SDPConeComputeX </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDPCone__C.html">SDPCone</a>&#160;</td>
          <td class="paramname"><em>sdpcone</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>blockj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nn</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute the matrix X. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">sdpcone</td><td>semidefinite cone </td></tr>
    <tr><td class="paramname">n</td><td>di </td></tr>
    <tr><td class="paramname">blockj</td><td>block number </td></tr>
    <tr><td class="paramname">n</td><td>the dimension of the block </td></tr>
    <tr><td class="paramname">x</td><td>array to where the matrix X will be copied. </td></tr>
    <tr><td class="paramname">nn</td><td>length of the array x </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__DSDPBasic.html#gacd271769549030ce365597101946220b" title="Compute the X variables.">DSDPComputeX()</a> </dd></dl>

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

</div>
</div>
<a class="anchor" id="ga274b127d17d7dec0dc4b0ca499f13e89"></a><!-- doxytag: member="sdpcone.c::SDPConeComputeXV" ref="ga274b127d17d7dec0dc4b0ca499f13e89" args="(SDPCone sdpcone, int blockj, int *derror)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int SDPConeComputeXV </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDPCone__C.html">SDPCone</a>&#160;</td>
          <td class="paramname"><em>sdpcone</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>blockj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>derror</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Compute a factor V such that <img class="formulaInl" alt="$ V V^T= X $" src="form_14.png"/>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">sdpcone</td><td>the SDP cone </td></tr>
    <tr><td class="paramname">blockj</td><td>block number </td></tr>
    <tr><td class="paramname">derror</td><td>nonzero if no such factor could be computed. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__SDPRoutines.html#ga288158182d952a72534b9c8894407c5b" title="Multiply an array by a factor V such that .">SDPConeXVMultiply()</a></dd></dl>
<p>This routine is helpful in semidefinite relaxations of combinatorial problems. </p>

<p>Definition at line <a class="el" href="sdpcone_8c_source.html#l00325">325</a> of file <a class="el" href="sdpcone_8c_source.html">sdpcone.c</a>.</p>

<p>Referenced by <a class="el" href="maxcut_8c_source.html#l00175">MaxCutRandomized()</a>, and <a class="el" href="stable_8c_source.html#l00164">StableRandomized()</a>.</p>

</div>
</div>
<a class="anchor" id="gada3cc6468c592a2e40b4f78b0def507c"></a><!-- doxytag: member="dsdpadddata.c::SDPConeGetBlockSize" ref="gada3cc6468c592a2e40b4f78b0def507c" args="(SDPCone sdpcone, int blockj, int *n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int SDPConeGetBlockSize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDPCone__C.html">SDPCone</a>&#160;</td>
          <td class="paramname"><em>sdpcone</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>blockj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>n</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the dimension of one block in the semidefinite cone. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">sdpcone</td><td>semidefinite cone object </td></tr>
    <tr><td class="paramname">blockj</td><td>block number </td></tr>
    <tr><td class="paramname">*n</td><td>set to the dimension of the block </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__SDPRoutines.html#ga0c3a5c6eee6aca0ab0c222fbfcca1d19" title="Set the dimension of one block in the semidefinite cone.">SDPConeSetBlockSize()</a> </dd></dl>

<p>Definition at line <a class="el" href="dsdpadddata_8c_source.html#l00560">560</a> of file <a class="el" href="dsdpadddata_8c_source.html">dsdpadddata.c</a>.</p>

<p>Referenced by <a class="el" href="printsdpa_8c_source.html#l00164">DSDPPrintData()</a>, <a class="el" href="printsdpa_8c_source.html#l00094">DSDPPrintSolution()</a>, and <a class="el" href="sdpcone_8c_source.html#l00075">SDPConeAddADotX()</a>.</p>

</div>
</div>
<a class="anchor" id="ga1b36d9b0d9411f3a46dafbeffddc8def"></a><!-- doxytag: member="dsdpadddata.c::SDPConeGetNumberOfBlocks" ref="ga1b36d9b0d9411f3a46dafbeffddc8def" args="(SDPCone sdpcone, int *nblocks)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int SDPConeGetNumberOfBlocks </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDPCone__C.html">SDPCone</a>&#160;</td>
          <td class="paramname"><em>sdpcone</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>nblocks</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the number of blocks in the semidefinite cone. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">sdpcone</td><td>semidefinite cone object </td></tr>
    <tr><td class="paramname">*nblocks</td><td>set to the dimension of the block </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd>DSDPCreateSDPCone() </dd></dl>

<p>Definition at line <a class="el" href="dsdpadddata_8c_source.html#l00578">578</a> of file <a class="el" href="dsdpadddata_8c_source.html">dsdpadddata.c</a>.</p>

<p>Referenced by <a class="el" href="printsdpa_8c_source.html#l00164">DSDPPrintData()</a>, and <a class="el" href="printsdpa_8c_source.html#l00094">DSDPPrintSolution()</a>.</p>

</div>
</div>
<a class="anchor" id="gaa9602b67858d92a161dab4a0b36e42ac"></a><!-- doxytag: member="dsdpadddata.c::SDPConeMatrixView" ref="gaa9602b67858d92a161dab4a0b36e42ac" args="(SDPCone sdpcone, int blockj)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int SDPConeMatrixView </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDPCone__C.html">SDPCone</a>&#160;</td>
          <td class="paramname"><em>sdpcone</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>blockj</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Print the dense array to the screen. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">sdpcone</td><td>semidefinite cone object </td></tr>
    <tr><td class="paramname">blockj</td><td>block number </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__SDPBasic.html#ga9e7744a5c7fbe87642979e2b41bc2c00" title="After applying the solver, set a pointer to the array in the object with the solution X...">SDPConeGetXArray()</a> </dd></dl>

<p>Definition at line <a class="el" href="dsdpadddata_8c_source.html#l00372">372</a> of file <a class="el" href="dsdpadddata_8c_source.html">dsdpadddata.c</a>.</p>

</div>
</div>
<a class="anchor" id="gafd7a739bd01013be7e96f4069d526524"></a><!-- doxytag: member="dsdpadddata.c::SDPConeRestoreXArray" ref="gafd7a739bd01013be7e96f4069d526524" args="(SDPCone sdpcone, int blockj, double *xx[], int *nn)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int SDPConeRestoreXArray </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDPCone__C.html">SDPCone</a>&#160;</td>
          <td class="paramname"><em>sdpcone</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>blockj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>xx</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>nn</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Restore the dense array and set these pointers to null. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">sdpcone</td><td>semidefinite cone object </td></tr>
    <tr><td class="paramname">blockj</td><td>block number </td></tr>
    <tr><td class="paramname">xx</td><td>address of an array for dense matrices </td></tr>
    <tr><td class="paramname">*nn</td><td>the length of the array </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__SDPBasic.html#ga9e7744a5c7fbe87642979e2b41bc2c00" title="After applying the solver, set a pointer to the array in the object with the solution X...">SDPConeGetXArray()</a> </dd></dl>

<p>Definition at line <a class="el" href="dsdpadddata_8c_source.html#l00351">351</a> of file <a class="el" href="dsdpadddata_8c_source.html">dsdpadddata.c</a>.</p>

<p>Referenced by <a class="el" href="printsdpa_8c_source.html#l00094">DSDPPrintSolution()</a>.</p>

</div>
</div>
<a class="anchor" id="ga0c3a5c6eee6aca0ab0c222fbfcca1d19"></a><!-- doxytag: member="dsdpadddata.c::SDPConeSetBlockSize" ref="ga0c3a5c6eee6aca0ab0c222fbfcca1d19" args="(SDPCone sdpcone, int blockj, int n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int SDPConeSetBlockSize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDPCone__C.html">SDPCone</a>&#160;</td>
          <td class="paramname"><em>sdpcone</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>blockj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#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>Set the dimension of one block in the semidefinite cone. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">sdpcone</td><td>semidefinite cone object </td></tr>
    <tr><td class="paramname">blockj</td><td>block number </td></tr>
    <tr><td class="paramname">n</td><td>dimension of the block </td></tr>
  </table>
  </dd>
</dl>
<dl class="note"><dt><b>Note:</b></dt><dd>This routine is optional, but its use can help the object detect input errors. </dd></dl>

<p>Definition at line <a class="el" href="dsdpadddata_8c_source.html#l00535">535</a> of file <a class="el" href="dsdpadddata_8c_source.html">dsdpadddata.c</a>.</p>

<p>Referenced by <a class="el" href="theta_8c_source.html#l00056">LovaszTheta()</a>, <a class="el" href="maxcut_8c_source.html#l00051">MaxCut()</a>, <a class="el" href="dsdp_8c_source.html#l00035">mexFunction()</a>, <a class="el" href="color_8c_source.html#l00039">MinColoring()</a>, <a class="el" href="readsdpa_8c_source.html#l00080">ReadSDPAFile()</a>, <a class="el" href="dsdpadddata_8c_source.html#l00048">SDPConeCheckN()</a>, and <a class="el" href="stable_8c_source.html#l00040">StableSet()</a>.</p>

</div>
</div>
<a class="anchor" id="ga40728695e4c841900c02c615a8d96ab0"></a><!-- doxytag: member="dsdpadddata.c::SDPConeSetSparsity" ref="ga40728695e4c841900c02c615a8d96ab0" args="(SDPCone sdpcone, int blockj, int nnz)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int SDPConeSetSparsity </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDPCone__C.html">SDPCone</a>&#160;</td>
          <td class="paramname"><em>sdpcone</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>blockj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nnz</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the number of nonzero matrices in a block of the semidefinite cone. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">sdpcone</td><td>semidefinite cone object </td></tr>
    <tr><td class="paramname">blockj</td><td>block number </td></tr>
    <tr><td class="paramname">nnz</td><td>number of nonzero matrices in the block </td></tr>
  </table>
  </dd>
</dl>
<dl class="note"><dt><b>Note:</b></dt><dd>This routine is optional, but its use can improve the memory allocation within the SDPCone object. </dd></dl>

<p>Definition at line <a class="el" href="dsdpadddata_8c_source.html#l00596">596</a> of file <a class="el" href="dsdpadddata_8c_source.html">dsdpadddata.c</a>.</p>

<p>Referenced by <a class="el" href="theta_8c_source.html#l00056">LovaszTheta()</a>, <a class="el" href="dsdp_8c_source.html#l00035">mexFunction()</a>, <a class="el" href="color_8c_source.html#l00039">MinColoring()</a>, <a class="el" href="readsdpa_8c_source.html#l00080">ReadSDPAFile()</a>, and <a class="el" href="stable_8c_source.html#l00040">StableSet()</a>.</p>

</div>
</div>
<a class="anchor" id="gaa3db1133fbf2edbfc1e48521bb367705"></a><!-- doxytag: member="dsdpadddata.c::SDPConeSetXArray" ref="gaa3db1133fbf2edbfc1e48521bb367705" args="(SDPCone sdpcone, int blockj, int n, double xx[], int nn)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int SDPConeSetXArray </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDPCone__C.html">SDPCone</a>&#160;</td>
          <td class="paramname"><em>sdpcone</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>blockj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>xx</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nn</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Provide an array for the SDPCone object can use to store dense matrices. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">sdpcone</td><td>semidefinite cone object </td></tr>
    <tr><td class="paramname">blockj</td><td>block number </td></tr>
    <tr><td class="paramname">n</td><td>dimension of the block </td></tr>
    <tr><td class="paramname">xx</td><td>array for dense matrices </td></tr>
    <tr><td class="paramname">nn</td><td>length of array</td></tr>
  </table>
  </dd>
</dl>
<p>This routine elimates the need to copy the solution X into a separate array.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__SDPBasic.html#ga9e7744a5c7fbe87642979e2b41bc2c00" title="After applying the solver, set a pointer to the array in the object with the solution X...">SDPConeGetXArray()</a> </dd></dl>

<p>Definition at line <a class="el" href="dsdpadddata_8c_source.html#l00278">278</a> of file <a class="el" href="dsdpadddata_8c_source.html">dsdpadddata.c</a>.</p>

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

</div>
</div>
<a class="anchor" id="ga288158182d952a72534b9c8894407c5b"></a><!-- doxytag: member="sdpcone.c::SDPConeXVMultiply" ref="ga288158182d952a72534b9c8894407c5b" args="(SDPCone sdpcone, int blockj, double vin[], double vout[], int n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int SDPConeXVMultiply </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDPCone__C.html">SDPCone</a>&#160;</td>
          <td class="paramname"><em>sdpcone</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>blockj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>vin</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>vout</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#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>Multiply an array by a factor V such that <img class="formulaInl" alt="$ V V^T= X $" src="form_14.png"/>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">sdpcone</td><td>the SDP cone </td></tr>
    <tr><td class="paramname">blockj</td><td>block number </td></tr>
    <tr><td class="paramname">vin</td><td>input array </td></tr>
    <tr><td class="paramname">vout</td><td>the product V vin </td></tr>
    <tr><td class="paramname">n</td><td>dimension of the block and the length of the two arrays. </td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__SDPRoutines.html#ga274b127d17d7dec0dc4b0ca499f13e89" title="Compute a factor V such that .">SDPConeComputeXV()</a> </dd>
<dd>
<a class="el" href="group__SDPRoutines.html#ga521bba9ef443933ea8748aa1e7f8d142" title="Compute  for i = 0 through m.">SDPConeAddXVAV()</a> </dd></dl>

<p>Definition at line <a class="el" href="sdpcone_8c_source.html#l00251">251</a> of file <a class="el" href="sdpcone_8c_source.html">sdpcone.c</a>.</p>

<p>Referenced by <a class="el" href="maxcut_8c_source.html#l00175">MaxCutRandomized()</a>, and <a class="el" href="stable_8c_source.html#l00164">StableRandomized()</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>