DSDP Statistics for Data and Current Solution


Detailed Description

DSDP can provide information about the problem and its current solution in DSDP Standard Form.

#include dsdp5.h 

Return values:
0 if successful


Functions

int DSDPAddObjectiveConstant (DSDP dsdp, double c)
 Add a constant to the objective.
int DSDPCopyB (DSDP dsdp, double bb[], int m)
 Copies the variables b from solver into an array.
int DSDPGetDataNorms (DSDP dsdp, double dnorm[3])
 Copy the norms of the data C, A, and b into an array.
int DSDPGetDDObjective (DSDP dsdp, double *ddobj)
 Copy the objective value (DD).
int DSDPGetDimension (DSDP dsdp, double *n)
 Copy the dimension of the cones, or the number of constraints in (D).
int DSDPGetDObjective (DSDP dsdp, double *dobj)
 Copy the objective value (D).
int DSDPGetDualityGap (DSDP dsdp, double *dgap)
 Copy the difference between the objective values.
int DSDPGetFinalErrors (DSDP dsdp, double err[6])
 Copy six different error measurements into an array.
int DSDPGetMaxYElement (DSDP, double *)
 Copy the the infinity norm of the variables y.
int DSDPGetNumberOfVariables (DSDP dsdp, int *m)
 Copy the number of variables y.
int DSDPGetPnorm (DSDP dsdp, double *pnorm)
 Copy the proximity of the solution to the central path.
int DSDPGetPObjective (DSDP dsdp, double *pobj)
 Copy the objective value (P).
int DSDPGetPotential (DSDP dsdp, double *potential)
 Copy the potential of the current solution.
int DSDPGetPPObjective (DSDP dsdp, double *ppobj)
 Copy the objective value (PP).
int DSDPGetR (DSDP dsdp, double *res)
 Copy the infeasibility in (D), or the variable r in (DD).
int DSDPGetStepLengths (DSDP dsdp, double *pstep, double *dstep)
 Copy the step sizes in the current iteration.
int DSDPGetTraceX (DSDP dsdp, double *tracex)
 Copy the trace of the variables X in (P).
int DSDPGetYMaxNorm (DSDP dsdp, double *ynorm)
 Copy the the infinity norm of the variables y.
int DSDPSetR0 (DSDP dsdp, double res)
 Set an initial value for the variable r in (DD).
int DSDPSetY0 (DSDP dsdp, int i, double yi0)
 Set the initial values of variables y in (D).


Function Documentation

int DSDPAddObjectiveConstant ( DSDP  dsdp,
double  c 
)

Add a constant to the objective.

Parameters:
dsdp is the solver
c is the constant.
See also:
DSDPGetDObjective()
Note:
This parameter does not affect the performance of the solver. It can, however, make the standout output more consistent with the underlying application.

Definition at line 185 of file dsdpsetdata.c.

Referenced by DSDPSetOptions(), and mexFunction().

int DSDPCopyB ( DSDP  dsdp,
double  bb[],
int  m 
)

Copies the variables b from solver into an array.

Parameters:
dsdp is the solver
bb is an array
m is the length of the array and the dimension of y
See also:
DSDPSetDualObjective()

Definition at line 46 of file dsdpsetdata.c.

Referenced by DSDPPrintData().

int DSDPGetDataNorms ( DSDP  dsdp,
double  dnorm[3] 
)

Copy the norms of the data C, A, and b into an array.

Parameters:
dsdp is the solver
dnorm will be set the norms the data C, A, and b.
See also:
DSDPSetDualObjective()

Definition at line 621 of file dsdpsetdata.c.

Referenced by DSDPView(), mexFunction(), and ReadSDPAFile().

int DSDPGetDDObjective ( DSDP  dsdp,
double *  ddobj 
)

Copy the objective value (DD).

Parameters:
dsdp is the solver
*ddobj will be the objective value in (DD)
See also:
DSDPGetPPObjective()

DSDPGetDObjective()

DSDPGetY()

Definition at line 523 of file dsdpsetdata.c.

Referenced by DSDPComputeX(), DSDPDefaultConvergence(), and DSDPPrintStats().

int DSDPGetDimension ( DSDP  dsdp,
double *  n 
)

Copy the dimension of the cones, or the number of constraints in (D).

Parameters:
dsdp the solver
*n will be set to the dimension (a whole number)
See also:
DSDPGetNumberOfVariables()

Definition at line 661 of file dsdpsetdata.c.

Referenced by DSDPDefaultConvergence().

int DSDPGetDObjective ( DSDP  dsdp,
double *  dobj 
)

Copy the objective value (D).

Parameters:
dsdp is the solver
*dobj will be the objective value in (D)
See also:
DSDPGetPObjective()

DSDPGetDDObjective()

DSDPGetY()

Definition at line 502 of file dsdpsetdata.c.

Referenced by DSDPGetFinalErrors(), mexFunction(), and ReadSDPAFile().

int DSDPGetDualityGap ( DSDP  dsdp,
double *  dgap 
)

Copy the difference between the objective values.

Parameters:
dsdp is the solver
*dgap will be set to the difference between the objective values in (PP) and (DD)
See also:
DSDPGetDDObjective()

DSDPGetPPObjective()

DSDPGetDimension()

Definition at line 545 of file dsdpsetdata.c.

Referenced by DSDPDefaultConvergence().

int DSDPGetFinalErrors ( DSDP  dsdp,
double  err[6] 
)

Copy six different error measurements into an array.

Parameters:
dsdp is the solver
err will be set to the six error measurements
See also:
DSDPGetDualityGap()

DSDPGetR()

DSDPGetPInfeasibility()

Definition at line 297 of file dsdpx.c.

Referenced by DSDPView(), mexFunction(), and ReadSDPAFile().

int DSDPGetMaxYElement ( DSDP  dsdp,
double *  ymax 
)

Copy the the infinity norm of the variables y.

Parameters:
dsdp is the solver
*ymax will be set to the magnitude of the largest variable y.
See also:
DSDPSetYBounds()

Definition at line 645 of file dsdpsetdata.c.

Referenced by DSDPCGSolve(), DSDPComputeDualStepDirections(), DSDPComputeX(), and DSDPSaveYForX().

int DSDPGetNumberOfVariables ( DSDP  dsdp,
int *  m 
)

Copy the number of variables y.

Parameters:
dsdp the solver
*m will be set the number of variables y
See also:
DSDPCreate()

DSDPGetDimension()

Definition at line 707 of file dsdpsetdata.c.

Referenced by DSDPCreateBCone(), DSDPCreateLPCone(), DSDPCreateLUBoundsCone(), DSDPPrintData(), DSDPPrintSolution(), and DSDPView().

int DSDPGetPnorm ( DSDP  dsdp,
double *  pnorm 
)

Copy the proximity of the solution to the central path.

Parameters:
dsdp is the solver
*pnorm will be set a norm of the gradient of the barrier function
See also:
DSDPSetGapTolerance()

Definition at line 724 of file dsdpsetdata.c.

Referenced by DSDPDefaultConvergence(), DSDPPrintStats(), and mexFunction().

int DSDPGetPObjective ( DSDP  dsdp,
double *  pobj 
)

Copy the objective value (P).

Parameters:
dsdp is the solver
*pobj will be the objective value in (P)
See also:
DSDPGetDObjective()

DSDPGetPPObjective()

DSDPComputeX()

Note:
This value is correct only after calling DSDPComputeX()

Definition at line 232 of file dsdpx.c.

Referenced by DSDPGetFinalErrors(), mexFunction(), and ReadSDPAFile().

int DSDPGetPotential ( DSDP  dsdp,
double *  potential 
)

Copy the potential of the current solution.

Parameters:
dsdp is the solver
*potential will be set to the value of the potential function
See also:
DSDPSetPotentialParameter()

DSDPGetDDObjective()

Definition at line 803 of file dsdpsetdata.c.

Referenced by DSDPView().

int DSDPGetPPObjective ( DSDP  dsdp,
double *  ppobj 
)

Copy the objective value (PP).

Parameters:
dsdp is the solver
*ppobj will be the objective value in (PP)
See also:
DSDPGetDDObjective()

DSDPGetPObjective()

Definition at line 479 of file dsdpsetdata.c.

Referenced by DSDPDefaultConvergence(), DSDPPrintStats(), and mexFunction().

int DSDPGetR ( DSDP  dsdp,
double *  res 
)

Copy the infeasibility in (D), or the variable r in (DD).

Parameters:
dsdp is the solver
*res will be set to the value of r.
See also:
DSDPSetMaxIts()

DSDPSetGapTolerance()

Definition at line 601 of file dsdpsetdata.c.

Referenced by DSDPComputeX(), DSDPDefaultConvergence(), DSDPPrintSolution(), DSDPPrintStats(), and mexFunction().

int DSDPGetStepLengths ( DSDP  dsdp,
double *  pstep,
double *  dstep 
)

Copy the step sizes in the current iteration.

Parameters:
dsdp is the solver
*pstep will be set to the step size in (PP)
*dstep will be set to the step size in (DD)
See also:
DSDPSetStepTolerance()

Definition at line 742 of file dsdpsetdata.c.

Referenced by DSDPDefaultConvergence(), DSDPPrintStats(), and mexFunction().

int DSDPGetTraceX ( DSDP  dsdp,
double *  tracex 
)

Copy the trace of the variables X in (P).

For SDP blocks, this number corresponds to the trace of the blocks, and for LP, it corresponds the the sum of the variables x. If this number is near the penalty paramter, the problem (P) may be unbounded or the penalty parameter may have to be increased.

Parameters:
dsdp is the solver
*tracex will be set the trace of the variables in (P)
See also:
DSDPSetPenaltyParameter()

DSDPComputeX()

Definition at line 278 of file dsdpx.c.

Referenced by DSDPView(), mexFunction(), and ReadSDPAFile().

int DSDPGetYMaxNorm ( DSDP  dsdp,
double *  ynorm 
)

Copy the the infinity norm of the variables y.

Parameters:
dsdp is the solver
*ynorm will be set to the magnitude of the largest variable y.
See also:
DSDPSetYBounds()

Definition at line 678 of file dsdpsetdata.c.

Referenced by DSDPGetMaxYElement(), DSDPView(), mexFunction(), and ReadSDPAFile().

int DSDPSetR0 ( DSDP  dsdp,
double  r0 
)

Set an initial value for the variable r in (DD).

A negative value asks DSDP to choose this parameter. The default heuristic generally uses very large values. Smaller values may significantly improve performance.

Parameters:
dsdp is the solver
r0 is the initial objective v (default: -1)
See also:
DSDPSetPenaltyParameter()

DSDPGetR()

DSDPSetY0()

Definition at line 311 of file dsdpsetdata.c.

Referenced by DSDPSetDefaultParameters(), DSDPSetOptions(), MaxCut(), mexFunction(), ReadSDPAFile(), and SetThetaData().

int DSDPSetY0 ( DSDP  dsdp,
int  i,
double  yi0 
)

Set the initial values of variables y in (D).

To improve performance consider setting the initial values of the variables y in (D).

Parameters:
dsdp is the solver
i is the variable number from 1 through m
yi0 is the initial value af that variable
See also:
DSDPGetY()

DSDPSetR0()

DSDPSetPotentialParameter()

DSDPReuseMatrix()

Definition at line 77 of file dsdpsetdata.c.

Referenced by MaxCut(), mexFunction(), ReadSDPAFile(), SetStableSetData(), and SetThetaData().


Generated on Wed May 21 19:31:20 2008 for DSDP by  doxygen 1.5.5