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.
Definition: dsdpadddata.c:101
struct BCone_C * BCone
The BCone object points to lower and upper bounds on the variable y in (D).
Definition: dsdp5.h:28
int SDPConeSetXMat(SDPCone, int, int)
Create X matrix.
Definition: dsdpadddata.c:247
int SDPConeView(SDPCone)
Print the SDPCone to the screen;.
Definition: dsdpadddata.c:617
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 SDPCone_C * SDPCone
The SDPCone object points to blocks of data that specify semidefinite matrix inequalities.
Definition: dsdp5.h:26
Solver, solution types, termination codes,.
DSDPTerminationReason
There are many reasons to terminate the solver.
DSDPSolutionType
Formulations (P) and (D) can be feasible and bounded, feasible and unbounded, or infeasible.
DSDPTruth
Boolean variables.
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.
Definition: dsdpsetdata.c:100
int DSDPSetStandardMonitor(DSDP, int)
Print at every kth iteration.
Definition: dsdpprintout.c:153
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.
Definition: dsdpconverge.c:298
int DSDPGetPNormTolerance(DSDP, double *)
Get the termination tolerance.
Definition: dsdpconverge.c:180
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.
Definition: dsdpconverge.c:110
int DSDPSetPNormTolerance(DSDP, double)
Terminate the solver when the relative duality gap is suffiently small and the PNorm is less than thi...
Definition: dsdpconverge.c:158
int DSDPStopReason(DSDP, DSDPTerminationReason *)
Copy the reason why the solver terminated.
Definition: dsdpsetdata.c:582
int DSDPGetGapHistory(DSDP, double[], int)
Copy a history of the duality gap into an array.
Definition: dsdpconverge.c:321
int DSDPGetGapTolerance(DSDP, double *)
Get the termination tolerance.
Definition: dsdpconverge.c:132
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.
Definition: dsdpconverge.c:252
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.
Definition: dsdpsetdata.c:206
int DSDPSetDualBound(DSDP, double)
Terminate the solver if the objective value in (DD) is greater than this tolerance.
Definition: dsdpconverge.c:205
int DSDPGetDualBound(DSDP, double *)
Get the termination parameter.
Definition: dsdpconverge.c:227
int DSDPGetIts(DSDP, int *)
Copy the current iteration number.
Definition: dsdpsetdata.c:564
int DSDPGetStepTolerance(DSDP, double *)
Get the current tolerance.
Definition: dsdpconverge.c:273
int DSDPGetMaxIts(DSDP, int *)
Copy the maximum number of iterations from the solver.
Definition: dsdpsetdata.c:225
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.
Definition: dsdpsetdata.c:678
int DSDPGetDimension(DSDP, double *)
Copy the dimension of the cones, or the number of constraints in (D).
Definition: dsdpsetdata.c:661
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).
Definition: dsdpsetdata.c:502
int DSDPAddObjectiveConstant(DSDP, double)
Add a constant to the objective.
Definition: dsdpsetdata.c:185
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)
Definition: dsdpsetdata.c:311
int DSDPGetPnorm(DSDP, double *)
Copy the proximity of the solution to the central path.
Definition: dsdpsetdata.c:724
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).
Definition: dsdpsetdata.c:601
int DSDPGetPPObjective(DSDP, double *)
Copy the objective value (PP).
Definition: dsdpsetdata.c:479
int DSDPGetDDObjective(DSDP, double *)
Copy the objective value (DD).
Definition: dsdpsetdata.c:523
int DSDPGetStepLengths(DSDP, double *, double *)
Copy the step sizes in the current iteration.
Definition: dsdpsetdata.c:742
int DSDPGetDataNorms(DSDP, double[3])
Copy the norms of the data C, A, and b into an array.
Definition: dsdpsetdata.c:621
int DSDPGetNumberOfVariables(DSDP, int *)
Copy the number of variables y.
Definition: dsdpsetdata.c:707
int DSDPGetPotential(DSDP, double *)
Copy the potential of the current solution.
Definition: dsdpsetdata.c:803
int DSDPGetDualityGap(DSDP, double *)
Copy the difference between the objective values.
Definition: dsdpsetdata.c:545
int DSDPGetBarrierParameter(DSDP, double *)
Copy the current barrier parameter.
Definition: dsdpsetdata.c:364
int DSDPGetPotentialParameter(DSDP, double *)
Copy the potential parameter.
Definition: dsdpsetdata.c:784
int DSDPUsePenalty(DSDP, int)
Use penalty parameter to enforce feasibility.
Definition: dsdpsetdata.c:383
int DSDPSetZBar(DSDP, double)
Set an upper bound on the objective value at the solution.
Definition: dsdpsetdata.c:283
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.
Definition: dsdpschurmat.c:675
int DSDPSetBarrierParameter(DSDP, double)
Set the current barrier parameter.
Definition: dsdpsetdata.c:340
int DSDPSetPotentialParameter(DSDP, double)
Set the potential parameter.
Definition: dsdpsetdata.c:765
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.
Definition: dsdpsetdata.c:945
int DSDPGetScale(DSDP, double *)
Copy the internal scaling factor from the solver.
Definition: dsdpsetdata.c:128
int DSDPGetMaxTrustRadius(DSDP, double *)
Copy the current radius of the trust region.
Definition: dsdpsetdata.c:265
int DSDPReuseMatrix(DSDP, int)
Reuse the Hessian of the barrier function multiple times at each DSDP iteration.
Definition: dsdpsetdata.c:905
int DSDPSetPenaltyParameter(DSDP, double)
Set the penalty parameter Gamma.
Definition: dsdpsetdata.c:418
int DSDPReadOptions(DSDP, char[])
Read DSDP parameters from a file.
int DSDPSetFixedVariables(DSDP, double[], double[], double[], int)
Fix variable y to exact values.
Definition: dsdpschurmat.c:695
int DSDPSetScale(DSDP, double)
Set the internal scaling factor.
Definition: dsdpsetdata.c:153
int DSDPPrintOptions()
Print runtime options;.
int DSDPSetMaxTrustRadius(DSDP, double)
Set a maximum trust radius on the step direction.
Definition: dsdpsetdata.c:246
int DSDPSetYBounds(DSDP, double, double)
Bound the variables y.
Definition: dsdpsetdata.c:885
int DSDPGetPenaltyParameter(DSDP, double *)
Copy the penalty parameter Gamma.
Definition: dsdpsetdata.c:443
int DSDPUseDynamicRho(DSDP, int)
Use a dynamic strategy to choose parameter rho.
Definition: dsdpsetdata.c:821
int DSDPGetYBounds(DSDP, double *, double *)
Copy the bounds on the variables y.
Definition: dsdpsetdata.c:866
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.
Definition: dsdpsetdata.c:925
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 LPConeGetXArray(LPCone, double *[], int *)
Get the array used to store the x variables.
Definition: dsdplp.c:556
int LPConeView2(LPCone lpcone)
Print the data in the LP cone to the screen.
Definition: dsdplp.c:744
int LPConeView(LPCone lpcone)
Print the data in the LP cone to the screen.
Definition: dsdplp.c:1078
int LPConeSetData(LPCone, int, const int[], const int[], const double[])
Set data into the LP cone.
Definition: dsdplp.c:666
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 LPConeSetData2(LPCone, int, const int[], const int[], const double[])
Set data A and into the LP cone.
Definition: dsdplp.c:717
int SDPConeViewDataMatrix(SDPCone, int, int)
Print a data matrix to the screen.
Definition: dsdpadddata.c:205
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.
Definition: dsdpadddata.c:328
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.
Definition: dsdpadddata.c:414
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.
Definition: dsdpadddata.c:127
int SDPConeCheckData(SDPCone)
Check the matrix operations on a data matrix;.
Definition: dsdpadddata.c:692
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.
Definition: dsdpadddata.c:452
int SDPConeView3(SDPCone)
Print the SDP cone to the screen in a third way.
Definition: dsdpadddata.c:657
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.
Definition: dsdpadddata.c:637
int SDPConeGetStorageFormat(SDPCone, int, char *)
Get the storage format for the block.
Definition: dsdpadddata.c:505
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.
Definition: dsdpadddata.c:479
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.
Definition: dsdpadddata.c:535
int SDPConeGetNumberOfBlocks(SDPCone, int *)
Get the number of blocks in the semidefinite cone.
Definition: dsdpadddata.c:578
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.
Definition: dsdpadddata.c:596
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.
Definition: dsdpadddata.c:278
int SDPConeMatrixView(SDPCone, int)
Print the dense array to the screen.
Definition: dsdpadddata.c:372
int SDPConeGetBlockSize(SDPCone, int, int *)
Get the dimension of one block in the semidefinite cone.
Definition: dsdpadddata.c:560
int SDPConeRestoreXArray(SDPCone, int, double *[], int *)
Restore the dense array and set these pointers to null.
Definition: dsdpadddata.c:351
Internal structures for the DSDP solver.
Definition: dsdp.h:65
Internal structure for semidefinite cone.
Definition: dsdpsdp.h:80