<!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 (Advanced Data)</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 Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data 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 (Advanced Data)</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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__SDPData.html#gae24f68901d65362c067b2162235c7f60">SDPConeAddADenseVecMat</a> (<a class="el" href="structSDPCone__C.html">SDPCone</a> sdpcone, int blockj, int vari, int n, double alpha, double val[], int nnz)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Add a matrix <img class="formulaInl" alt="$A_{i,j}$" src="form_2.png"/> in a dense format. <a href="#gae24f68901d65362c067b2162235c7f60"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__SDPData.html#ga0568ca9b863657cf47e431b4ee580194">SDPConeAddARankOneMat</a> (<a class="el" href="structSDPCone__C.html">SDPCone</a> sdpcone, int blockj, int vari, int n, double alpha, int ishift, const int ind[], const double val[], int nnz)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Add data matrix <img class="formulaInl" alt="$A_{i,j}= alpha * v * v^T $" src="form_13.png"/> where v is a sparse vector. <a href="#ga0568ca9b863657cf47e431b4ee580194"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__SDPData.html#ga16ceede5a0ddb2717ca40ffe2a5f3d2f">SDPConeAddASparseVecMat</a> (<a class="el" href="structSDPCone__C.html">SDPCone</a> sdpcone, int blockj, int vari, int n, double alpha, int ishift, const int ind[], const double val[], int nnz)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Add data matrix <img class="formulaInl" alt="$A_{i,j}$" src="form_2.png"/> in a sparse format. <a href="#ga16ceede5a0ddb2717ca40ffe2a5f3d2f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__SDPData.html#ga5969cf1c812c704f8bb61b0233a33f84">SDPConeAddConstantMat</a> (<a class="el" href="structSDPCone__C.html">SDPCone</a> sdpcone, int blockj, int vari, int n, double value)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Add a matrix <img class="formulaInl" alt="$A_{i,j}$" src="form_2.png"/> whose elements are all the same. <a href="#ga5969cf1c812c704f8bb61b0233a33f84"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__SDPData.html#ga16144b39108a8daef0d993f14404d6ca">SDPConeAddDataMatrix</a> (<a class="el" href="structSDPCone__C.html">SDPCone</a> sdpcone, int blockj, int vari, int n, char format, struct <a class="el" href="structDSDPDataMat__Ops.html">DSDPDataMat_Ops</a> *dsdpdataops, void *data)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Add a data matrix <img class="formulaInl" alt="$A_{i,j}$" src="form_2.png"/>. <a href="#ga16144b39108a8daef0d993f14404d6ca"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__SDPData.html#ga92697ab67f03fa41024404d70c7748ce">SDPConeAddIdentity</a> (<a class="el" href="structSDPCone__C.html">SDPCone</a> sdpcone, int blockj, int vari, int n, double val)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Add a matrix <img class="formulaInl" alt="$A_{i,j}$" src="form_2.png"/> that is a multiple of the identity matrix. <a href="#ga92697ab67f03fa41024404d70c7748ce"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__SDPData.html#ga479e45b5543849df14aa0d1c56e25753">SDPConeCheckData</a> (<a class="el" href="structSDPCone__C.html">SDPCone</a> sdpcone)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Check the matrix operations on a data matrix;. <a href="#ga479e45b5543849df14aa0d1c56e25753"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__SDPData.html#gabb32703bcca3a703fbbb591ee6737118">SDPConeGetStorageFormat</a> (<a class="el" href="structSDPCone__C.html">SDPCone</a> sdpcone, int blockj, char *format)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the storage format for the block. <a href="#gabb32703bcca3a703fbbb591ee6737118"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__SDPData.html#ga432458dcffefd28177d23ae8e60cf4d8">SDPConeRemoveDataMatrix</a> (<a class="el" href="structSDPCone__C.html">SDPCone</a> sdpcone, int blockj, int vari)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Remove the data matrix <img class="formulaInl" alt="$A_{i,j}$" src="form_2.png"/> from the cone. <a href="#ga432458dcffefd28177d23ae8e60cf4d8"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__SDPData.html#gafb0929bf0ecd35329ecbf5a3e444cc7b">SDPConeSetARankOneMat</a> (<a class="el" href="structSDPCone__C.html">SDPCone</a> sdpcone, int blockj, int vari, int n, double alpha, int ishift, const int ind[], const double val[], int nnz)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set data matrix <img class="formulaInl" alt="$A_{i,j}= alpha * v * v^T $" src="form_13.png"/> where v is a sparse vector. <a href="#gafb0929bf0ecd35329ecbf5a3e444cc7b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__SDPData.html#ga3af8e9398c77b07799bd3cfe29faa070">SDPConeSetConstantMat</a> (<a class="el" href="structSDPCone__C.html">SDPCone</a> sdpcone, int blockj, int vari, int n, double value)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set a matrix <img class="formulaInl" alt="$A_{i,j}$" src="form_2.png"/> whose elements are all the same. <a href="#ga3af8e9398c77b07799bd3cfe29faa070"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__SDPData.html#gabdaa31a53990efd50210e0a52b0b23c9">SDPConeSetIdentity</a> (<a class="el" href="structSDPCone__C.html">SDPCone</a> sdpcone, int blockj, int vari, int n, double val)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set a matrix <img class="formulaInl" alt="$A_{i,j}$" src="form_2.png"/> to be a multiple of the identity matrix. <a href="#gabdaa31a53990efd50210e0a52b0b23c9"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__SDPData.html#gadb309e9fe9d1cbc1a0e3a30d051be2aa">SDPConeSetStorageFormat</a> (<a class="el" href="structSDPCone__C.html">SDPCone</a> sdpcone, int blockj, char format)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the dense storage format of a block in the semidefinite cone. <a href="#gadb309e9fe9d1cbc1a0e3a30d051be2aa"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__SDPData.html#gaad2a1599cae5d90838ded62d70252f74">SDPConeSetZeroMat</a> (<a class="el" href="structSDPCone__C.html">SDPCone</a> sdpcone, int blockj, int vari, int n)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set a matrix <img class="formulaInl" alt="$A_{i,j}$" src="form_2.png"/> whose elements are all equal zero. <a href="#gaad2a1599cae5d90838ded62d70252f74"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__SDPData.html#ga303574b92e3dd97faadb1a3a190391e4">SDPConeUseFullSymmetricFormat</a> (<a class="el" href="structSDPCone__C.html">SDPCone</a> sdpcone, int blockj)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Use full symmetric format for the dense array. <a href="#ga303574b92e3dd97faadb1a3a190391e4"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__SDPData.html#gaa3747efc8ae918a9be9138dcab3cf7bd">SDPConeUsePackedFormat</a> (<a class="el" href="structSDPCone__C.html">SDPCone</a> sdpcone, int blockj)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Use packed symmetric format for the dense array. <a href="#gaa3747efc8ae918a9be9138dcab3cf7bd"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__SDPData.html#gaafa7a20cefd79a41d5ba024227f96c85">SDPConeView2</a> (<a class="el" href="structSDPCone__C.html">SDPCone</a> sdpcone)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Print the SDP cone to the screen in a second way. <a href="#gaafa7a20cefd79a41d5ba024227f96c85"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__SDPData.html#gaaba0c2eab95b5cd5ecf008bdd9ac360b">SDPConeView3</a> (<a class="el" href="structSDPCone__C.html">SDPCone</a> sdpcone)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Print the SDP cone to the screen in a third way. <a href="#gaaba0c2eab95b5cd5ecf008bdd9ac360b"></a><br/></td></tr> </table> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <p>Less frequently used routines to set data into the SDPCone object and operate on the variables.</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) \ \ \ & \mbox{minimize} & {\displaystyle \sum_{j=0}^{n_b-1} C_j \bullet X_j } &\mbox{subject to}& {\displaystyle \sum_{j=0}^{n_b-1} A_{i,j} \bullet X_{j} = b_i } ,& i=1,\ldots, m, & & X_j \succeq 0, \\ \end{array} \]" src="form_52.png"/> </p> <p class="formulaDsp"> <img class="formulaDsp" alt="\[ \begin{array}{lllllllll} (D) \ \ \ & \mbox{maximize} & {\displaystyle \sum_{i=1}^m b_i \ y_i } &\mbox{subject to}&{\displaystyle \sum_{i=1}^m A_{i,j}y_i + S_{j} } = C_{j}, & j=0, \ldots, n_b-1, & 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="gae24f68901d65362c067b2162235c7f60"></a><!-- doxytag: member="dsdpadddatamat.c::SDPConeAddADenseVecMat" ref="gae24f68901d65362c067b2162235c7f60" args="(SDPCone sdpcone, int blockj, int vari, int n, double alpha, double val[], int nnz)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int SDPConeAddADenseVecMat </td> <td>(</td> <td class="paramtype"><a class="el" href="structSDPCone__C.html">SDPCone</a> </td> <td class="paramname"><em>sdpcone</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>blockj</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>vari</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>n</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>alpha</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>val</em>[], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>nnz</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Add a matrix <img class="formulaInl" alt="$A_{i,j}$" src="form_2.png"/> in a dense format. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">sdpcone</td><td>SDP cone </td></tr> <tr><td class="paramname">blockj</td><td>block number j from 0 to nblocks </td></tr> <tr><td class="paramname">vari</td><td>variable i from 0 through m </td></tr> <tr><td class="paramname">n</td><td>dimension of the matrix </td></tr> <tr><td class="paramname">alpha</td><td>multiple of data (usually 1.0) </td></tr> <tr><td class="paramname">val</td><td>array of elements in the matrix </td></tr> <tr><td class="paramname">nnz</td><td>length of the previous two arrays </td></tr> </table> </dd> </dl> <dl class="note"><dt><b>Note:</b></dt><dd>DSDP will use the <code>val</code> array in many routines, but it will not modify or delete it until finished with DSDP.</dd></dl> <p>The matrix </p> <div class="image"> <img src="img208.gif" alt="img208.gif"/> </div> <p> can be inserted into the cone in symmetric packed format as follows </p> <div class="fragment"><pre class="fragment"><span class="keywordtype">double</span> val[]={3,2,0,0,6,0}; <a class="code" href="group__SDPData.html#gae24f68901d65362c067b2162235c7f60" title="Add a matrix in a dense format.">SDPConeAddADenseVecMat</a>(sdpcone,j,i,3,1.0,val,6); </pre></div><dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__SDPBasic.html#ga66567faeecc4cb75f7ae3a3eed966bd4" title="Print a data matrix to the screen.">SDPConeViewDataMatrix()</a> </dd> <dd> <a class="el" href="group__SDPBasic.html#gaa6ed45b2539266f04bd4b8401aa89c06" title="Set data matrix in a sparse format.">SDPConeSetASparseVecMat()</a> </dd> <dd> <a class="el" href="group__SDPBasic.html#ga9e2cd5d5922b5e45c48ec58c7345def0" title="Set a matrix in a dense format.">SDPConeSetADenseVecMat()</a> </dd></dl> <p>Definition at line <a class="el" href="dsdpadddatamat_8c_source.html#l00203">203</a> of file <a class="el" href="dsdpadddatamat_8c_source.html">dsdpadddatamat.c</a>.</p> <p>Referenced by <a class="el" href="dsdpadddatamat_8c_source.html#l00265">SDPConeSetADenseVecMat()</a>.</p> </div> </div> <a class="anchor" id="ga0568ca9b863657cf47e431b4ee580194"></a><!-- doxytag: member="dsdpadddatamat.c::SDPConeAddARankOneMat" ref="ga0568ca9b863657cf47e431b4ee580194" args="(SDPCone sdpcone, int blockj, int vari, int n, double alpha, int ishift, const int ind[], const double val[], int nnz)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int SDPConeAddARankOneMat </td> <td>(</td> <td class="paramtype"><a class="el" href="structSDPCone__C.html">SDPCone</a> </td> <td class="paramname"><em>sdpcone</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>blockj</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>vari</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>n</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>alpha</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>ishift</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const int </td> <td class="paramname"><em>ind</em>[], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const double </td> <td class="paramname"><em>val</em>[], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>nnz</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Add data matrix <img class="formulaInl" alt="$A_{i,j}= alpha * v * v^T $" src="form_13.png"/> where v is a sparse vector. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">sdpcone</td><td>SDP cone </td></tr> <tr><td class="paramname">blockj</td><td>block number j from 0 to nblocks </td></tr> <tr><td class="paramname">vari</td><td>variable i from 0 through m </td></tr> <tr><td class="paramname">n</td><td>dimension of the matrix </td></tr> <tr><td class="paramname">alpha</td><td>multiple of the outer product </td></tr> <tr><td class="paramname">ishift</td><td>index of first element in a dense vector (usually 0) </td></tr> <tr><td class="paramname">val</td><td>array of elements in the vector </td></tr> <tr><td class="paramname">ind</td><td>array of indices representing the location of the nonzeros </td></tr> <tr><td class="paramname">nnz</td><td>length of the previous two arrays </td></tr> </table> </dd> </dl> <dl class="note"><dt><b>Note:</b></dt><dd>DSDP will use the two arrays throughout in many routines, but it will not modify or delete them. </dd></dl> <dl class="see"><dt><b>See also:</b></dt><dd>DSDPCreateSDPCone() </dd> <dd> <a class="el" href="group__SDPBasic.html#ga66567faeecc4cb75f7ae3a3eed966bd4" title="Print a data matrix to the screen.">SDPConeViewDataMatrix()</a> </dd> <dd> <a class="el" href="group__SDPData.html#ga16ceede5a0ddb2717ca40ffe2a5f3d2f" title="Add data matrix in a sparse format.">SDPConeAddASparseVecMat()</a> </dd></dl> <p>Definition at line <a class="el" href="dsdpadddatamat_8c_source.html#l00478">478</a> of file <a class="el" href="dsdpadddatamat_8c_source.html">dsdpadddatamat.c</a>.</p> <p>Referenced by <a class="el" href="dsdpadddatamat_8c_source.html#l00519">SDPConeSetARankOneMat()</a>, and <a class="el" href="stable_8c_source.html#l00107">SetStableSetData()</a>.</p> </div> </div> <a class="anchor" id="ga16ceede5a0ddb2717ca40ffe2a5f3d2f"></a><!-- doxytag: member="dsdpadddatamat.c::SDPConeAddASparseVecMat" ref="ga16ceede5a0ddb2717ca40ffe2a5f3d2f" args="(SDPCone sdpcone, int blockj, int vari, int n, double alpha, int ishift, const int ind[], const double val[], int nnz)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int SDPConeAddASparseVecMat </td> <td>(</td> <td class="paramtype"><a class="el" href="structSDPCone__C.html">SDPCone</a> </td> <td class="paramname"><em>sdpcone</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>blockj</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>vari</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>n</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>alpha</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>ishift</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const int </td> <td class="paramname"><em>ind</em>[], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const double </td> <td class="paramname"><em>val</em>[], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>nnz</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Add data matrix <img class="formulaInl" alt="$A_{i,j}$" src="form_2.png"/> in a sparse format. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">sdpcone</td><td>SDP cone </td></tr> <tr><td class="paramname">blockj</td><td>block number j from 0 to nblocks </td></tr> <tr><td class="paramname">vari</td><td>variable i from 0 through m </td></tr> <tr><td class="paramname">n</td><td>dimension of the matrix </td></tr> <tr><td class="paramname">ishift</td><td>index of first element (usually 0) </td></tr> <tr><td class="paramname">alpha</td><td>multiple of the data (usually 1) </td></tr> <tr><td class="paramname">val</td><td>array of elements in the matrix </td></tr> <tr><td class="paramname">ind</td><td>array of indices representing the location of the elements </td></tr> <tr><td class="paramname">nnz</td><td>length of the previous two arrays </td></tr> </table> </dd> </dl> <dl class="note"><dt><b>Note:</b></dt><dd>DSDP will use the two arrays throughout in many routines, but it will not modify or delete them until finished with DSDP. </dd></dl> <dl class="see"><dt><b>See also:</b></dt><dd>DSDPCreateSDPCone() </dd> <dd> <a class="el" href="group__SDPData.html#gabb32703bcca3a703fbbb591ee6737118" title="Get the storage format for the block.">SDPConeGetStorageFormat()</a> </dd> <dd> <a class="el" href="group__SDPBasic.html#ga66567faeecc4cb75f7ae3a3eed966bd4" title="Print a data matrix to the screen.">SDPConeViewDataMatrix()</a> </dd> <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="dsdpadddatamat_8c_source.html#l00049">49</a> of file <a class="el" href="dsdpadddatamat_8c_source.html">dsdpadddatamat.c</a>.</p> <p>Referenced by <a class="el" href="maxcut_8c_source.html#l00051">MaxCut()</a>, <a class="el" href="dsdpadddatamat_8c_source.html#l00152">SDPConeSetASparseVecMat()</a>, and <a class="el" href="stable_8c_source.html#l00107">SetStableSetData()</a>.</p> </div> </div> <a class="anchor" id="ga5969cf1c812c704f8bb61b0233a33f84"></a><!-- doxytag: member="dsdpadddatamat.c::SDPConeAddConstantMat" ref="ga5969cf1c812c704f8bb61b0233a33f84" args="(SDPCone sdpcone, int blockj, int vari, int n, double value)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int SDPConeAddConstantMat </td> <td>(</td> <td class="paramtype"><a class="el" href="structSDPCone__C.html">SDPCone</a> </td> <td class="paramname"><em>sdpcone</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>blockj</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>vari</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>n</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>value</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Add a matrix <img class="formulaInl" alt="$A_{i,j}$" src="form_2.png"/> whose elements are all the same. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">sdpcone</td><td>SDP cone </td></tr> <tr><td class="paramname">blockj</td><td>block number j from 0 to nblocks </td></tr> <tr><td class="paramname">vari</td><td>variable i from 0 through m </td></tr> <tr><td class="paramname">n</td><td>dimension of the matrix </td></tr> <tr><td class="paramname">value</td><td>the value of each element in the matrix </td></tr> </table> </dd> </dl> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__SDPData.html#gae24f68901d65362c067b2162235c7f60" title="Add a matrix in a dense format.">SDPConeAddADenseVecMat()</a> </dd></dl> <p>Definition at line <a class="el" href="dsdpadddatamat_8c_source.html#l00356">356</a> of file <a class="el" href="dsdpadddatamat_8c_source.html">dsdpadddatamat.c</a>.</p> <p>Referenced by <a class="el" href="dsdpadddatamat_8c_source.html#l00391">SDPConeSetConstantMat()</a>.</p> </div> </div> <a class="anchor" id="ga16144b39108a8daef0d993f14404d6ca"></a><!-- doxytag: member="dsdpadddata.c::SDPConeAddDataMatrix" ref="ga16144b39108a8daef0d993f14404d6ca" args="(SDPCone sdpcone, int blockj, int vari, int n, char format, struct DSDPDataMat_Ops *dsdpdataops, void *data)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int SDPConeAddDataMatrix </td> <td>(</td> <td class="paramtype"><a class="el" href="structSDPCone__C.html">SDPCone</a> </td> <td class="paramname"><em>sdpcone</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>blockj</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>vari</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>n</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char </td> <td class="paramname"><em>format</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">struct <a class="el" href="structDSDPDataMat__Ops.html">DSDPDataMat_Ops</a> * </td> <td class="paramname"><em>dsdpdataops</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>data</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Add a data matrix <img class="formulaInl" alt="$A_{i,j}$" src="form_2.png"/>. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">sdpcone</td><td>SDP cone </td></tr> <tr><td class="paramname">blockj</td><td>block number j from 0 to nblocks </td></tr> <tr><td class="paramname">vari</td><td>variable i from 0 through m </td></tr> <tr><td class="paramname">n</td><td>dimension of the matrix </td></tr> <tr><td class="paramname">format</td><td>storage format 'P' (default) or 'U' </td></tr> <tr><td class="paramname">data</td><td>address of a structure ( cast to <code>void*</code> ) with matrix data. </td></tr> <tr><td class="paramname">dsdpdataops</td><td>address of a structure of function pointers that operate on the matrix data </td></tr> </table> </dd> </dl> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__SDPBasic.html#gaa6ed45b2539266f04bd4b8401aa89c06" title="Set data matrix in a sparse format.">SDPConeSetASparseVecMat()</a> </dd> <dd> <a class="el" href="group__SDPData.html#gadb309e9fe9d1cbc1a0e3a30d051be2aa" title="Set the dense storage format of a block in the semidefinite cone.">SDPConeSetStorageFormat()</a> </dd> <dd> <a class="el" href="group__SDPRoutines.html#ga0c3a5c6eee6aca0ab0c222fbfcca1d19" title="Set the dimension of one block in the semidefinite cone.">SDPConeSetBlockSize()</a> </dd> <dd> <a class="el" href="group__SDPData.html#ga479e45b5543849df14aa0d1c56e25753" title="Check the matrix operations on a data matrix;.">SDPConeCheckData()</a> </dd></dl> <p>Definition at line <a class="el" href="dsdpadddata_8c_source.html#l00154">154</a> of file <a class="el" href="dsdpadddata_8c_source.html">dsdpadddata.c</a>.</p> <p>Referenced by <a class="el" href="dsdpadddatamat_8c_source.html#l00203">SDPConeAddADenseVecMat()</a>, <a class="el" href="dsdpadddatamat_8c_source.html#l00478">SDPConeAddARankOneMat()</a>, <a class="el" href="dsdpadddatamat_8c_source.html#l00049">SDPConeAddASparseVecMat()</a>, <a class="el" href="dsdpadddatamat_8c_source.html#l00356">SDPConeAddConstantMat()</a>, <a class="el" href="dsdpadddatamat_8c_source.html#l00299">SDPConeAddIdentity()</a>, <a class="el" href="dsdpadddatamat_8c_source.html#l00414">SDPConeSetZeroMat()</a>, and <a class="el" href="theta_8c_source.html#l00126">SetThetaData()</a>.</p> </div> </div> <a class="anchor" id="ga92697ab67f03fa41024404d70c7748ce"></a><!-- doxytag: member="dsdpadddatamat.c::SDPConeAddIdentity" ref="ga92697ab67f03fa41024404d70c7748ce" args="(SDPCone sdpcone, int blockj, int vari, int n, double val)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int SDPConeAddIdentity </td> <td>(</td> <td class="paramtype"><a class="el" href="structSDPCone__C.html">SDPCone</a> </td> <td class="paramname"><em>sdpcone</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>blockj</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>vari</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>n</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>val</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Add a matrix <img class="formulaInl" alt="$A_{i,j}$" src="form_2.png"/> that is a multiple of the identity matrix. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">sdpcone</td><td>SDP cone </td></tr> <tr><td class="paramname">blockj</td><td>block number j from 0 to nblocks </td></tr> <tr><td class="paramname">vari</td><td>variable i from 0 through m </td></tr> <tr><td class="paramname">n</td><td>dimension of the matrix </td></tr> <tr><td class="paramname">val</td><td>multiple of identity matrix </td></tr> </table> </dd> </dl> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__SDPData.html#ga16ceede5a0ddb2717ca40ffe2a5f3d2f" title="Add data matrix in a sparse format.">SDPConeAddASparseVecMat()</a> </dd></dl> <p>Definition at line <a class="el" href="dsdpadddatamat_8c_source.html#l00299">299</a> of file <a class="el" href="dsdpadddatamat_8c_source.html">dsdpadddatamat.c</a>.</p> <p>Referenced by <a class="el" href="dsdpadddatamat_8c_source.html#l00334">SDPConeSetIdentity()</a>.</p> </div> </div> <a class="anchor" id="ga479e45b5543849df14aa0d1c56e25753"></a><!-- doxytag: member="dsdpadddata.c::SDPConeCheckData" ref="ga479e45b5543849df14aa0d1c56e25753" args="(SDPCone sdpcone)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int SDPConeCheckData </td> <td>(</td> <td class="paramtype"><a class="el" href="structSDPCone__C.html">SDPCone</a> </td> <td class="paramname"><em>sdpcone</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Check the matrix operations on a data matrix;. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">sdpcone</td><td>the cone</td></tr> </table> </dd> </dl> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="dsdp5_8h.html#a5d847d444ba507c05d05370e16f66ab9" title="Print the SDPCone to the screen;.">SDPConeView</a> </dd></dl> <p>Definition at line <a class="el" href="dsdpadddata_8c_source.html#l00692">692</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="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="gabb32703bcca3a703fbbb591ee6737118"></a><!-- doxytag: member="dsdpadddata.c::SDPConeGetStorageFormat" ref="gabb32703bcca3a703fbbb591ee6737118" args="(SDPCone sdpcone, int blockj, char *format)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int SDPConeGetStorageFormat </td> <td>(</td> <td class="paramtype"><a class="el" href="structSDPCone__C.html">SDPCone</a> </td> <td class="paramname"><em>sdpcone</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>blockj</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"><em>format</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Get the storage format for the block. </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">format</td><td>format the block </td></tr> </table> </dd> </dl> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__SDPData.html#gadb309e9fe9d1cbc1a0e3a30d051be2aa" title="Set the dense storage format of a block in the semidefinite cone.">SDPConeSetStorageFormat()</a> </dd> <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> <dd> <a class="el" href="group__SDPBasic.html#gaa6ed45b2539266f04bd4b8401aa89c06" title="Set data matrix in a sparse format.">SDPConeSetASparseVecMat()</a> </dd> <dd> <a class="el" href="group__SDPBasic.html#ga9e2cd5d5922b5e45c48ec58c7345def0" title="Set a matrix in a dense format.">SDPConeSetADenseVecMat()</a></dd></dl> <p>The default format is 'P' (packed symmetric format). </p> <p>Definition at line <a class="el" href="dsdpadddata_8c_source.html#l00505">505</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>, <a class="el" href="dsdpadddatamat_8c_source.html#l00203">SDPConeAddADenseVecMat()</a>, <a class="el" href="sdpcone_8c_source.html#l00075">SDPConeAddADotX()</a>, <a class="el" href="dsdpadddatamat_8c_source.html#l00478">SDPConeAddARankOneMat()</a>, <a class="el" href="dsdpadddatamat_8c_source.html#l00049">SDPConeAddASparseVecMat()</a>, <a class="el" href="dsdpadddatamat_8c_source.html#l00356">SDPConeAddConstantMat()</a>, <a class="el" href="dsdpadddatamat_8c_source.html#l00299">SDPConeAddIdentity()</a>, <a class="el" href="sdpcone_8c_source.html#l00042">SDPConeComputeS()</a>, <a class="el" href="sdpcone_8c_source.html#l00191">SDPConeComputeX()</a>, <a class="el" href="dsdpadddatamat_8c_source.html#l00438">SDPConeSetRIdentity()</a>, <a class="el" href="dsdpadddata_8c_source.html#l00278">SDPConeSetXArray()</a>, <a class="el" href="dsdpadddata_8c_source.html#l00247">SDPConeSetXMat()</a>, <a class="el" href="dsdpadddatamat_8c_source.html#l00414">SDPConeSetZeroMat()</a>, and <a class="el" href="sdpcone_8c_source.html#l00223">SDPConeViewX()</a>.</p> </div> </div> <a class="anchor" id="ga432458dcffefd28177d23ae8e60cf4d8"></a><!-- doxytag: member="dsdpadddata.c::SDPConeRemoveDataMatrix" ref="ga432458dcffefd28177d23ae8e60cf4d8" args="(SDPCone sdpcone, int blockj, int vari)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int SDPConeRemoveDataMatrix </td> <td>(</td> <td class="paramtype"><a class="el" href="structSDPCone__C.html">SDPCone</a> </td> <td class="paramname"><em>sdpcone</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>blockj</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>vari</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Remove the data matrix <img class="formulaInl" alt="$A_{i,j}$" src="form_2.png"/> from the cone. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">sdpcone</td><td>SDP cone </td></tr> <tr><td class="paramname">blockj</td><td>block number j from 0 to nblocks </td></tr> <tr><td class="paramname">vari</td><td>variable i from 0 through m </td></tr> </table> </dd> </dl> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="dsdpadddata_8c.html#a090ffcb29e21d85ef1c6fb4effdab4ba" title="Print the SDPCone to the screen;.">SDPConeView()</a> </dd></dl> <p>Definition at line <a class="el" href="dsdpadddata_8c_source.html#l00127">127</a> of file <a class="el" href="dsdpadddata_8c_source.html">dsdpadddata.c</a>.</p> <p>Referenced by <a class="el" href="dsdpadddatamat_8c_source.html#l00265">SDPConeSetADenseVecMat()</a>, <a class="el" href="dsdpadddatamat_8c_source.html#l00519">SDPConeSetARankOneMat()</a>, <a class="el" href="dsdpadddatamat_8c_source.html#l00152">SDPConeSetASparseVecMat()</a>, <a class="el" href="dsdpadddatamat_8c_source.html#l00391">SDPConeSetConstantMat()</a>, <a class="el" href="dsdpadddatamat_8c_source.html#l00334">SDPConeSetIdentity()</a>, and <a class="el" href="dsdpadddatamat_8c_source.html#l00414">SDPConeSetZeroMat()</a>.</p> </div> </div> <a class="anchor" id="gafb0929bf0ecd35329ecbf5a3e444cc7b"></a><!-- doxytag: member="dsdpadddatamat.c::SDPConeSetARankOneMat" ref="gafb0929bf0ecd35329ecbf5a3e444cc7b" args="(SDPCone sdpcone, int blockj, int vari, int n, double alpha, int ishift, const int ind[], const double val[], int nnz)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int SDPConeSetARankOneMat </td> <td>(</td> <td class="paramtype"><a class="el" href="structSDPCone__C.html">SDPCone</a> </td> <td class="paramname"><em>sdpcone</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>blockj</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>vari</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>n</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>alpha</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>ishift</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const int </td> <td class="paramname"><em>ind</em>[], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const double </td> <td class="paramname"><em>val</em>[], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>nnz</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Set data matrix <img class="formulaInl" alt="$A_{i,j}= alpha * v * v^T $" src="form_13.png"/> where v is a sparse vector. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">sdpcone</td><td>SDP cone </td></tr> <tr><td class="paramname">blockj</td><td>block number j from 0 to nblocks </td></tr> <tr><td class="paramname">vari</td><td>variable i from 0 through m </td></tr> <tr><td class="paramname">n</td><td>dimension of the matrix </td></tr> <tr><td class="paramname">alpha</td><td>multiple of the outer product </td></tr> <tr><td class="paramname">ishift</td><td>index of first element in a dense vector (usually 0) </td></tr> <tr><td class="paramname">val</td><td>array of elements in the vector </td></tr> <tr><td class="paramname">ind</td><td>array of indices representing the location of the nonzeros </td></tr> <tr><td class="paramname">nnz</td><td>length of the previous two arrays </td></tr> </table> </dd> </dl> <dl class="note"><dt><b>Note:</b></dt><dd>DSDP will use the two arrays throughout in many routines, but it will not modify or delete them. </dd></dl> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__SDPBasic.html#ga66567faeecc4cb75f7ae3a3eed966bd4" title="Print a data matrix to the screen.">SDPConeViewDataMatrix()</a> </dd> <dd> <a class="el" href="group__SDPData.html#ga0568ca9b863657cf47e431b4ee580194" title="Add data matrix where v is a sparse vector.">SDPConeAddARankOneMat()</a> </dd></dl> <p>Definition at line <a class="el" href="dsdpadddatamat_8c_source.html#l00519">519</a> of file <a class="el" href="dsdpadddatamat_8c_source.html">dsdpadddatamat.c</a>.</p> </div> </div> <a class="anchor" id="ga3af8e9398c77b07799bd3cfe29faa070"></a><!-- doxytag: member="dsdpadddatamat.c::SDPConeSetConstantMat" ref="ga3af8e9398c77b07799bd3cfe29faa070" args="(SDPCone sdpcone, int blockj, int vari, int n, double value)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int SDPConeSetConstantMat </td> <td>(</td> <td class="paramtype"><a class="el" href="structSDPCone__C.html">SDPCone</a> </td> <td class="paramname"><em>sdpcone</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>blockj</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>vari</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>n</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>value</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Set a matrix <img class="formulaInl" alt="$A_{i,j}$" src="form_2.png"/> whose elements are all the same. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">sdpcone</td><td>SDP cone </td></tr> <tr><td class="paramname">blockj</td><td>block number j from 0 to nblocks </td></tr> <tr><td class="paramname">vari</td><td>variable i from 0 through m </td></tr> <tr><td class="paramname">n</td><td>dimension of the matrix </td></tr> <tr><td class="paramname">value</td><td>the value of each element in the matrix </td></tr> </table> </dd> </dl> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__SDPBasic.html#ga9e2cd5d5922b5e45c48ec58c7345def0" title="Set a matrix in a dense format.">SDPConeSetADenseVecMat()</a> </dd></dl> <p>Definition at line <a class="el" href="dsdpadddatamat_8c_source.html#l00391">391</a> of file <a class="el" href="dsdpadddatamat_8c_source.html">dsdpadddatamat.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="gabdaa31a53990efd50210e0a52b0b23c9"></a><!-- doxytag: member="dsdpadddatamat.c::SDPConeSetIdentity" ref="gabdaa31a53990efd50210e0a52b0b23c9" args="(SDPCone sdpcone, int blockj, int vari, int n, double val)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int SDPConeSetIdentity </td> <td>(</td> <td class="paramtype"><a class="el" href="structSDPCone__C.html">SDPCone</a> </td> <td class="paramname"><em>sdpcone</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>blockj</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>vari</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>n</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"><em>val</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Set a matrix <img class="formulaInl" alt="$A_{i,j}$" src="form_2.png"/> to be a multiple of the identity matrix. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">sdpcone</td><td>SDP cone </td></tr> <tr><td class="paramname">blockj</td><td>block number j from 0 to nblocks </td></tr> <tr><td class="paramname">vari</td><td>variable i from 0 through m </td></tr> <tr><td class="paramname">n</td><td>dimension of the matrix </td></tr> <tr><td class="paramname">val</td><td>multiple of identity matrix </td></tr> </table> </dd> </dl> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__SDPData.html#ga16ceede5a0ddb2717ca40ffe2a5f3d2f" title="Add data matrix in a sparse format.">SDPConeAddASparseVecMat()</a> </dd></dl> <p>Definition at line <a class="el" href="dsdpadddatamat_8c_source.html#l00334">334</a> of file <a class="el" href="dsdpadddatamat_8c_source.html">dsdpadddatamat.c</a>.</p> </div> </div> <a class="anchor" id="gadb309e9fe9d1cbc1a0e3a30d051be2aa"></a><!-- doxytag: member="dsdpadddata.c::SDPConeSetStorageFormat" ref="gadb309e9fe9d1cbc1a0e3a30d051be2aa" args="(SDPCone sdpcone, int blockj, char format)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int SDPConeSetStorageFormat </td> <td>(</td> <td class="paramtype"><a class="el" href="structSDPCone__C.html">SDPCone</a> </td> <td class="paramname"><em>sdpcone</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>blockj</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char </td> <td class="paramname"><em>format</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Set the dense storage format of a 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">format</td><td>format the block </td></tr> </table> </dd> </dl> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__SDPData.html#gabb32703bcca3a703fbbb591ee6737118" title="Get the storage format for the block.">SDPConeGetStorageFormat()</a> </dd> <dd> <a class="el" href="group__SDPData.html#gaa3747efc8ae918a9be9138dcab3cf7bd" title="Use packed symmetric format for the dense array.">SDPConeUsePackedFormat()</a> </dd> <dd> <a class="el" href="group__SDPData.html#ga303574b92e3dd97faadb1a3a190391e4" title="Use full symmetric format for the dense array.">SDPConeUseFullSymmetricFormat()</a></dd></dl> <p>This routine determines the ordering of elements in the data matrices and the X matrix. The default format is 'P' (packed symmetric format), but the full symmetric format 'U' is also supported. The format used to factor the S matrix is independent of the format used for the data and X matrix. </p> <p>Definition at line <a class="el" href="dsdpadddata_8c_source.html#l00479">479</a> of file <a class="el" href="dsdpadddata_8c_source.html">dsdpadddata.c</a>.</p> <p>Referenced by <a class="el" href="readsdpa_8c_source.html#l00080">ReadSDPAFile()</a>, <a class="el" href="dsdpadddata_8c_source.html#l00414">SDPConeUseFullSymmetricFormat()</a>, and <a class="el" href="dsdpadddata_8c_source.html#l00452">SDPConeUsePackedFormat()</a>.</p> </div> </div> <a class="anchor" id="gaad2a1599cae5d90838ded62d70252f74"></a><!-- doxytag: member="dsdpadddatamat.c::SDPConeSetZeroMat" ref="gaad2a1599cae5d90838ded62d70252f74" args="(SDPCone sdpcone, int blockj, int vari, int n)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int SDPConeSetZeroMat </td> <td>(</td> <td class="paramtype"><a class="el" href="structSDPCone__C.html">SDPCone</a> </td> <td class="paramname"><em>sdpcone</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>blockj</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>vari</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>n</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Set a matrix <img class="formulaInl" alt="$A_{i,j}$" src="form_2.png"/> whose elements are all equal zero. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">sdpcone</td><td>SDP cone </td></tr> <tr><td class="paramname">blockj</td><td>block number j from 0 to nblocks </td></tr> <tr><td class="paramname">vari</td><td>variable i from 0 through m </td></tr> <tr><td class="paramname">n</td><td>dimension of the matrix </td></tr> </table> </dd> </dl> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__SDPBasic.html#gaa6ed45b2539266f04bd4b8401aa89c06" title="Set data matrix in a sparse format.">SDPConeSetASparseVecMat()</a> </dd> <dd> <a class="el" href="group__SDPData.html#ga3af8e9398c77b07799bd3cfe29faa070" title="Set a matrix whose elements are all the same.">SDPConeSetConstantMat()</a> </dd></dl> <p>Definition at line <a class="el" href="dsdpadddatamat_8c_source.html#l00414">414</a> of file <a class="el" href="dsdpadddatamat_8c_source.html">dsdpadddatamat.c</a>.</p> </div> </div> <a class="anchor" id="ga303574b92e3dd97faadb1a3a190391e4"></a><!-- doxytag: member="dsdpadddata.c::SDPConeUseFullSymmetricFormat" ref="ga303574b92e3dd97faadb1a3a190391e4" args="(SDPCone sdpcone, int blockj)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int SDPConeUseFullSymmetricFormat </td> <td>(</td> <td class="paramtype"><a class="el" href="structSDPCone__C.html">SDPCone</a> </td> <td class="paramname"><em>sdpcone</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>blockj</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Use full symmetric format for the dense array. </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> <dd> <a class="el" href="group__SDPBasic.html#gaa6ed45b2539266f04bd4b8401aa89c06" title="Set data matrix in a sparse format.">SDPConeSetASparseVecMat()</a> </dd> <dd> <a class="el" href="group__SDPBasic.html#ga9e2cd5d5922b5e45c48ec58c7345def0" title="Set a matrix in a dense format.">SDPConeSetADenseVecMat()</a> </dd> <dd> <a class="el" href="group__SDPData.html#gadb309e9fe9d1cbc1a0e3a30d051be2aa" title="Set the dense storage format of a block in the semidefinite cone.">SDPConeSetStorageFormat()</a> </dd> <dd> <a class="el" href="group__SDPData.html#gaa3747efc8ae918a9be9138dcab3cf7bd" title="Use packed symmetric format for the dense array.">SDPConeUsePackedFormat()</a> </dd> <dd> <a class="el" href="group__SDPData.html#ga479e45b5543849df14aa0d1c56e25753" title="Check the matrix operations on a data matrix;.">SDPConeCheckData()</a></dd></dl> <p>In this format, an <img class="formulaInl" alt="$n \times n$" src="form_3.png"/> symmetric matrix is represented by an array of length <img class="formulaInl" alt="$ n^2 $" src="form_4.png"/>. Each element of the array corresponds to an element of the matrix and the mapping is given below. </p> <p class="formulaDsp"> <img class="formulaDsp" alt="\[ \begin{array}{lllllllllll} [ a_{1,1} & \ldots & a_{1,n} & a_{2,1} & \ldots & a_{2,n} & \ldots & a_{n,1} & \ldots & a_{n,n} ] \\ \end{array} \]" src="form_5.png"/> </p> <p> but elements <img class="formulaInl" alt="$a_{i,j}, i<j $" src="form_6.png"/> are not used.</p> <p>DSDP uses a single dense array to add data matrices, compute the matrix X, and take the inner product of X with the data matrices. Therefore, the ordering of elements in this array must also be used in the data matrices.</p> <dl class="note"><dt><b>Note:</b></dt><dd>Since DSDP uses BLAS and LAPACK for many of its operations, we refer to the half of matrix in use as the 'upper' triangular matrix. </dd></dl> <p>Definition at line <a class="el" href="dsdpadddata_8c_source.html#l00414">414</a> of file <a class="el" href="dsdpadddata_8c_source.html">dsdpadddata.c</a>.</p> </div> </div> <a class="anchor" id="gaa3747efc8ae918a9be9138dcab3cf7bd"></a><!-- doxytag: member="dsdpadddata.c::SDPConeUsePackedFormat" ref="gaa3747efc8ae918a9be9138dcab3cf7bd" args="(SDPCone sdpcone, int blockj)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int SDPConeUsePackedFormat </td> <td>(</td> <td class="paramtype"><a class="el" href="structSDPCone__C.html">SDPCone</a> </td> <td class="paramname"><em>sdpcone</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>blockj</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Use packed symmetric format for the dense array. </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> <dd> <a class="el" href="group__SDPBasic.html#gaa6ed45b2539266f04bd4b8401aa89c06" title="Set data matrix in a sparse format.">SDPConeSetASparseVecMat()</a> </dd> <dd> <a class="el" href="group__SDPBasic.html#ga9e2cd5d5922b5e45c48ec58c7345def0" title="Set a matrix in a dense format.">SDPConeSetADenseVecMat()</a></dd></dl> <p>In this format, an <img class="formulaInl" alt="$n \times n$" src="form_3.png"/> symmetric matrix is represented by an array of length <img class="formulaInl" alt="$\frac{n(n+1)}{2}$" src="form_7.png"/>. Each element of the array corresponds to an element of the matrix and the mapping is given below. </p> <p class="formulaDsp"> <img class="formulaDsp" alt="\[ \begin{array}{llllllll} [ a_{1,1} & a_{2,1} & a_{2,2} & a_{3,1} & a_{3,2} & a_{3,3} & \ldots & a_{n,n} ] \\ \end{array} \]" src="form_8.png"/> </p> <p>DSDP uses a single dense array to add data matrices, compute the matrix X, and take the inner product of X with the data matrices. Therefore, the ordering of elements in this array must also be used in the data matrices.</p> <dl class="note"><dt><b>Note:</b></dt><dd>Since DSDP uses BLAS and LAPACK for many of its operations, we refer to the half of matrix in use as the 'upper' triangular matrix. </dd></dl> <p>Definition at line <a class="el" href="dsdpadddata_8c_source.html#l00452">452</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>, and <a class="el" href="stable_8c_source.html#l00040">StableSet()</a>.</p> </div> </div> <a class="anchor" id="gaafa7a20cefd79a41d5ba024227f96c85"></a><!-- doxytag: member="dsdpadddata.c::SDPConeView2" ref="gaafa7a20cefd79a41d5ba024227f96c85" args="(SDPCone sdpcone)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int SDPConeView2 </td> <td>(</td> <td class="paramtype"><a class="el" href="structSDPCone__C.html">SDPCone</a> </td> <td class="paramname"><em>sdpcone</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Print the SDP cone to the screen in a second way. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">sdpcone</td><td>the cone </td></tr> </table> </dd> </dl> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__SDPBasic.html#ga66567faeecc4cb75f7ae3a3eed966bd4" title="Print a data matrix to the screen.">SDPConeViewDataMatrix()</a> </dd> <dd> <a class="el" href="dsdpadddata_8c.html#a090ffcb29e21d85ef1c6fb4effdab4ba" title="Print the SDPCone to the screen;.">SDPConeView()</a> </dd> <dd> <a class="el" href="group__SDPData.html#gaaba0c2eab95b5cd5ecf008bdd9ac360b" title="Print the SDP cone to the screen in a third way.">SDPConeView3()</a> </dd></dl> <p>Definition at line <a class="el" href="dsdpadddata_8c_source.html#l00637">637</a> of file <a class="el" href="dsdpadddata_8c_source.html">dsdpadddata.c</a>.</p> <p>Referenced by <a class="el" href="readsdpa_8c_source.html#l00080">ReadSDPAFile()</a>.</p> </div> </div> <a class="anchor" id="gaaba0c2eab95b5cd5ecf008bdd9ac360b"></a><!-- doxytag: member="dsdpadddata.c::SDPConeView3" ref="gaaba0c2eab95b5cd5ecf008bdd9ac360b" args="(SDPCone sdpcone)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int SDPConeView3 </td> <td>(</td> <td class="paramtype"><a class="el" href="structSDPCone__C.html">SDPCone</a> </td> <td class="paramname"><em>sdpcone</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Print the SDP cone to the screen in a third way. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">sdpcone</td><td>the cone </td></tr> </table> </dd> </dl> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__SDPBasic.html#ga66567faeecc4cb75f7ae3a3eed966bd4" title="Print a data matrix to the screen.">SDPConeViewDataMatrix()</a> </dd> <dd> <a class="el" href="dsdpadddata_8c.html#a090ffcb29e21d85ef1c6fb4effdab4ba" title="Print the SDPCone to the screen;.">SDPConeView()</a> </dd> <dd> <a class="el" href="group__SDPData.html#gaafa7a20cefd79a41d5ba024227f96c85" title="Print the SDP cone to the screen in a second way.">SDPConeView2()</a> </dd></dl> <p>Definition at line <a class="el" href="dsdpadddata_8c_source.html#l00657">657</a> of file <a class="el" href="dsdpadddata_8c_source.html">dsdpadddata.c</a>.</p> </div> </div> </div> <hr class="footer"/><address class="footer"><small>Generated on Wed Jun 8 2011 for DSDP by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address> </body> </html>