1 #ifndef __DSDPCONEOPERATIONS_H
2 #define __DSDPCONEOPERATIONS_H
24 struct DSDPCone_Ops* dsdpops;
DSDPTruth
Boolean variables.
int DSDPConeComputeS(DSDPCone K, DSDPVec Y, DSDPDualFactorMatrix flag, DSDPTruth *ispsdefinite)
Given y, compute S and determine whether its in the cone.
int DSDPConeInvertS(DSDPCone K)
Invert the dual matrix S.
struct DSDPVec_C DSDPVec
This object hold m+2 variables: a scaling of C, the y variables, and r.
Schur complement matrix whose solution is the Newton direction.
int DSDPConeANorm2(DSDPCone K, DSDPVec anorm2)
Add square of 2-norm of data correponding to each variable y.
int DSDPConeSetXMaker(DSDPCone K, double mu, DSDPVec y, DSDPVec dy)
Pass information needed to construct X.
int DSDPConeMonitor(DSDPCone K, int tag)
Do anything at in the cone at each iteration.
int DSDPConeSetData(DSDPCone *K, struct DSDPCone_Ops *ops, void *data)
Initialize the pointers to 0.
int DSDPConeInitialize(DSDPCone *K)
Initialize the pointers to 0.
int DSDPConeView(DSDPCone K)
View contents of the cone.
int DSDPConeDestroy(DSDPCone *K)
Free the internal memory of the cone.
int DSDPConeComputeRHS(DSDPCone K, double mu, DSDPVec vrow, DSDPVec rhs1, DSDPVec rhs2)
Compute gradient of barrier function.
Solver, solution types, termination codes,.
int DSDPConeComputeMaxStepLength(DSDPCone K, DSDPVec DY, DSDPDualFactorMatrix flag, double *maxsteplength)
Determine distance to the edge of the cone.
int DSDPGetConeName(DSDPCone K, char *cname, int maxlength)
Get name of the cone.
int DSDPConeSetUp2(DSDPCone K, DSDPVec yy0, DSDPSchurMat M)
Factor the data and allocate data structures.
Methods of a Schur Matrix.
Vector operations used by the solver.
struct DSDPCone_C DSDPCone
This object holds the data of a SDP, LP, or other cone. Its structure is opaque to the DSDP Solver...
int DSDPConeMultiplyAdd(DSDPCone K, double mu, DSDPVec vrow, DSDPVec v, DSDPVec vv)
Multiply Hessian by a vector and add the result.
int DSDPConeSetUp(DSDPCone K, DSDPVec y)
Factor the data and allocate data structures.
int DSDPConeGetDimension(DSDPCone K, double *n)
Provide the dimension of the cone.
int DSDPConeSparsityInSchurMat(DSDPCone K, int row, int rnnz[], int m)
Identify sparsity pattern in a row of the Hessian term.
DSDPDualFactorMatrix
DSDP requires two instances of the data structures S.
int DSDPConeComputeX(DSDPCone K, double mu, DSDPVec y, DSDPVec dy, DSDPVec AX, double *tracexs)
Given y,dy, and mu, construct X and add its inner product with the data and S.
int DSDPConeComputeLogSDeterminant(DSDPCone K, double *logdetobj, double *logdet)
Evaluate logrithmic barrier function.
int DSDPConeComputeHessian(DSDPCone K, double mu, DSDPSchurMat M, DSDPVec vrhs1, DSDPVec vrhs2)
Compute Hessian and gradient of barrier function.