DSDP
dsdp5.h
Go to the documentation of this file.
1#if !defined(__DSDP_INTERFACE_H)
2#define __DSDP_INTERFACE_H
8#include "dsdpbasictypes.h"
9#include "dsdpsys.h"
10
26typedef struct SDPCone_C* SDPCone;
27typedef struct LPCone_C* LPCone;
28typedef struct BCone_C* BCone;
29extern FILE *dsdpoutputfile;
30
31#ifdef __cplusplus
32extern "C" {
33#endif
34
35
36extern int DSDPCreate(int, DSDP *);
37extern int DSDPSetup(DSDP);
38extern int DSDPSolve(DSDP);
39extern int DSDPComputeX(DSDP);
41extern int DSDPDestroy(DSDP);
42
43extern int DSDPCreateBCone(DSDP, BCone*);
44extern int BConeAllocateBounds(BCone,int);
45extern int BConeSetLowerBound(BCone,int, double);
46extern int BConeSetUpperBound(BCone,int, double);
47extern int BConeSetPSlackVariable(BCone,int);
48extern int BConeSetPSurplusVariable(BCone,int);
49extern int BConeScaleBarrier(BCone,double);
50extern int BConeView(BCone);
51extern int BConeSetXArray(BCone,double[], int);
52extern int BConeCopyX(BCone,double[],double[],int);
53
54extern int DSDPBoundDualVariables(DSDP,double, double);
55extern int DSDPSetYBounds(DSDP,double,double);
56extern int DSDPGetYBounds(DSDP,double*,double*);
57
58extern int DSDPCreateLPCone(DSDP,LPCone*);
59extern int LPConeSetData(LPCone,int,const int[],const int[],const double[]);
60extern int LPConeSetData2(LPCone,int,const int[],const int[],const double[]);
61extern int LPConeGetData(LPCone,int,double[],int);
62extern int LPConeScaleBarrier(LPCone,double);
63extern int LPConeGetXArray(LPCone,double*[], int*);
64extern int LPConeGetSArray(LPCone,double*[], int*);
65extern int LPConeGetDimension(LPCone,int*);
66extern int LPConeView(LPCone lpcone);
67extern int LPConeView2(LPCone lpcone);
68extern int LPConeCopyS(LPCone,double[],int);
69
70extern int DSDPCreateSDPCone(DSDP, int, SDPCone*);
71extern int SDPConeSetBlockSize(SDPCone, int, int);
72extern int SDPConeGetBlockSize(SDPCone, int, int*);
73extern int SDPConeSetStorageFormat(SDPCone, int, char);
74extern int SDPConeGetStorageFormat(SDPCone, int, char*);
75extern int SDPConeCheckStorageFormat(SDPCone, int, char);
76extern int SDPConeSetSparsity(SDPCone, int, int);
77extern int SDPConeView(SDPCone);
78extern int SDPConeView2(SDPCone);
79extern int SDPConeView3(SDPCone);
80
81extern int SDPConeSetASparseVecMat(SDPCone,int,int,int,double,int,const int[],const double[],int);
82extern int SDPConeSetADenseVecMat(SDPCone,int,int,int,double,double[],int);
83/* extern int SDPConeSetDenseMatWSparseData(SDPCone,int, int, int, double*, int*, int*); */
84extern int SDPConeSetARankOneMat(SDPCone,int,int,int,double,int,const int[],const double[],int);
85extern int SDPConeSetConstantMat(SDPCone,int,int,int,double);
86extern int SDPConeSetZeroMat(SDPCone,int,int,int);
87extern int SDPConeSetIdentity(SDPCone,int,int,int,double);
88extern int SDPConeViewDataMatrix(SDPCone,int,int);
89extern int SDPConeMatrixView(SDPCone,int);
90
91extern int SDPConeAddASparseVecMat(SDPCone,int,int,int,double,int,const int[],const double[],int);
92extern int SDPConeAddADenseVecMat(SDPCone,int,int,int,double,double[],int);
93extern int SDPConeAddConstantMat(SDPCone,int,int,int,double);
94extern int SDPConeAddIdentity(SDPCone,int,int,int,double);
95extern int SDPConeAddARankOneMat(SDPCone,int,int,int,double,int,const int[],const double[],int);
96
97/* For backward compatibility */
98extern int SDPConeAddSparseVecMat(SDPCone,int,int,int,int,const int[],const double[],int);
99extern int SDPConeAddDenseVecMat(SDPCone,int,int,int,double[],int);
100extern int SDPConeSetSparseVecMat(SDPCone,int,int,int,int,const int[],const double[],int);
101extern int SDPConeSetDenseVecMat(SDPCone,int,int,int,double[],int);
102
103extern int SDPConeSetXMat(SDPCone,int,int);
104extern int SDPConeSetXArray(SDPCone,int,int,double[], int);
105extern int SDPConeGetXArray(SDPCone,int,double*[],int*);
106extern int SDPConeRestoreXArray(SDPCone,int,double*[],int*);
107extern int SDPConeCheckData(SDPCone);
108extern int SDPConeRemoveDataMatrix(SDPCone,int,int);
109extern int SDPConeGetNumberOfBlocks(SDPCone, int*);
110extern int SDPConeComputeS(SDPCone, int, double,double[], int, double,int,double[],int);
111extern int SDPConeComputeX(SDPCone,int,int,double[],int);
112extern int SDPConeAddADotX(SDPCone,int,double,double[],int,double[],int);
113extern int SDPConeViewX(SDPCone,int,int,double[],int);
114extern int SDPConeSetLanczosIterations(SDPCone,int);
115extern int SDPConeScaleBarrier(SDPCone,int,double);
116extern int SDPConeXVMultiply(SDPCone,int,double[],double[],int);
117extern int SDPConeComputeXV(SDPCone,int,int*);
118extern int SDPConeAddXVAV(SDPCone,int,double[],int,double[],int);
119extern int SDPConeUseLAPACKForDualMatrix(SDPCone,int);
120
121extern int DSDPSetDualObjective(DSDP,int,double);
122extern int DSDPAddObjectiveConstant(DSDP,double);
123extern int DSDPGetDObjective(DSDP,double*);
124extern int DSDPGetDDObjective(DSDP,double*);
125extern int DSDPGetPObjective(DSDP,double*);
126extern int DSDPGetPPObjective(DSDP,double*);
127/*
128extern int DSDPGetDualObjective(DSDP,double*);
129extern int DSDPGetPrimalObjective(DSDP,double*);
130*/
131#define DSDPGetDualObjective DSDPGetDDObj
132#define DSDPGetPrimalObjective DSDPGetPPObj
133extern int DSDPGetDualityGap(DSDP,double*);
134extern int DSDPGetScale(DSDP,double*);
135extern int DSDPSetScale(DSDP,double);
136extern int DSDPGetPenaltyParameter(DSDP,double*);
137extern int DSDPGetPenalty(DSDP,double*);
138extern int DSDPCopyB(DSDP,double[], int);
139
140extern int DSDPSetR0(DSDP,double);
141extern int DSDPGetR(DSDP, double *);
142extern int DSDPSetRTolerance(DSDP,double);
143extern int DSDPGetRTolerance(DSDP,double*);
144
145extern int DSDPSetY0(DSDP,int, double);
146extern int DSDPGetY(DSDP, double[], int);
147extern int DSDPGetYMakeX(DSDP, double[], int);
148extern int DSDPGetDYMakeX(DSDP, double[], int);
149extern int DSDPGetMuMakeX(DSDP, double*);
150
151#define DSDPSetInitialBarrierParameter DSDPSetBarrierParameter
152#define DSDPGetInitialBarrierParameter DSDPGetBarrierParameter
153extern int DSDPGetBarrierParameter(DSDP, double *);
154extern int DSDPSetBarrierParameter(DSDP, double);
155extern int DSDPReuseMatrix(DSDP,int);
156extern int DSDPGetReuseMatrix(DSDP,int*);
157extern int DSDPGetDimension(DSDP, double*);
158
159extern int DSDPSetMaxIts(DSDP,int);
160extern int DSDPGetMaxIts(DSDP,int*);
161extern int DSDPSetStepTolerance(DSDP,double);
162extern int DSDPGetStepTolerance(DSDP,double*);
163extern int DSDPSetGapTolerance(DSDP,double);
164extern int DSDPGetGapTolerance(DSDP,double*);
165extern int DSDPSetPNormTolerance(DSDP,double);
166extern int DSDPGetPNormTolerance(DSDP,double*);
167extern int DSDPSetDualBound(DSDP,double);
168extern int DSDPGetDualBound(DSDP,double*);
169extern int DSDPSetPTolerance(DSDP,double);
170extern int DSDPGetPTolerance(DSDP,double*);
171extern int DSDPGetPInfeasibility(DSDP,double*);
172extern int DSDPSetMaxTrustRadius(DSDP,double);
173extern int DSDPGetMaxTrustRadius(DSDP,double*);
176extern int DSDPSetPotentialParameter(DSDP, double);
177extern int DSDPGetPotentialParameter(DSDP, double*);
178extern int DSDPUseDynamicRho(DSDP, int);
179extern int DSDPGetPotential(DSDP,double*);
180extern int DSDPUseLAPACKForSchur(DSDP,int);
181extern int DSDPGetNumberOfVariables(DSDP,int*);
182extern int DSDPGetFinalErrors(DSDP,double[6]);
183extern int DSDPGetGapHistory(DSDP, double[], int);
184extern int DSDPGetRHistory(DSDP, double[], int);
185extern int DSDPGetIts(DSDP,int *);
186extern int DSDPGetPnorm(DSDP, double *);
187extern int DSDPGetStepLengths(DSDP, double*,double*);
188extern int DSDPSetMonitor(DSDP, int (*)(DSDP,void*),void*);
189extern int DSDPSetStandardMonitor(DSDP,int);
190extern int DSDPSetFileMonitor(DSDP,int);
191extern int DSDPSetPenaltyParameter(DSDP,double);
192extern int DSDPUsePenalty(DSDP,int);
193extern int DSDPPrintLogInfo(int);
194extern int DSDPComputeMinimumXEigenvalue(DSDP, double*);
195extern int DSDPGetTraceX(DSDP dsdp, double*);
196extern int DSDPSetZBar(DSDP,double);
197extern int DSDPSetDualLowerBound(DSDP, double);
198extern int DSDPGetDataNorms(DSDP, double[3]);
199extern int DSDPGetYMaxNorm(DSDP, double*);
201extern int SDPConeUsePackedFormat(SDPCone, int);
202extern int DSDPSetFixedVariable(DSDP,int,double);
203extern int DSDPSetFixedVariables(DSDP,double[],double[],double[],int);
204extern int DSDPGetFixedYX(DSDP,int,double*);
205extern int DSDPView(DSDP);
206extern int DSDPPrintOptions();
207extern int DSDPPrintData(DSDP,SDPCone,LPCone);
208extern int DSDPPrintSolution(FILE*,DSDP,SDPCone, LPCone);
209extern int DSDPSetOptions(DSDP,char*[], int);
210extern int DSDPReadOptions(DSDP, char[]);
211extern int DSDPSetDestroyRoutine(DSDP, int (*)(void*), void*);
212
213#ifdef __cplusplus
214}
215#endif
216
217#endif
int SDPConeCheckStorageFormat(SDPCone, int, char)
Check validity of parameters.
int SDPConeSetXMat(SDPCone, int, int)
Create X matrix.
int SDPConeView(SDPCone)
Print the SDPCone to the screen;.
struct SDPCone_C * SDPCone
The SDPCone object points to blocks of data that specify semidefinite matrix inequalities.
Definition dsdp5.h:26
int DSDPSetDestroyRoutine(DSDP, int(*)(void *), void *)
Set a routine that will be called during DSDPDestroy().
Definition dsdpsetup.c:469
struct LPCone_C * LPCone
The LPCone object points to blocks of data that specify linear scalar inequality constraints.
Definition dsdp5.h:27
int LPConeGetData(LPCone, int, double[], int)
Get one column (or row) of the LP data.
Definition dsdplp.c:783
struct BCone_C * BCone
The BCone object points to lower and upper bounds on the variable y in (D).
Definition dsdp5.h:28
Solver, solution types, termination codes,.
DSDPTruth
Boolean variables.
DSDPTerminationReason
There are many reasons to terminate the solver.
DSDPSolutionType
Formulations (P) and (D) can be feasible and bounded, feasible and unbounded, or infeasible.
Error handling, printing, and profiling.
int BConeCopyX(BCone, double[], double[], int)
Copy the variables into arrays.
Definition dbounds.c:517
int BConeSetUpperBound(BCone, int, double)
Set an upper bound on a variable y.
Definition dbounds.c:583
int BConeSetLowerBound(BCone, int, double)
Set a lower bound on a variable y.
Definition dbounds.c:566
int DSDPCreateBCone(DSDP, BCone *)
Create a new cone that represents bounds on the y variables.
Definition dbounds.c:467
int BConeSetPSurplusVariable(BCone, int)
Set a surplus variable in constraint in (P).
Definition dbounds.c:624
int BConeAllocateBounds(BCone, int)
Set a surplus variable in constraint in (P).
Definition dbounds.c:645
int BConeSetPSlackVariable(BCone, int)
Set a slack variable to a constraint in (P).
Definition dbounds.c:607
int DSDPSetup(DSDP)
Set up data structures in the solver and the cones associated with it.
Definition dsdpsetup.c:193
int DSDPDestroy(DSDP)
Free the internal data structures of the solver and the cones associated with it.
Definition dsdpsetup.c:496
int DSDPGetSolutionType(DSDP, DSDPSolutionType *)
Solutions can be bounded, infeasible, or unbounded.
Definition dsdpx.c:254
int DSDPSetOptions(DSDP, char *[], int)
Read command line arguments to set options in DSDP.
int DSDPView(DSDP)
Print many of the parameters currently set in DSDP.
int DSDPSetDualObjective(DSDP, int, double)
Set the objective vector b in (D).
Definition dsdpsetdata.c:25
int DSDPGetY(DSDP, double[], int)
Copies the variables y into an array.
int DSDPSetStandardMonitor(DSDP, int)
Print at every kth iteration.
int DSDPCreate(int, DSDP *)
Create a DSDP solver. FIRST DSDP routine!
Definition dsdpsetup.c:30
int DSDPSolve(DSDP)
Apply DSDP to the problem.
Definition dsdpsetup.c:343
int DSDPComputeX(DSDP)
Compute the X variables.
Definition dsdpx.c:55
int DSDPGetRHistory(DSDP, double[], int)
Copy a history of the infeasibility in (D) into an array.
int DSDPGetPNormTolerance(DSDP, double *)
Get the termination tolerance.
int DSDPGetRTolerance(DSDP, double *)
Copy the maximum infeasibility allowed (D).
Definition dsdpx.c:434
int DSDPSetGapTolerance(DSDP, double)
Terminate the solver when the relative duality gap is less than this tolerance.
int DSDPSetPNormTolerance(DSDP, double)
Terminate the solver when the relative duality gap is suffiently small and the PNorm is less than thi...
int DSDPStopReason(DSDP, DSDPTerminationReason *)
Copy the reason why the solver terminated.
int DSDPGetGapHistory(DSDP, double[], int)
Copy a history of the duality gap into an array.
int DSDPGetGapTolerance(DSDP, double *)
Get the termination tolerance.
int DSDPGetPInfeasibility(DSDP, double *)
Copy the infeasibility in (P).
Definition dsdpx.c:343
int DSDPSetStepTolerance(DSDP, double)
Terminate the solver if the step length in (DD) is below this tolerance.
int DSDPGetPTolerance(DSDP, double *)
Copy the feasibility tolerance.
Definition dsdpx.c:386
int DSDPSetRTolerance(DSDP, double)
Classify (D) as feasible only if the variable r is less than this tolerance.
Definition dsdpx.c:409
int DSDPSetMaxIts(DSDP, int)
Terminate the solver after this number of iterations.
int DSDPSetDualBound(DSDP, double)
Terminate the solver if the objective value in (DD) is greater than this tolerance.
int DSDPGetDualBound(DSDP, double *)
Get the termination parameter.
int DSDPGetIts(DSDP, int *)
Copy the current iteration number.
int DSDPGetStepTolerance(DSDP, double *)
Get the current tolerance.
int DSDPGetMaxIts(DSDP, int *)
Copy the maximum number of iterations from the solver.
int DSDPSetPTolerance(DSDP, double)
Classify (P) as feasible only if the infeasibility is less than this tolerance.
Definition dsdpx.c:365
int DSDPGetPObjective(DSDP, double *)
Copy the objective value (P).
Definition dsdpx.c:232
int DSDPGetYMaxNorm(DSDP, double *)
Copy the the infinity norm of the variables y.
int DSDPGetDimension(DSDP, double *)
Copy the dimension of the cones, or the number of constraints in (D).
int DSDPGetTraceX(DSDP dsdp, double *)
Copy the trace of the variables X in (P).
Definition dsdpx.c:278
int DSDPGetDObjective(DSDP, double *)
Copy the objective value (D).
int DSDPAddObjectiveConstant(DSDP, double)
Add a constant to the objective.
int DSDPGetFinalErrors(DSDP, double[6])
Copy six different error measurements into an array.
Definition dsdpx.c:297
int DSDPSetR0(DSDP, double)
Set an initial value for the variable r in (DD)
int DSDPGetPnorm(DSDP, double *)
Copy the proximity of the solution to the central path.
int DSDPCopyB(DSDP, double[], int)
Copies the variables b from solver into an array.
Definition dsdpsetdata.c:46
int DSDPSetY0(DSDP, int, double)
Set the initial values of variables y in (D).
Definition dsdpsetdata.c:77
int DSDPGetR(DSDP, double *)
Copy the infeasibility in (D), or the variable r in (DD).
int DSDPGetPPObjective(DSDP, double *)
Copy the objective value (PP).
int DSDPGetDDObjective(DSDP, double *)
Copy the objective value (DD).
int DSDPGetStepLengths(DSDP, double *, double *)
Copy the step sizes in the current iteration.
int DSDPGetDataNorms(DSDP, double[3])
Copy the norms of the data C, A, and b into an array.
int DSDPGetNumberOfVariables(DSDP, int *)
Copy the number of variables y.
int DSDPGetPotential(DSDP, double *)
Copy the potential of the current solution.
int DSDPGetDualityGap(DSDP, double *)
Copy the difference between the objective values.
int DSDPGetBarrierParameter(DSDP, double *)
Copy the current barrier parameter.
int DSDPGetPotentialParameter(DSDP, double *)
Copy the potential parameter.
int DSDPUsePenalty(DSDP, int)
Use penalty parameter to enforce feasibility.
int DSDPSetZBar(DSDP, double)
Set an upper bound on the objective value at the solution.
int DSDPGetMuMakeX(DSDP, double *)
Copies the value of mu used to construct X.
Definition dsdpx.c:511
int DSDPSetFixedVariable(DSDP, int, double)
Fix variable y to exact value.
int DSDPSetBarrierParameter(DSDP, double)
Set the current barrier parameter.
int DSDPSetPotentialParameter(DSDP, double)
Set the potential parameter.
int DSDPComputeAndFactorS(DSDP, DSDPTruth *)
Compute and factor the dual matrix variables.
Definition dualalg.c:540
int DSDPGetDYMakeX(DSDP, double[], int)
Copies the variables dy used to construct X into an array.
Definition dsdpx.c:483
int DSDPSetMonitor(DSDP, int(*)(DSDP, void *), void *)
Monitor each iteration of the solver.
int DSDPGetScale(DSDP, double *)
Copy the internal scaling factor from the solver.
int DSDPGetMaxTrustRadius(DSDP, double *)
Copy the current radius of the trust region.
int DSDPReuseMatrix(DSDP, int)
Reuse the Hessian of the barrier function multiple times at each DSDP iteration.
int DSDPSetPenaltyParameter(DSDP, double)
Set the penalty parameter Gamma.
int DSDPReadOptions(DSDP, char[])
Read DSDP parameters from a file.
int DSDPSetFixedVariables(DSDP, double[], double[], double[], int)
Fix variable y to exact values.
int DSDPSetScale(DSDP, double)
Set the internal scaling factor.
int DSDPSetMaxTrustRadius(DSDP, double)
Set a maximum trust radius on the step direction.
int DSDPSetYBounds(DSDP, double, double)
Bound the variables y.
int DSDPGetPenaltyParameter(DSDP, double *)
Copy the penalty parameter Gamma.
int DSDPUseDynamicRho(DSDP, int)
Use a dynamic strategy to choose parameter rho.
int DSDPGetYBounds(DSDP, double *, double *)
Copy the bounds on the variables y.
int DSDPPrintOptions()
Print runtime options;.
int DSDPGetYMakeX(DSDP, double[], int)
Copies the variables y used to construct X into an array.
Definition dsdpx.c:455
int DSDPGetReuseMatrix(DSDP, int *)
Copy this parameter.
int DSDPPrintData(DSDP, SDPCone, LPCone)
Print data in SDPA format to a file named "output.sdpa".
Definition printsdpa.c:164
int DSDPPrintSolution(FILE *, DSDP, SDPCone, LPCone)
Print solution in SDPA format.
Definition printsdpa.c:94
int DSDPCreateLPCone(DSDP, LPCone *)
Create a new object for linear programs and scalar inequalities.
Definition dsdplp.c:509
int LPConeSetData2(LPCone, int, const int[], const int[], const double[])
Set data A and into the LP cone.
Definition dsdplp.c:717
int LPConeGetXArray(LPCone, double *[], int *)
Get the array used to store the x variables.
Definition dsdplp.c:556
int LPConeSetData(LPCone, int, const int[], const int[], const double[])
Set data into the LP cone.
Definition dsdplp.c:666
int LPConeView(LPCone lpcone)
Print the data in the LP cone to the screen.
Definition dsdplp.c:1078
int LPConeCopyS(LPCone, double[], int)
Copy the variables s into the spedified array.
Definition dsdplp.c:595
int LPConeGetDimension(LPCone, int *)
Get the dimension is the number of variables x, which equals the number of slack variables s.
Definition dsdplp.c:616
int LPConeView2(LPCone lpcone)
Print the data in the LP cone to the screen.
Definition dsdplp.c:744
int SDPConeViewDataMatrix(SDPCone, int, int)
Print a data matrix to the screen.
int SDPConeViewX(SDPCone, int, int, double[], int)
Print a dense array X to the screen.
Definition sdpcone.c:223
int SDPConeSetADenseVecMat(SDPCone, int, int, int, double, double[], int)
Set a matrix in a dense format.
int SDPConeGetXArray(SDPCone, int, double *[], int *)
After applying the solver, set a pointer to the array in the object with the solution X.
int SDPConeSetASparseVecMat(SDPCone, int, int, int, double, int, const int[], const double[], int)
Set data matrix in a sparse format.
int SDPConeAddARankOneMat(SDPCone, int, int, int, double, int, const int[], const double[], int)
Add data matrix where v is a sparse vector.
int SDPConeAddASparseVecMat(SDPCone, int, int, int, double, int, const int[], const double[], int)
Add data matrix in a sparse format.
int SDPConeUseFullSymmetricFormat(SDPCone, int)
Use full symmetric format for the dense array.
int SDPConeSetConstantMat(SDPCone, int, int, int, double)
Set a matrix whose elements are all the same.
int SDPConeRemoveDataMatrix(SDPCone, int, int)
Remove the data matrix from the cone.
int SDPConeCheckData(SDPCone)
Check the matrix operations on a data matrix;.
int SDPConeAddConstantMat(SDPCone, int, int, int, double)
Add a matrix whose elements are all the same.
int SDPConeAddIdentity(SDPCone, int, int, int, double)
Add a matrix that is a multiple of the identity matrix.
int SDPConeUsePackedFormat(SDPCone, int)
Use packed symmetric format for the dense array.
int SDPConeView3(SDPCone)
Print the SDP cone to the screen in a third way.
int SDPConeSetZeroMat(SDPCone, int, int, int)
Set a matrix whose elements are all equal zero.
int SDPConeView2(SDPCone)
Print the SDP cone to the screen in a second way.
int SDPConeGetStorageFormat(SDPCone, int, char *)
Get the storage format for the block.
int SDPConeSetIdentity(SDPCone, int, int, int, double)
Set a matrix to be a multiple of the identity matrix.
int SDPConeSetStorageFormat(SDPCone, int, char)
Set the dense storage format of a block in the semidefinite cone.
int SDPConeAddADenseVecMat(SDPCone, int, int, int, double, double[], int)
Add a matrix in a dense format.
int SDPConeSetARankOneMat(SDPCone, int, int, int, double, int, const int[], const double[], int)
Set data matrix where v is a sparse vector.
int SDPConeSetBlockSize(SDPCone, int, int)
Set the dimension of one block in the semidefinite cone.
int SDPConeGetNumberOfBlocks(SDPCone, int *)
Get the number of blocks in the semidefinite cone.
int SDPConeComputeS(SDPCone, int, double, double[], int, double, int, double[], int)
Compute the dual matrix S.
Definition sdpcone.c:42
int SDPConeComputeXV(SDPCone, int, int *)
Compute a factor V such that .
Definition sdpcone.c:325
int SDPConeXVMultiply(SDPCone, int, double[], double[], int)
Multiply an array by a factor V such that .
Definition sdpcone.c:251
int SDPConeSetSparsity(SDPCone, int, int)
Set the number of nonzero matrices in a block of the semidefinite cone.
int SDPConeComputeX(SDPCone, int, int, double[], int)
Compute the matrix X.
Definition sdpcone.c:191
int SDPConeAddXVAV(SDPCone, int, double[], int, double[], int)
Compute for i = 0 through m.
Definition sdpcone.c:292
int SDPConeAddADotX(SDPCone, int, double, double[], int, double[], int)
Compute the inner products of a dense matrix X with the data matrices.
Definition sdpcone.c:75
int SDPConeSetXArray(SDPCone, int, int, double[], int)
Provide an array for the SDPCone object can use to store dense matrices.
int SDPConeMatrixView(SDPCone, int)
Print the dense array to the screen.
int SDPConeGetBlockSize(SDPCone, int, int *)
Get the dimension of one block in the semidefinite cone.
int SDPConeRestoreXArray(SDPCone, int, double *[], int *)
Restore the dense array and set these pointers to null.
Internal structures for the DSDP solver.
Definition dsdp.h:65
Internal structure for semidefinite cone.
Definition dsdpsdp.h:80