DSDP
dsdp5.h
Go to the documentation of this file.
1 #if !defined(__DSDP_INTERFACE_H)
2 #define __DSDP_INTERFACE_H
3 
8 #include "dsdpbasictypes.h"
9 #include "dsdpsys.h"
10 
26 typedef struct SDPCone_C* SDPCone;
27 typedef struct LPCone_C* LPCone;
28 typedef struct BCone_C* BCone;
29 extern FILE *dsdpoutputfile;
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34 
35 
36 extern int DSDPCreate(int, DSDP *);
37 extern int DSDPSetup(DSDP);
38 extern int DSDPSolve(DSDP);
39 extern int DSDPComputeX(DSDP);
41 extern int DSDPDestroy(DSDP);
42 
43 extern int DSDPCreateBCone(DSDP, BCone*);
44 extern int BConeAllocateBounds(BCone,int);
45 extern int BConeSetLowerBound(BCone,int, double);
46 extern int BConeSetUpperBound(BCone,int, double);
47 extern int BConeSetPSlackVariable(BCone,int);
48 extern int BConeSetPSurplusVariable(BCone,int);
49 extern int BConeScaleBarrier(BCone,double);
50 extern int BConeView(BCone);
51 extern int BConeSetXArray(BCone,double[], int);
52 extern int BConeCopyX(BCone,double[],double[],int);
53 
54 extern int DSDPBoundDualVariables(DSDP,double, double);
55 extern int DSDPSetYBounds(DSDP,double,double);
56 extern int DSDPGetYBounds(DSDP,double*,double*);
57 
58 extern int DSDPCreateLPCone(DSDP,LPCone*);
59 extern int LPConeSetData(LPCone,int,const int[],const int[],const double[]);
60 extern int LPConeSetData2(LPCone,int,const int[],const int[],const double[]);
61 extern int LPConeGetData(LPCone,int,double[],int);
62 extern int LPConeScaleBarrier(LPCone,double);
63 extern int LPConeGetXArray(LPCone,double*[], int*);
64 extern int LPConeGetSArray(LPCone,double*[], int*);
65 extern int LPConeGetDimension(LPCone,int*);
66 extern int LPConeView(LPCone lpcone);
67 extern int LPConeView2(LPCone lpcone);
68 extern int LPConeCopyS(LPCone,double[],int);
69 
70 extern int DSDPCreateSDPCone(DSDP, int, SDPCone*);
71 extern int SDPConeSetBlockSize(SDPCone, int, int);
72 extern int SDPConeGetBlockSize(SDPCone, int, int*);
73 extern int SDPConeSetStorageFormat(SDPCone, int, char);
74 extern int SDPConeGetStorageFormat(SDPCone, int, char*);
75 extern int SDPConeCheckStorageFormat(SDPCone, int, char);
76 extern int SDPConeSetSparsity(SDPCone, int, int);
77 extern int SDPConeView(SDPCone);
78 extern int SDPConeView2(SDPCone);
79 extern int SDPConeView3(SDPCone);
80 
81 extern int SDPConeSetASparseVecMat(SDPCone,int,int,int,double,int,const int[],const double[],int);
82 extern int SDPConeSetADenseVecMat(SDPCone,int,int,int,double,double[],int);
83 /* extern int SDPConeSetDenseMatWSparseData(SDPCone,int, int, int, double*, int*, int*); */
84 extern int SDPConeSetARankOneMat(SDPCone,int,int,int,double,int,const int[],const double[],int);
85 extern int SDPConeSetConstantMat(SDPCone,int,int,int,double);
86 extern int SDPConeSetZeroMat(SDPCone,int,int,int);
87 extern int SDPConeSetIdentity(SDPCone,int,int,int,double);
88 extern int SDPConeViewDataMatrix(SDPCone,int,int);
89 extern int SDPConeMatrixView(SDPCone,int);
90 
91 extern int SDPConeAddASparseVecMat(SDPCone,int,int,int,double,int,const int[],const double[],int);
92 extern int SDPConeAddADenseVecMat(SDPCone,int,int,int,double,double[],int);
93 extern int SDPConeAddConstantMat(SDPCone,int,int,int,double);
94 extern int SDPConeAddIdentity(SDPCone,int,int,int,double);
95 extern int SDPConeAddARankOneMat(SDPCone,int,int,int,double,int,const int[],const double[],int);
96 
97 /* For backward compatibility */
98 extern int SDPConeAddSparseVecMat(SDPCone,int,int,int,int,const int[],const double[],int);
99 extern int SDPConeAddDenseVecMat(SDPCone,int,int,int,double[],int);
100 extern int SDPConeSetSparseVecMat(SDPCone,int,int,int,int,const int[],const double[],int);
101 extern int SDPConeSetDenseVecMat(SDPCone,int,int,int,double[],int);
102 
103 extern int SDPConeSetXMat(SDPCone,int,int);
104 extern int SDPConeSetXArray(SDPCone,int,int,double[], int);
105 extern int SDPConeGetXArray(SDPCone,int,double*[],int*);
106 extern int SDPConeRestoreXArray(SDPCone,int,double*[],int*);
107 extern int SDPConeCheckData(SDPCone);
108 extern int SDPConeRemoveDataMatrix(SDPCone,int,int);
109 extern int SDPConeGetNumberOfBlocks(SDPCone, int*);
110 extern int SDPConeComputeS(SDPCone, int, double,double[], int, double,int,double[],int);
111 extern int SDPConeComputeX(SDPCone,int,int,double[],int);
112 extern int SDPConeAddADotX(SDPCone,int,double,double[],int,double[],int);
113 extern int SDPConeViewX(SDPCone,int,int,double[],int);
114 extern int SDPConeSetLanczosIterations(SDPCone,int);
115 extern int SDPConeScaleBarrier(SDPCone,int,double);
116 extern int SDPConeXVMultiply(SDPCone,int,double[],double[],int);
117 extern int SDPConeComputeXV(SDPCone,int,int*);
118 extern int SDPConeAddXVAV(SDPCone,int,double[],int,double[],int);
119 extern int SDPConeUseLAPACKForDualMatrix(SDPCone,int);
120 
121 extern int DSDPSetDualObjective(DSDP,int,double);
122 extern int DSDPAddObjectiveConstant(DSDP,double);
123 extern int DSDPGetDObjective(DSDP,double*);
124 extern int DSDPGetDDObjective(DSDP,double*);
125 extern int DSDPGetPObjective(DSDP,double*);
126 extern int DSDPGetPPObjective(DSDP,double*);
127 /*
128 extern int DSDPGetDualObjective(DSDP,double*);
129 extern int DSDPGetPrimalObjective(DSDP,double*);
130 */
131 #define DSDPGetDualObjective DSDPGetDDObj
132 #define DSDPGetPrimalObjective DSDPGetPPObj
133 extern int DSDPGetDualityGap(DSDP,double*);
134 extern int DSDPGetScale(DSDP,double*);
135 extern int DSDPSetScale(DSDP,double);
136 extern int DSDPGetPenaltyParameter(DSDP,double*);
137 extern int DSDPGetPenalty(DSDP,double*);
138 extern int DSDPCopyB(DSDP,double[], int);
139 
140 extern int DSDPSetR0(DSDP,double);
141 extern int DSDPGetR(DSDP, double *);
142 extern int DSDPSetRTolerance(DSDP,double);
143 extern int DSDPGetRTolerance(DSDP,double*);
144 
145 extern int DSDPSetY0(DSDP,int, double);
146 extern int DSDPGetY(DSDP, double[], int);
147 extern int DSDPGetYMakeX(DSDP, double[], int);
148 extern int DSDPGetDYMakeX(DSDP, double[], int);
149 extern int DSDPGetMuMakeX(DSDP, double*);
150 
151 #define DSDPSetInitialBarrierParameter DSDPSetBarrierParameter
152 #define DSDPGetInitialBarrierParameter DSDPGetBarrierParameter
153 extern int DSDPGetBarrierParameter(DSDP, double *);
154 extern int DSDPSetBarrierParameter(DSDP, double);
155 extern int DSDPReuseMatrix(DSDP,int);
156 extern int DSDPGetReuseMatrix(DSDP,int*);
157 extern int DSDPGetDimension(DSDP, double*);
158 
159 extern int DSDPSetMaxIts(DSDP,int);
160 extern int DSDPGetMaxIts(DSDP,int*);
161 extern int DSDPSetStepTolerance(DSDP,double);
162 extern int DSDPGetStepTolerance(DSDP,double*);
163 extern int DSDPSetGapTolerance(DSDP,double);
164 extern int DSDPGetGapTolerance(DSDP,double*);
165 extern int DSDPSetPNormTolerance(DSDP,double);
166 extern int DSDPGetPNormTolerance(DSDP,double*);
167 extern int DSDPSetDualBound(DSDP,double);
168 extern int DSDPGetDualBound(DSDP,double*);
169 extern int DSDPSetPTolerance(DSDP,double);
170 extern int DSDPGetPTolerance(DSDP,double*);
171 extern int DSDPGetPInfeasibility(DSDP,double*);
172 extern int DSDPSetMaxTrustRadius(DSDP,double);
173 extern int DSDPGetMaxTrustRadius(DSDP,double*);
176 extern int DSDPSetPotentialParameter(DSDP, double);
177 extern int DSDPGetPotentialParameter(DSDP, double*);
178 extern int DSDPUseDynamicRho(DSDP, int);
179 extern int DSDPGetPotential(DSDP,double*);
180 extern int DSDPUseLAPACKForSchur(DSDP,int);
181 extern int DSDPGetNumberOfVariables(DSDP,int*);
182 extern int DSDPGetFinalErrors(DSDP,double[6]);
183 extern int DSDPGetGapHistory(DSDP, double[], int);
184 extern int DSDPGetRHistory(DSDP, double[], int);
185 extern int DSDPGetIts(DSDP,int *);
186 extern int DSDPGetPnorm(DSDP, double *);
187 extern int DSDPGetStepLengths(DSDP, double*,double*);
188 extern int DSDPSetMonitor(DSDP, int (*)(DSDP,void*),void*);
189 extern int DSDPSetStandardMonitor(DSDP,int);
190 extern int DSDPSetFileMonitor(DSDP,int);
191 extern int DSDPSetPenaltyParameter(DSDP,double);
192 extern int DSDPUsePenalty(DSDP,int);
193 extern int DSDPPrintLogInfo(int);
194 extern int DSDPComputeMinimumXEigenvalue(DSDP, double*);
195 extern int DSDPGetTraceX(DSDP dsdp, double*);
196 extern int DSDPSetZBar(DSDP,double);
197 extern int DSDPSetDualLowerBound(DSDP, double);
198 extern int DSDPGetDataNorms(DSDP, double[3]);
199 extern int DSDPGetYMaxNorm(DSDP, double*);
200 extern int SDPConeUseFullSymmetricFormat(SDPCone, int);
201 extern int SDPConeUsePackedFormat(SDPCone, int);
202 extern int DSDPSetFixedVariable(DSDP,int,double);
203 extern int DSDPSetFixedVariables(DSDP,double[],double[],double[],int);
204 extern int DSDPGetFixedYX(DSDP,int,double*);
205 extern int DSDPView(DSDP);
206 extern int DSDPPrintOptions();
207 extern int DSDPPrintData(DSDP,SDPCone,LPCone);
208 extern int DSDPPrintSolution(FILE*,DSDP,SDPCone, LPCone);
209 extern int DSDPSetOptions(DSDP,char*[], int);
210 extern int DSDPReadOptions(DSDP, char[]);
211 extern int DSDPSetDestroyRoutine(DSDP, int (*)(void*), void*);
212 
213 #ifdef __cplusplus
214 }
215 #endif
216 
217 #endif