<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>DSDP: src/sdp/dsdpadddatamat.c Source File</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 class="current"><a href="files.html"><span>Files</span></a></li> <li><a href="dirs.html"><span>Directories</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_23046874d7fed141927c769a66d8e3a5.html">src</a> </li> <li class="navelem"><a class="el" href="dir_2c21778722bc8593635d5ebd154ac3f7.html">sdp</a> </li> </ul> </div> </div> <div class="header"> <div class="headertitle"> <div class="title">dsdpadddatamat.c</div> </div> </div> <div class="contents"> <a href="dsdpadddatamat_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#include "<a class="code" href="dsdpdatamat_8h.html" title="The interface between the SDPCone and the data matrices.">dsdpdatamat.h</a>"</span> <a name="l00002"></a>00002 <span class="preprocessor">#include "<a class="code" href="dsdpsys_8h.html" title="Error handling, printing, and profiling.">dsdpsys.h</a>"</span> <a name="l00003"></a>00003 <span class="preprocessor">#include "<a class="code" href="dsdp5_8h.html" title="The API to DSDP for those applications using DSDP as a subroutine library.">dsdp5.h</a>"</span> <a name="l00004"></a>00004 <a name="l00010"></a>00010 <span class="keyword">extern</span> <span class="keywordtype">int</span> DSDPGetZeroDataMatOps(<span class="keyword">struct</span> <a class="code" href="structDSDPDataMat__Ops.html" title="Table of function pointers that operate on the data matrix.">DSDPDataMat_Ops</a>**); <a name="l00011"></a>00011 <span class="keyword">extern</span> <span class="keywordtype">int</span> DSDPGetConstantMat(<span class="keywordtype">int</span>,<span class="keywordtype">double</span>,<span class="keywordtype">char</span>,<span class="keyword">struct</span> <a class="code" href="structDSDPDataMat__Ops.html" title="Table of function pointers that operate on the data matrix.">DSDPDataMat_Ops</a>**,<span class="keywordtype">void</span>**); <a name="l00012"></a>00012 <a name="l00013"></a>00013 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="dsdpadddatamat_8c.html#a3581056403fa8d43ae55fe0a0c05da3c" title="Given data in packed symmetric format, create a sparse matrix usuable by DSDP.">DSDPGetVechMat</a>(<span class="keywordtype">int</span>,<span class="keywordtype">int</span>,<span class="keywordtype">double</span>,<span class="keyword">const</span> <span class="keywordtype">int</span>[], <span class="keyword">const</span> <span class="keywordtype">double</span>[],<span class="keywordtype">int</span>, <span class="keyword">struct</span> <a class="code" href="structDSDPDataMat__Ops.html" title="Table of function pointers that operate on the data matrix.">DSDPDataMat_Ops</a>**,<span class="keywordtype">void</span>**); <a name="l00014"></a>00014 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="dsdpadddatamat_8c.html#a0768b0a901802a81620edce65de06fac" title="Given data in full symmetric format, create a sparse matrix usuable by DSDP.">DSDPGetVecUMat</a>(<span class="keywordtype">int</span>,<span class="keywordtype">int</span>,<span class="keywordtype">double</span>,<span class="keyword">const</span> <span class="keywordtype">int</span>[], <span class="keyword">const</span> <span class="keywordtype">double</span>[],<span class="keywordtype">int</span>, <span class="keyword">struct</span> <a class="code" href="structDSDPDataMat__Ops.html" title="Table of function pointers that operate on the data matrix.">DSDPDataMat_Ops</a>**,<span class="keywordtype">void</span>**); <a name="l00015"></a>00015 <a name="l00016"></a>00016 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="dsdpadddatamat_8c.html#a70f184657b272a2a2e925fc00d16a6a7" title="Create a sparse matrix usuable by DSDP in packed symmetric format.">DSDPGetIdentityDataMatP</a>(<span class="keywordtype">int</span>,<span class="keywordtype">double</span>,<span class="keyword">struct</span> <a class="code" href="structDSDPDataMat__Ops.html" title="Table of function pointers that operate on the data matrix.">DSDPDataMat_Ops</a>**,<span class="keywordtype">void</span>**); <a name="l00017"></a>00017 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="dsdpadddatamat_8c.html#a45ed78edf6c7d30fda26d6adeb693fc2" title="Create a sparse matrix usuable by DSDP in full symmetric format.">DSDPGetIdentityDataMatF</a>(<span class="keywordtype">int</span>,<span class="keywordtype">double</span>,<span class="keyword">struct</span> <a class="code" href="structDSDPDataMat__Ops.html" title="Table of function pointers that operate on the data matrix.">DSDPDataMat_Ops</a>**,<span class="keywordtype">void</span>**); <a name="l00018"></a>00018 <a name="l00019"></a>00019 <span class="keyword">extern</span> <span class="keywordtype">int</span> DSDPGetDMat(<span class="keywordtype">int</span>,<span class="keywordtype">double</span>,<span class="keywordtype">double</span>[],<span class="keyword">struct</span> <a class="code" href="structDSDPDataMat__Ops.html" title="Table of function pointers that operate on the data matrix.">DSDPDataMat_Ops</a>**,<span class="keywordtype">void</span>**); <a name="l00020"></a>00020 <a name="l00021"></a>00021 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="dsdpadddatamat_8c.html#ae1b4f6c82deff9c0def2778a50320605" title="Create a rank one matrix usuable by DSDP in packed symmetric format.">DSDPGetR1PMat</a>(<span class="keywordtype">int</span>,<span class="keywordtype">double</span>,<span class="keywordtype">int</span>,<span class="keyword">const</span> <span class="keywordtype">int</span>[],<span class="keyword">const</span> <span class="keywordtype">double</span>[],<span class="keywordtype">int</span>,<span class="keyword">struct</span> <a class="code" href="structDSDPDataMat__Ops.html" title="Table of function pointers that operate on the data matrix.">DSDPDataMat_Ops</a>**,<span class="keywordtype">void</span>**); <a name="l00022"></a>00022 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="dsdpadddatamat_8c.html#a1dec4948b43ccfd25ba0e320359a7899" title="Create a rank one matrix usuable by DSDP in full symmetric format.">DSDPGetR1UMat</a>(<span class="keywordtype">int</span>,<span class="keywordtype">double</span>,<span class="keywordtype">int</span>,<span class="keyword">const</span> <span class="keywordtype">int</span>[],<span class="keyword">const</span> <span class="keywordtype">double</span>[],<span class="keywordtype">int</span>,<span class="keyword">struct</span> <a class="code" href="structDSDPDataMat__Ops.html" title="Table of function pointers that operate on the data matrix.">DSDPDataMat_Ops</a>**,<span class="keywordtype">void</span>**); <a name="l00023"></a>00023 <a name="l00024"></a>00024 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="group__SDPData.html#ga16144b39108a8daef0d993f14404d6ca" title="Add a data matrix .">SDPConeAddDataMatrix</a>(<a class="code" href="structSDPCone__C.html" title="Internal structure for semidefinite cone.">SDPCone</a>,<span class="keywordtype">int</span>, <span class="keywordtype">int</span>, <span class="keywordtype">int</span>, <span class="keywordtype">char</span>, <span class="keyword">struct</span> <a class="code" href="structDSDPDataMat__Ops.html" title="Table of function pointers that operate on the data matrix.">DSDPDataMat_Ops</a>*, <span class="keywordtype">void</span>*); <a name="l00025"></a>00025 <span class="keyword">extern</span> <span class="keywordtype">int</span> <a class="code" href="dsdpadddata_8c.html#a3a1012a610dff7102fdf219f9d94ff40" title="Add identity to dual matrix.">SDPConeSetRMatrix</a>(<a class="code" href="structSDPCone__C.html" title="Internal structure for semidefinite cone.">SDPCone</a>,<span class="keywordtype">int</span>,<span class="keywordtype">int</span>,<span class="keywordtype">char</span>,<span class="keyword">struct</span> <a class="code" href="structDSDPDataMat__Ops.html" title="Table of function pointers that operate on the data matrix.">DSDPDataMat_Ops</a>*,<span class="keywordtype">void</span>*); <a name="l00026"></a>00026 <a name="l00027"></a>00027 <a name="l00028"></a>00028 <span class="preprocessor">#undef __FUNCT__</span> <a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#define __FUNCT__ "SDPConeAddASparseVecMat"</span> <a name="l00030"></a>00030 <span class="preprocessor"></span> <a name="l00049"></a><a class="code" href="group__SDPData.html#ga16ceede5a0ddb2717ca40ffe2a5f3d2f">00049</a> <span class="keywordtype">int</span> <a class="code" href="group__SDPData.html#ga16ceede5a0ddb2717ca40ffe2a5f3d2f" title="Add data matrix in a sparse format.">SDPConeAddASparseVecMat</a>(<a class="code" href="structSDPCone__C.html" title="Internal structure for semidefinite cone.">SDPCone</a> sdpcone,<span class="keywordtype">int</span> blockj, <span class="keywordtype">int</span> vari, <span class="keywordtype">int</span> n, <a name="l00050"></a>00050 <span class="keywordtype">double</span> alpha, <span class="keywordtype">int</span> ishift, <a name="l00051"></a>00051 <span class="keyword">const</span> <span class="keywordtype">int</span> ind[], <span class="keyword">const</span> <span class="keywordtype">double</span> val[], <span class="keywordtype">int</span> nnz){ <a name="l00052"></a>00052 <a name="l00053"></a>00053 <span class="keywordtype">int</span> info; <a name="l00054"></a>00054 <span class="keywordtype">char</span> UPLQ; <a name="l00055"></a>00055 <span class="keywordtype">void</span>* dmat=0; <a name="l00056"></a>00056 <span class="keyword">struct </span><a class="code" href="structDSDPDataMat__Ops.html" title="Table of function pointers that operate on the data matrix.">DSDPDataMat_Ops</a>* dmatops=0; <a name="l00057"></a>00057 <a name="l00058"></a>00058 DSDPFunctionBegin; <a name="l00059"></a>00059 info=<a class="code" href="group__SDPData.html#gabb32703bcca3a703fbbb591ee6737118" title="Get the storage format for the block.">SDPConeGetStorageFormat</a>(sdpcone,blockj,&UPLQ); DSDPCHKERR(info); <a name="l00060"></a>00060 DSDPLogInfo(0,20,<span class="stringliteral">"Set sparse matrix: Block: %d, Variable %d, size: %d, Nonzeros: %d .\n"</span>,blockj,vari,n,nnz); <a name="l00061"></a>00061 <span class="keywordflow">switch</span> (UPLQ){ <a name="l00062"></a>00062 <span class="keywordflow">case</span> <span class="charliteral">'P'</span>: <a name="l00063"></a>00063 info=<a class="code" href="dsdpadddatamat_8c.html#a3581056403fa8d43ae55fe0a0c05da3c" title="Given data in packed symmetric format, create a sparse matrix usuable by DSDP.">DSDPGetVechMat</a>(n,ishift,alpha,ind,val,nnz,&dmatops,&dmat); DSDPCHKERR(info); <a name="l00064"></a>00064 <span class="keywordflow">break</span>; <a name="l00065"></a>00065 <span class="keywordflow">case</span> <span class="charliteral">'U'</span>: <a name="l00066"></a>00066 info=<a class="code" href="dsdpadddatamat_8c.html#a0768b0a901802a81620edce65de06fac" title="Given data in full symmetric format, create a sparse matrix usuable by DSDP.">DSDPGetVecUMat</a>(n,ishift,alpha,ind,val,nnz,&dmatops,&dmat); DSDPCHKERR(info); <a name="l00067"></a>00067 <span class="keywordflow">break</span>; <a name="l00068"></a>00068 } <a name="l00069"></a>00069 info=<a class="code" href="group__SDPData.html#ga16144b39108a8daef0d993f14404d6ca" title="Add a data matrix .">SDPConeAddDataMatrix</a>(sdpcone,blockj,vari,n,UPLQ,dmatops,dmat); DSDPCHKERR(info); <a name="l00070"></a>00070 DSDPFunctionReturn(0); <a name="l00071"></a>00071 } <a name="l00072"></a>00072 <a name="l00073"></a>00073 <span class="preprocessor">#undef __FUNCT__</span> <a name="l00074"></a>00074 <span class="preprocessor"></span><span class="preprocessor">#define __FUNCT__ "SDPConeAddSparseVecMat" </span> <a name="l00075"></a>00075 <span class="preprocessor"></span><span class="comment">/* Needed for backward compatibility */</span> <a name="l00076"></a>00076 <span class="keywordtype">int</span> SDPConeAddSparseVecMat(<a class="code" href="structSDPCone__C.html" title="Internal structure for semidefinite cone.">SDPCone</a> sdpcone,<span class="keywordtype">int</span> blockj, <span class="keywordtype">int</span> vari, <span class="keywordtype">int</span> n, <a name="l00077"></a>00077 <span class="keywordtype">int</span> ishift,<span class="keyword">const</span> <span class="keywordtype">int</span> ind[], <span class="keyword">const</span> <span class="keywordtype">double</span> val[], <span class="keywordtype">int</span> nnz){ <a name="l00078"></a>00078 <a name="l00079"></a>00079 <span class="keywordtype">int</span> info; <a name="l00080"></a>00080 <a name="l00081"></a>00081 DSDPFunctionBegin; <a name="l00082"></a>00082 info= <a class="code" href="group__SDPData.html#ga16ceede5a0ddb2717ca40ffe2a5f3d2f" title="Add data matrix in a sparse format.">SDPConeAddASparseVecMat</a>(sdpcone,blockj,vari,n, <a name="l00083"></a>00083 1.0,ishift,ind,val,nnz);DSDPCHKERR(info); <a name="l00084"></a>00084 DSDPFunctionReturn(0); <a name="l00085"></a>00085 } <a name="l00086"></a>00086 <a name="l00087"></a>00087 <span class="preprocessor">#undef __FUNCT__</span> <a name="l00088"></a>00088 <span class="preprocessor"></span><span class="preprocessor">#define __FUNCT__ "SDPConeSetASparseVecMat"</span> <a name="l00089"></a>00089 <span class="preprocessor"></span> <a name="l00152"></a><a class="code" href="group__SDPBasic.html#gaa6ed45b2539266f04bd4b8401aa89c06">00152</a> <span class="keywordtype">int</span> <a class="code" href="group__SDPBasic.html#gaa6ed45b2539266f04bd4b8401aa89c06" title="Set data matrix in a sparse format.">SDPConeSetASparseVecMat</a>(<a class="code" href="structSDPCone__C.html" title="Internal structure for semidefinite cone.">SDPCone</a> sdpcone,<span class="keywordtype">int</span> blockj, <span class="keywordtype">int</span> vari, <span class="keywordtype">int</span> n, <a name="l00153"></a>00153 <span class="keywordtype">double</span> alpha,<span class="keywordtype">int</span> ishift, <a name="l00154"></a>00154 <span class="keyword">const</span> <span class="keywordtype">int</span> ind[], <span class="keyword">const</span> <span class="keywordtype">double</span> val[], <span class="keywordtype">int</span> nnz){ <a name="l00155"></a>00155 <a name="l00156"></a>00156 <span class="keywordtype">int</span> info; <a name="l00157"></a>00157 DSDPFunctionBegin; <a name="l00158"></a>00158 info=<a class="code" href="group__SDPData.html#ga432458dcffefd28177d23ae8e60cf4d8" title="Remove the data matrix from the cone.">SDPConeRemoveDataMatrix</a>(sdpcone,blockj,vari); DSDPCHKERR(info); <a name="l00159"></a>00159 info=<a class="code" href="group__SDPData.html#ga16ceede5a0ddb2717ca40ffe2a5f3d2f" title="Add data matrix in a sparse format.">SDPConeAddASparseVecMat</a>(sdpcone,blockj,vari,n,alpha,ishift,ind,val,nnz); DSDPCHKERR(info); <a name="l00160"></a>00160 DSDPFunctionReturn(0); <a name="l00161"></a>00161 } <a name="l00162"></a>00162 <a name="l00163"></a>00163 <span class="preprocessor">#undef __FUNCT__</span> <a name="l00164"></a>00164 <span class="preprocessor"></span><span class="preprocessor">#define __FUNCT__ "SDPConeSetSparseVecMat"</span> <a name="l00165"></a>00165 <span class="preprocessor"></span><span class="comment">/* Needed for backward compatibility */</span> <a name="l00166"></a>00166 <span class="keywordtype">int</span> SDPConeSetSparseVecMat(<a class="code" href="structSDPCone__C.html" title="Internal structure for semidefinite cone.">SDPCone</a> sdpcone,<span class="keywordtype">int</span> blockj, <span class="keywordtype">int</span> vari, <span class="keywordtype">int</span> n, <a name="l00167"></a>00167 <span class="keywordtype">int</span> ishift,<span class="keyword">const</span> <span class="keywordtype">int</span> ind[], <span class="keyword">const</span> <span class="keywordtype">double</span> val[], <span class="keywordtype">int</span> nnz){ <a name="l00168"></a>00168 <a name="l00169"></a>00169 <span class="keywordtype">int</span> info; <a name="l00170"></a>00170 DSDPFunctionBegin; <a name="l00171"></a>00171 info=<a class="code" href="group__SDPBasic.html#gaa6ed45b2539266f04bd4b8401aa89c06" title="Set data matrix in a sparse format.">SDPConeSetASparseVecMat</a>(sdpcone,blockj,vari,n,1.0,ishift,ind,val,nnz); DSDPCHKERR(info); <a name="l00172"></a>00172 DSDPFunctionReturn(0); <a name="l00173"></a>00173 } <a name="l00174"></a>00174 <a name="l00175"></a>00175 <a name="l00176"></a>00176 <span class="preprocessor">#undef __FUNCT__</span> <a name="l00177"></a>00177 <span class="preprocessor"></span><span class="preprocessor">#define __FUNCT__ "SDPConeAddADenseVecMat"</span> <a name="l00178"></a>00178 <span class="preprocessor"></span> <a name="l00203"></a><a class="code" href="group__SDPData.html#gae24f68901d65362c067b2162235c7f60">00203</a> <span class="keywordtype">int</span> <a class="code" href="group__SDPData.html#gae24f68901d65362c067b2162235c7f60" title="Add a matrix in a dense format.">SDPConeAddADenseVecMat</a>(<a class="code" href="structSDPCone__C.html" title="Internal structure for semidefinite cone.">SDPCone</a> sdpcone,<span class="keywordtype">int</span> blockj, <span class="keywordtype">int</span> vari,<span class="keywordtype">int</span> n, <a name="l00204"></a>00204 <span class="keywordtype">double</span> alpha,<span class="keywordtype">double</span> val[], <span class="keywordtype">int</span> nnz){ <a name="l00205"></a>00205 <span class="keywordtype">int</span> info; <a name="l00206"></a>00206 <span class="keywordtype">char</span> UPLQ; <a name="l00207"></a>00207 <span class="keywordtype">void</span>* dmat=0; <a name="l00208"></a>00208 <span class="keyword">struct </span><a class="code" href="structDSDPDataMat__Ops.html" title="Table of function pointers that operate on the data matrix.">DSDPDataMat_Ops</a>* dmatops=0; <a name="l00209"></a>00209 <a name="l00210"></a>00210 DSDPFunctionBegin; <a name="l00211"></a>00211 info=<a class="code" href="group__SDPData.html#gabb32703bcca3a703fbbb591ee6737118" title="Get the storage format for the block.">SDPConeGetStorageFormat</a>(sdpcone,blockj,&UPLQ); DSDPCHKERR(info); <a name="l00212"></a>00212 DSDPLogInfo(0,20,<span class="stringliteral">"Set dense matrix: Block: %d, Variable %d, size: %d, Nonzeros: %d .\n"</span>,blockj,vari,n,nnz); <a name="l00213"></a>00213 <span class="keywordflow">switch</span> (UPLQ){ <a name="l00214"></a>00214 <span class="keywordflow">case</span> <span class="charliteral">'P'</span>: <a name="l00215"></a>00215 info=DSDPGetDMat(n,alpha,val,&dmatops,&dmat); DSDPCHKERR(info); <a name="l00216"></a>00216 <span class="keywordflow">break</span>; <a name="l00217"></a>00217 <span class="keywordflow">case</span> <span class="charliteral">'U'</span>: <a name="l00218"></a>00218 DSDPSETERR(1,<span class="stringliteral">"Dense U Mat type does not exist.\n"</span>); <a name="l00219"></a>00219 <span class="keywordflow">break</span>; <a name="l00220"></a>00220 } <a name="l00221"></a>00221 info=<a class="code" href="group__SDPData.html#ga16144b39108a8daef0d993f14404d6ca" title="Add a data matrix .">SDPConeAddDataMatrix</a>(sdpcone,blockj,vari,n,UPLQ,dmatops,dmat); DSDPCHKERR(info); <a name="l00222"></a>00222 DSDPFunctionReturn(0); <a name="l00223"></a>00223 } <a name="l00224"></a>00224 <a name="l00225"></a>00225 <span class="preprocessor">#undef __FUNCT__</span> <a name="l00226"></a>00226 <span class="preprocessor"></span><span class="preprocessor">#define __FUNCT__ "SDPConeAddDenseVecMat"</span> <a name="l00227"></a>00227 <span class="preprocessor"></span><span class="comment">/* Needed for backward compatibility */</span> <a name="l00228"></a>00228 <span class="keywordtype">int</span> SDPConeAddDenseVecMat(<a class="code" href="structSDPCone__C.html" title="Internal structure for semidefinite cone.">SDPCone</a> sdpcone,<span class="keywordtype">int</span> blockj, <span class="keywordtype">int</span> vari,<span class="keywordtype">int</span> n, <a name="l00229"></a>00229 <span class="keywordtype">double</span> val[], <span class="keywordtype">int</span> nnz){ <a name="l00230"></a>00230 <span class="keywordtype">int</span> info; <a name="l00231"></a>00231 DSDPFunctionBegin; <a name="l00232"></a>00232 info=<a class="code" href="group__SDPData.html#gae24f68901d65362c067b2162235c7f60" title="Add a matrix in a dense format.">SDPConeAddADenseVecMat</a>(sdpcone,blockj,vari,n,1.0,val,nnz); DSDPCHKERR(info); <a name="l00233"></a>00233 DSDPFunctionReturn(0); <a name="l00234"></a>00234 } <a name="l00235"></a>00235 <a name="l00236"></a>00236 <a name="l00237"></a>00237 <span class="preprocessor">#undef __FUNCT__</span> <a name="l00238"></a>00238 <span class="preprocessor"></span><span class="preprocessor">#define __FUNCT__ "SDPConeSetADenseVecMat"</span> <a name="l00239"></a>00239 <span class="preprocessor"></span> <a name="l00265"></a><a class="code" href="group__SDPBasic.html#ga9e2cd5d5922b5e45c48ec58c7345def0">00265</a> <span class="keywordtype">int</span> <a class="code" href="group__SDPBasic.html#ga9e2cd5d5922b5e45c48ec58c7345def0" title="Set a matrix in a dense format.">SDPConeSetADenseVecMat</a>(<a class="code" href="structSDPCone__C.html" title="Internal structure for semidefinite cone.">SDPCone</a> sdpcone,<span class="keywordtype">int</span> blockj, <span class="keywordtype">int</span> vari,<span class="keywordtype">int</span> n, <a name="l00266"></a>00266 <span class="keywordtype">double</span> alpha,<span class="keywordtype">double</span> val[], <span class="keywordtype">int</span> nnz){ <a name="l00267"></a>00267 <span class="keywordtype">int</span> info; <a name="l00268"></a>00268 DSDPFunctionBegin; <a name="l00269"></a>00269 info=<a class="code" href="group__SDPData.html#ga432458dcffefd28177d23ae8e60cf4d8" title="Remove the data matrix from the cone.">SDPConeRemoveDataMatrix</a>(sdpcone,blockj,vari); DSDPCHKERR(info); <a name="l00270"></a>00270 info=<a class="code" href="group__SDPData.html#gae24f68901d65362c067b2162235c7f60" title="Add a matrix in a dense format.">SDPConeAddADenseVecMat</a>(sdpcone,blockj,vari,n,alpha,val,nnz); DSDPCHKERR(info); <a name="l00271"></a>00271 DSDPFunctionReturn(0); <a name="l00272"></a>00272 } <a name="l00273"></a>00273 <a name="l00274"></a>00274 <span class="preprocessor">#undef __FUNCT__</span> <a name="l00275"></a>00275 <span class="preprocessor"></span><span class="preprocessor">#define __FUNCT__ "SDPConeSetDenseVecMat"</span> <a name="l00276"></a>00276 <span class="preprocessor"></span><span class="comment">/* Needed for backward compatibility */</span> <a name="l00277"></a>00277 <span class="keywordtype">int</span> SDPConeSetDenseVecMat(<a class="code" href="structSDPCone__C.html" title="Internal structure for semidefinite cone.">SDPCone</a> sdpcone,<span class="keywordtype">int</span> blockj, <span class="keywordtype">int</span> vari,<span class="keywordtype">int</span> n, <a name="l00278"></a>00278 <span class="keywordtype">double</span> val[], <span class="keywordtype">int</span> nnz){ <a name="l00279"></a>00279 <span class="keywordtype">int</span> info; <a name="l00280"></a>00280 DSDPFunctionBegin; <a name="l00281"></a>00281 info=<a class="code" href="group__SDPBasic.html#ga9e2cd5d5922b5e45c48ec58c7345def0" title="Set a matrix in a dense format.">SDPConeSetADenseVecMat</a>(sdpcone,blockj,vari,n,1.0,val,nnz); DSDPCHKERR(info); <a name="l00282"></a>00282 DSDPFunctionReturn(0); <a name="l00283"></a>00283 } <a name="l00284"></a>00284 <a name="l00285"></a>00285 <a name="l00286"></a>00286 <span class="preprocessor">#undef __FUNCT__</span> <a name="l00287"></a>00287 <span class="preprocessor"></span><span class="preprocessor">#define __FUNCT__ "SDPConeAddIdentity"</span> <a name="l00288"></a>00288 <span class="preprocessor"></span> <a name="l00299"></a><a class="code" href="group__SDPData.html#ga92697ab67f03fa41024404d70c7748ce">00299</a> <span class="keywordtype">int</span> <a class="code" href="group__SDPData.html#ga92697ab67f03fa41024404d70c7748ce" title="Add a matrix that is a multiple of the identity matrix.">SDPConeAddIdentity</a>(<a class="code" href="structSDPCone__C.html" title="Internal structure for semidefinite cone.">SDPCone</a> sdpcone, <span class="keywordtype">int</span> blockj,<span class="keywordtype">int</span> vari, <span class="keywordtype">int</span> n, <a name="l00300"></a>00300 <span class="keywordtype">double</span> val){ <a name="l00301"></a>00301 <span class="keywordtype">int</span> info; <a name="l00302"></a>00302 <span class="keywordtype">char</span> UPLQ; <a name="l00303"></a>00303 <span class="keyword">struct </span><a class="code" href="structDSDPDataMat__Ops.html" title="Table of function pointers that operate on the data matrix.">DSDPDataMat_Ops</a>* identitymatops=0; <a name="l00304"></a>00304 <span class="keywordtype">void</span>* imat=0; <a name="l00305"></a>00305 <a name="l00306"></a>00306 DSDPFunctionBegin; <a name="l00307"></a>00307 DSDPLogInfo(0,20,<span class="stringliteral">"Set identity matrix: Block: %d, Variable %d, size: %d, Multiple: %4.4e .\n"</span>,blockj,vari,n,val); <a name="l00308"></a>00308 info=<a class="code" href="group__SDPData.html#gabb32703bcca3a703fbbb591ee6737118" title="Get the storage format for the block.">SDPConeGetStorageFormat</a>(sdpcone,blockj,&UPLQ); DSDPCHKERR(info); <a name="l00309"></a>00309 <span class="keywordflow">switch</span> (UPLQ){ <a name="l00310"></a>00310 <span class="keywordflow">case</span> <span class="charliteral">'P'</span>: <a name="l00311"></a>00311 info=<a class="code" href="dsdpadddatamat_8c.html#a70f184657b272a2a2e925fc00d16a6a7" title="Create a sparse matrix usuable by DSDP in packed symmetric format.">DSDPGetIdentityDataMatP</a>(n,val,&identitymatops,&imat);DSDPCHKERR(info); <a name="l00312"></a>00312 <span class="keywordflow">break</span>; <a name="l00313"></a>00313 <span class="keywordflow">case</span> <span class="charliteral">'U'</span>: <a name="l00314"></a>00314 info=<a class="code" href="dsdpadddatamat_8c.html#a45ed78edf6c7d30fda26d6adeb693fc2" title="Create a sparse matrix usuable by DSDP in full symmetric format.">DSDPGetIdentityDataMatF</a>(n,val,&identitymatops,&imat);DSDPCHKERR(info); <a name="l00315"></a>00315 <span class="keywordflow">break</span>; <a name="l00316"></a>00316 } <a name="l00317"></a>00317 info=<a class="code" href="group__SDPData.html#ga16144b39108a8daef0d993f14404d6ca" title="Add a data matrix .">SDPConeAddDataMatrix</a>(sdpcone,blockj,vari,n,UPLQ,identitymatops,imat); DSDPCHKERR(info); <a name="l00318"></a>00318 DSDPFunctionReturn(0); <a name="l00319"></a>00319 } <a name="l00320"></a>00320 <a name="l00321"></a>00321 <span class="preprocessor">#undef __FUNCT__</span> <a name="l00322"></a>00322 <span class="preprocessor"></span><span class="preprocessor">#define __FUNCT__ "SDPConeSetIdentity"</span> <a name="l00323"></a>00323 <span class="preprocessor"></span> <a name="l00334"></a><a class="code" href="group__SDPData.html#gabdaa31a53990efd50210e0a52b0b23c9">00334</a> <span class="keywordtype">int</span> <a class="code" href="group__SDPData.html#gabdaa31a53990efd50210e0a52b0b23c9" title="Set a matrix to be a multiple of the identity matrix.">SDPConeSetIdentity</a>(<a class="code" href="structSDPCone__C.html" title="Internal structure for semidefinite cone.">SDPCone</a> sdpcone, <span class="keywordtype">int</span> blockj, <span class="keywordtype">int</span> vari, <span class="keywordtype">int</span> n, <a name="l00335"></a>00335 <span class="keywordtype">double</span> val){ <a name="l00336"></a>00336 <span class="keywordtype">int</span> info; <a name="l00337"></a>00337 DSDPFunctionBegin; <a name="l00338"></a>00338 info=<a class="code" href="group__SDPData.html#ga432458dcffefd28177d23ae8e60cf4d8" title="Remove the data matrix from the cone.">SDPConeRemoveDataMatrix</a>(sdpcone,blockj,vari); DSDPCHKERR(info); <a name="l00339"></a>00339 info=<a class="code" href="group__SDPData.html#ga92697ab67f03fa41024404d70c7748ce" title="Add a matrix that is a multiple of the identity matrix.">SDPConeAddIdentity</a>(sdpcone,blockj,vari,n,val); DSDPCHKERR(info); <a name="l00340"></a>00340 DSDPFunctionReturn(0); <a name="l00341"></a>00341 } <a name="l00342"></a>00342 <a name="l00343"></a>00343 <span class="preprocessor">#undef __FUNCT__</span> <a name="l00344"></a>00344 <span class="preprocessor"></span><span class="preprocessor">#define __FUNCT__ "SDPConeAddConstantMat"</span> <a name="l00345"></a>00345 <span class="preprocessor"></span> <a name="l00356"></a><a class="code" href="group__SDPData.html#ga5969cf1c812c704f8bb61b0233a33f84">00356</a> <span class="keywordtype">int</span> <a class="code" href="group__SDPData.html#ga5969cf1c812c704f8bb61b0233a33f84" title="Add a matrix whose elements are all the same.">SDPConeAddConstantMat</a>(<a class="code" href="structSDPCone__C.html" title="Internal structure for semidefinite cone.">SDPCone</a> sdpcone,<span class="keywordtype">int</span> blockj, <span class="keywordtype">int</span> vari, <span class="keywordtype">int</span> n, <a name="l00357"></a>00357 <span class="keywordtype">double</span> value){ <a name="l00358"></a>00358 <span class="keywordtype">int</span> info; <a name="l00359"></a>00359 <span class="keywordtype">char</span> UPLQ; <a name="l00360"></a>00360 <span class="keyword">struct </span><a class="code" href="structDSDPDataMat__Ops.html" title="Table of function pointers that operate on the data matrix.">DSDPDataMat_Ops</a>* constantmatops=0; <a name="l00361"></a>00361 <span class="keywordtype">void</span>* smat=0; <a name="l00362"></a>00362 <a name="l00363"></a>00363 DSDPFunctionBegin; <a name="l00364"></a>00364 DSDPLogInfo(0,20,<span class="stringliteral">"Add allsame matrix: Block: %d, Variable %d, size: %d, Elements: %4.4e .\n"</span>,blockj,vari,n,value); <a name="l00365"></a>00365 info=<a class="code" href="group__SDPData.html#gabb32703bcca3a703fbbb591ee6737118" title="Get the storage format for the block.">SDPConeGetStorageFormat</a>(sdpcone,blockj,&UPLQ); DSDPCHKERR(info); <a name="l00366"></a>00366 <span class="keywordflow">switch</span> (UPLQ){ <a name="l00367"></a>00367 <span class="keywordflow">case</span> <span class="charliteral">'P'</span>: <a name="l00368"></a>00368 info=DSDPGetConstantMat(n,value,UPLQ,&constantmatops,&smat);DSDPCHKERR(info); <a name="l00369"></a>00369 <span class="keywordflow">break</span>; <a name="l00370"></a>00370 <span class="keywordflow">case</span> <span class="charliteral">'U'</span>: <a name="l00371"></a>00371 info=DSDPGetConstantMat(n,value,UPLQ,&constantmatops,&smat);DSDPCHKERR(info); <a name="l00372"></a>00372 <span class="keywordflow">break</span>; <a name="l00373"></a>00373 } <a name="l00374"></a>00374 info=<a class="code" href="group__SDPData.html#ga16144b39108a8daef0d993f14404d6ca" title="Add a data matrix .">SDPConeAddDataMatrix</a>(sdpcone,blockj,vari,n,UPLQ,constantmatops,smat); DSDPCHKERR(info); <a name="l00375"></a>00375 DSDPFunctionReturn(0); <a name="l00376"></a>00376 } <a name="l00377"></a>00377 <a name="l00378"></a>00378 <span class="preprocessor">#undef __FUNCT__</span> <a name="l00379"></a>00379 <span class="preprocessor"></span><span class="preprocessor">#define __FUNCT__ "SDPConeSetConstantMat"</span> <a name="l00380"></a>00380 <span class="preprocessor"></span> <a name="l00391"></a><a class="code" href="group__SDPData.html#ga3af8e9398c77b07799bd3cfe29faa070">00391</a> <span class="keywordtype">int</span> <a class="code" href="group__SDPData.html#ga3af8e9398c77b07799bd3cfe29faa070" title="Set a matrix whose elements are all the same.">SDPConeSetConstantMat</a>(<a class="code" href="structSDPCone__C.html" title="Internal structure for semidefinite cone.">SDPCone</a> sdpcone,<span class="keywordtype">int</span> blockj, <span class="keywordtype">int</span> vari, <span class="keywordtype">int</span> n, <a name="l00392"></a>00392 <span class="keywordtype">double</span> value){ <a name="l00393"></a>00393 <span class="keywordtype">int</span> info; <a name="l00394"></a>00394 DSDPFunctionBegin; <a name="l00395"></a>00395 info=<a class="code" href="group__SDPData.html#ga432458dcffefd28177d23ae8e60cf4d8" title="Remove the data matrix from the cone.">SDPConeRemoveDataMatrix</a>(sdpcone,blockj,vari); DSDPCHKERR(info); <a name="l00396"></a>00396 info=<a class="code" href="group__SDPData.html#ga5969cf1c812c704f8bb61b0233a33f84" title="Add a matrix whose elements are all the same.">SDPConeAddConstantMat</a>(sdpcone,blockj,vari,n,value); DSDPCHKERR(info); <a name="l00397"></a>00397 DSDPFunctionReturn(0); <a name="l00398"></a>00398 } <a name="l00399"></a>00399 <a name="l00400"></a>00400 <a name="l00401"></a>00401 <span class="preprocessor">#undef __FUNCT__</span> <a name="l00402"></a>00402 <span class="preprocessor"></span><span class="preprocessor">#define __FUNCT__ "SDPConeSetZeroMat"</span> <a name="l00403"></a>00403 <span class="preprocessor"></span> <a name="l00414"></a><a class="code" href="group__SDPData.html#gaad2a1599cae5d90838ded62d70252f74">00414</a> <span class="keywordtype">int</span> <a class="code" href="group__SDPData.html#gaad2a1599cae5d90838ded62d70252f74" title="Set a matrix whose elements are all equal zero.">SDPConeSetZeroMat</a>(<a class="code" href="structSDPCone__C.html" title="Internal structure for semidefinite cone.">SDPCone</a> sdpcone,<span class="keywordtype">int</span> blockj, <span class="keywordtype">int</span> vari, <span class="keywordtype">int</span> n){ <a name="l00415"></a>00415 <span class="keywordtype">int</span> info; <a name="l00416"></a>00416 <span class="keywordtype">char</span> UPLQ; <a name="l00417"></a>00417 <span class="keyword">struct </span><a class="code" href="structDSDPDataMat__Ops.html" title="Table of function pointers that operate on the data matrix.">DSDPDataMat_Ops</a>* zeromatops=0; <a name="l00418"></a>00418 DSDPFunctionBegin; <a name="l00419"></a>00419 DSDPLogInfo(0,20,<span class="stringliteral">"Add zero matrix: Block: %d, Variable %d, size: %d .\n"</span>,blockj,vari,n); <a name="l00420"></a>00420 info=DSDPGetZeroDataMatOps(&zeromatops); DSDPCHKERR(info); <a name="l00421"></a>00421 info=<a class="code" href="group__SDPData.html#gabb32703bcca3a703fbbb591ee6737118" title="Get the storage format for the block.">SDPConeGetStorageFormat</a>(sdpcone,blockj,&UPLQ); DSDPCHKERR(info); <a name="l00422"></a>00422 info=<a class="code" href="group__SDPData.html#ga432458dcffefd28177d23ae8e60cf4d8" title="Remove the data matrix from the cone.">SDPConeRemoveDataMatrix</a>(sdpcone,blockj,vari); DSDPCHKERR(info); <a name="l00423"></a>00423 info=<a class="code" href="group__SDPData.html#ga16144b39108a8daef0d993f14404d6ca" title="Add a data matrix .">SDPConeAddDataMatrix</a>(sdpcone,blockj,vari,n,UPLQ,zeromatops,0); DSDPCHKERR(info); <a name="l00424"></a>00424 DSDPFunctionReturn(0); <a name="l00425"></a>00425 } <a name="l00426"></a>00426 <a name="l00427"></a>00427 <span class="preprocessor">#undef __FUNCT__ </span> <a name="l00428"></a>00428 <span class="preprocessor"></span><span class="preprocessor">#define __FUNCT__ "SDPConeSetRIdentity"</span> <a name="l00429"></a>00429 <span class="preprocessor"></span> <a name="l00438"></a><a class="code" href="dsdpsdp_8h.html#a6fa1f1c3c988181ab1dbf8bbc515fbef">00438</a> <span class="keywordtype">int</span> <a class="code" href="dsdpadddatamat_8c.html#a5d965be4615ce48c2b0bd3d88399a40c" title="Add identify matrix to dual matrix.">SDPConeSetRIdentity</a>(<a class="code" href="structSDPCone__C.html" title="Internal structure for semidefinite cone.">SDPCone</a> sdpcone,<span class="keywordtype">int</span> blockj, <span class="keywordtype">int</span> n, <span class="keywordtype">double</span> rr){ <a name="l00439"></a>00439 <span class="keywordtype">int</span> info; <a name="l00440"></a>00440 <span class="keywordtype">char</span> UPLQ; <a name="l00441"></a>00441 <span class="keyword">struct </span><a class="code" href="structDSDPDataMat__Ops.html" title="Table of function pointers that operate on the data matrix.">DSDPDataMat_Ops</a>* identitymatops=0; <a name="l00442"></a>00442 <span class="keywordtype">void</span>* imat=0; <a name="l00443"></a>00443 DSDPFunctionBegin; <a name="l00444"></a>00444 info=<a class="code" href="group__SDPData.html#gabb32703bcca3a703fbbb591ee6737118" title="Get the storage format for the block.">SDPConeGetStorageFormat</a>(sdpcone,blockj,&UPLQ); DSDPCHKERR(info); <a name="l00445"></a>00445 <span class="keywordflow">switch</span> (UPLQ){ <a name="l00446"></a>00446 <span class="keywordflow">case</span> <span class="charliteral">'P'</span>: <a name="l00447"></a>00447 info=<a class="code" href="dsdpadddatamat_8c.html#a70f184657b272a2a2e925fc00d16a6a7" title="Create a sparse matrix usuable by DSDP in packed symmetric format.">DSDPGetIdentityDataMatP</a>(n,rr,&identitymatops,&imat);DSDPCHKERR(info); <span class="keywordflow">break</span>; <a name="l00448"></a>00448 <span class="keywordflow">case</span> <span class="charliteral">'U'</span>: <a name="l00449"></a>00449 info=<a class="code" href="dsdpadddatamat_8c.html#a45ed78edf6c7d30fda26d6adeb693fc2" title="Create a sparse matrix usuable by DSDP in full symmetric format.">DSDPGetIdentityDataMatF</a>(n,rr,&identitymatops,&imat);DSDPCHKERR(info); <span class="keywordflow">break</span>; <a name="l00450"></a>00450 <span class="keywordflow">default</span>: <a name="l00451"></a>00451 <span class="keywordflow">break</span>; <a name="l00452"></a>00452 } <a name="l00453"></a>00453 info=<a class="code" href="dsdpadddata_8c.html#a3a1012a610dff7102fdf219f9d94ff40" title="Add identity to dual matrix.">SDPConeSetRMatrix</a>(sdpcone,blockj,n,UPLQ,identitymatops,imat); DSDPCHKERR(info); <a name="l00454"></a>00454 <a name="l00455"></a>00455 DSDPFunctionReturn(0); <a name="l00456"></a>00456 } <a name="l00457"></a>00457 <a name="l00458"></a>00458 <span class="preprocessor">#undef __FUNCT__</span> <a name="l00459"></a>00459 <span class="preprocessor"></span><span class="preprocessor">#define __FUNCT__ "SDPConeAddARankOneMat"</span> <a name="l00460"></a>00460 <span class="preprocessor"></span> <a name="l00478"></a><a class="code" href="group__SDPData.html#ga0568ca9b863657cf47e431b4ee580194">00478</a> <span class="keywordtype">int</span> <a class="code" href="group__SDPData.html#ga0568ca9b863657cf47e431b4ee580194" title="Add data matrix where v is a sparse vector.">SDPConeAddARankOneMat</a>(<a class="code" href="structSDPCone__C.html" title="Internal structure for semidefinite cone.">SDPCone</a> sdpcone,<span class="keywordtype">int</span> blockj, <span class="keywordtype">int</span> vari, <span class="keywordtype">int</span> n, <a name="l00479"></a>00479 <span class="keywordtype">double</span> alpha, <span class="keywordtype">int</span> ishift,<span class="keyword">const</span> <span class="keywordtype">int</span> ind[], <span class="keyword">const</span> <span class="keywordtype">double</span> val[], <span class="keywordtype">int</span> nnz){ <a name="l00480"></a>00480 <a name="l00481"></a>00481 <span class="keywordtype">int</span> info; <a name="l00482"></a>00482 <span class="keywordtype">char</span> UPLQ; <a name="l00483"></a>00483 <span class="keywordtype">void</span>* dmat=0; <a name="l00484"></a>00484 <span class="keyword">struct </span><a class="code" href="structDSDPDataMat__Ops.html" title="Table of function pointers that operate on the data matrix.">DSDPDataMat_Ops</a>* dmatops=0; <a name="l00485"></a>00485 <a name="l00486"></a>00486 DSDPFunctionBegin; <a name="l00487"></a>00487 info=<a class="code" href="group__SDPData.html#gabb32703bcca3a703fbbb591ee6737118" title="Get the storage format for the block.">SDPConeGetStorageFormat</a>(sdpcone,blockj,&UPLQ); DSDPCHKERR(info); <a name="l00488"></a>00488 DSDPLogInfo(0,20,<span class="stringliteral">"Set sparse matrix: Block: %d, Variable %d, size: %d, Nonzeros: %d .\n"</span>,blockj,vari,n,nnz); <a name="l00489"></a>00489 <span class="keywordflow">switch</span> (UPLQ){ <a name="l00490"></a>00490 <span class="keywordflow">case</span> <span class="charliteral">'P'</span>: <a name="l00491"></a>00491 info=<a class="code" href="dsdpadddatamat_8c.html#ae1b4f6c82deff9c0def2778a50320605" title="Create a rank one matrix usuable by DSDP in packed symmetric format.">DSDPGetR1PMat</a>(n,alpha,ishift,ind,val,nnz,&dmatops,&dmat); DSDPCHKERR(info); <a name="l00492"></a>00492 <span class="keywordflow">break</span>; <a name="l00493"></a>00493 <span class="keywordflow">case</span> <span class="charliteral">'U'</span>: <a name="l00494"></a>00494 info=<a class="code" href="dsdpadddatamat_8c.html#a1dec4948b43ccfd25ba0e320359a7899" title="Create a rank one matrix usuable by DSDP in full symmetric format.">DSDPGetR1UMat</a>(n,alpha,ishift,ind,val,nnz,&dmatops,&dmat); DSDPCHKERR(info); <a name="l00495"></a>00495 <span class="keywordflow">break</span>; <a name="l00496"></a>00496 } <a name="l00497"></a>00497 info=<a class="code" href="group__SDPData.html#ga16144b39108a8daef0d993f14404d6ca" title="Add a data matrix .">SDPConeAddDataMatrix</a>(sdpcone,blockj,vari,n,UPLQ,dmatops,dmat); DSDPCHKERR(info); <a name="l00498"></a>00498 DSDPFunctionReturn(0); <a name="l00499"></a>00499 } <a name="l00500"></a>00500 <span class="preprocessor">#undef __FUNCT__</span> <a name="l00501"></a>00501 <span class="preprocessor"></span><span class="preprocessor">#define __FUNCT__ "SDPConeSetARankOneMat"</span> <a name="l00502"></a>00502 <span class="preprocessor"></span> <a name="l00519"></a><a class="code" href="group__SDPData.html#gafb0929bf0ecd35329ecbf5a3e444cc7b">00519</a> <span class="keywordtype">int</span> <a class="code" href="group__SDPData.html#gafb0929bf0ecd35329ecbf5a3e444cc7b" title="Set data matrix where v is a sparse vector.">SDPConeSetARankOneMat</a>(<a class="code" href="structSDPCone__C.html" title="Internal structure for semidefinite cone.">SDPCone</a> sdpcone,<span class="keywordtype">int</span> blockj, <span class="keywordtype">int</span> vari, <span class="keywordtype">int</span> n, <a name="l00520"></a>00520 <span class="keywordtype">double</span> alpha, <span class="keywordtype">int</span> ishift,<span class="keyword">const</span> <span class="keywordtype">int</span> ind[], <span class="keyword">const</span> <span class="keywordtype">double</span> val[], <span class="keywordtype">int</span> nnz){ <a name="l00521"></a>00521 <a name="l00522"></a>00522 <a name="l00523"></a>00523 <span class="keywordtype">int</span> info; <a name="l00524"></a>00524 DSDPFunctionBegin; <a name="l00525"></a>00525 info=<a class="code" href="group__SDPData.html#ga432458dcffefd28177d23ae8e60cf4d8" title="Remove the data matrix from the cone.">SDPConeRemoveDataMatrix</a>(sdpcone,blockj,vari); DSDPCHKERR(info); <a name="l00526"></a>00526 info=<a class="code" href="group__SDPData.html#ga0568ca9b863657cf47e431b4ee580194" title="Add data matrix where v is a sparse vector.">SDPConeAddARankOneMat</a>(sdpcone,blockj,vari,n,alpha,ishift,ind,val,nnz); DSDPCHKERR(info); <a name="l00527"></a>00527 DSDPFunctionReturn(0); <a name="l00528"></a>00528 } <a name="l00529"></a>00529 <a name="l00530"></a>00530 <span class="preprocessor">#undef __FUNCT__</span> <a name="l00531"></a>00531 <span class="preprocessor"></span><span class="preprocessor">#define __FUNCT__ "DSDPSetDataMatZero"</span> <a name="l00532"></a>00532 <span class="preprocessor"></span> <a name="l00537"></a><a class="code" href="dsdpsdp_8h.html#a81cd5166f1eb03d59eed0a88f3f66d75">00537</a> <span class="keywordtype">int</span> <a class="code" href="dsdpadddatamat_8c.html#a6ddbf7fda16763eb7654fa849523dfd1" title="Make a data matrix a zero matrix.">DSDPSetDataMatZero</a>(<a class="code" href="structDSDPDataMat__C.html" title="Symmetric data matrix for one block in the semidefinite cone.">DSDPDataMat</a> *A){ <a name="l00538"></a>00538 <span class="keywordtype">int</span> info; <a name="l00539"></a>00539 <span class="keyword">struct </span><a class="code" href="structDSDPDataMat__Ops.html" title="Table of function pointers that operate on the data matrix.">DSDPDataMat_Ops</a>* zeromatops=0; <a name="l00540"></a>00540 DSDPFunctionBegin; <a name="l00541"></a>00541 info=DSDPGetZeroDataMatOps(&zeromatops); DSDPCHKERR(info); <a name="l00542"></a>00542 info=<a class="code" href="dsdpdatamat_8c.html#a830de0c064b4d8b3109755fe0c3db05c" title="Set the opaque pointer and function pointers to the matrix.">DSDPDataMatSetData</a>(A,zeromatops,0);DSDPCHKERR(info); <a name="l00543"></a>00543 DSDPFunctionReturn(0); <a name="l00544"></a>00544 } <a name="l00545"></a>00545 </pre></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>