1#ifndef __DSDPCONEOPERATIONS_H
2#define __DSDPCONEOPERATIONS_H
24 struct DSDPCone_Ops* dsdpops;
Solver, solution types, termination codes,.
DSDPDualFactorMatrix
DSDP requires two instances of the data structures S.
DSDPTruth
Boolean variables.
int DSDPConeSetData(DSDPCone *, struct DSDPCone_Ops *, void *)
Initialize the pointers to 0.
int DSDPConeDestroy(DSDPCone *)
Free the internal memory of the cone.
int DSDPConeSetUp2(DSDPCone, DSDPVec, DSDPSchurMat)
Factor the data and allocate data structures.
int DSDPConeView(DSDPCone)
View contents of the cone.
int DSDPConeInvertS(DSDPCone)
Invert the dual matrix S.
int DSDPConeComputeHessian(DSDPCone, double, DSDPSchurMat, DSDPVec, DSDPVec)
Compute Hessian and gradient of barrier function.
int DSDPConeComputeS(DSDPCone, DSDPVec, DSDPDualFactorMatrix, DSDPTruth *)
Given y, compute S and determine whether its in the cone.
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 DSDPConeComputeRHS(DSDPCone, double, DSDPVec, DSDPVec, DSDPVec)
Compute gradient of barrier function.
int DSDPGetConeName(DSDPCone, char *, int)
Get name of the cone.
int DSDPConeSetUp(DSDPCone, DSDPVec)
Factor the data and allocate data structures.
int DSDPConeSparsityInSchurMat(DSDPCone, int, int[], int)
Identify sparsity pattern in a row of the Hessian term.
int DSDPConeComputeX(DSDPCone, double, DSDPVec, DSDPVec, DSDPVec, double *)
Given y,dy, and mu, construct X and add its inner product with the data and S.
int DSDPConeComputeLogSDeterminant(DSDPCone, double *, double *)
Evaluate logrithmic barrier function.
int DSDPConeGetDimension(DSDPCone, double *)
Provide the dimension of the cone.
int DSDPConeInitialize(DSDPCone *)
Initialize the pointers to 0.
int DSDPConeMultiplyAdd(DSDPCone, double, DSDPVec, DSDPVec, DSDPVec)
Multiply Hessian by a vector and add the result.
int DSDPConeMonitor(DSDPCone, int)
Do anything at in the cone at each iteration.
int DSDPConeComputeMaxStepLength(DSDPCone, DSDPVec, DSDPDualFactorMatrix, double *)
Determine distance to the edge of the cone.
int DSDPConeANorm2(DSDPCone, DSDPVec)
Add square of 2-norm of data correponding to each variable y.
int DSDPConeSetXMaker(DSDPCone, double, DSDPVec, DSDPVec)
Pass information needed to construct X.
Methods of a Schur Matrix.
Vector operations used by the solver.
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.