DSDP
dsdpcone.h
Go to the documentation of this file.
1 #ifndef __DSDPCONEOPERATIONS_H
2 #define __DSDPCONEOPERATIONS_H
3 
9 #include "dsdpbasictypes.h"
10 #include "dsdpvec.h"
11 #include "dsdpschurmat.h"
12 
13 
22 struct DSDPCone_C{
23  void* conedata;
24  struct DSDPCone_Ops* dsdpops;
25 };
26 
27 typedef struct DSDPCone_C DSDPCone;
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
33 extern int DSDPConeSetUp(DSDPCone,DSDPVec);
35 extern int DSDPConeGetDimension(DSDPCone,double*);
36 extern int DSDPConeSparsityInSchurMat(DSDPCone, int,int[],int);
38 extern int DSDPConeInvertS(DSDPCone);
43 extern int DSDPConeComputeLogSDeterminant(DSDPCone,double*,double*);
44 extern int DSDPConeComputeX(DSDPCone,double,DSDPVec,DSDPVec,DSDPVec,double*);
45 extern int DSDPConeSetXMaker(DSDPCone,double,DSDPVec,DSDPVec);
46 extern int DSDPConeView(DSDPCone);
47 extern int DSDPConeMonitor(DSDPCone,int);
48 extern int DSDPConeDestroy(DSDPCone*);
49 extern int DSDPConeANorm2(DSDPCone,DSDPVec);
50 extern int DSDPGetConeName(DSDPCone,char*,int);
51 
52 extern int DSDPConeSetData(DSDPCone*,struct DSDPCone_Ops*,void*);
53 extern int DSDPConeInitialize(DSDPCone*);
54 
55 #ifdef __cplusplus
56 }
57 #endif
58 
59 #endif
60 
61 
62 
63 
64 
int DSDPConeMultiplyAdd(DSDPCone, double, DSDPVec, DSDPVec, DSDPVec)
Multiply Hessian by a vector and add the result.
Definition: dsdpcone.c:119
int DSDPConeSetXMaker(DSDPCone, double, DSDPVec, DSDPVec)
Pass information needed to construct X.
Definition: dsdpcone.c:191
DSDPTruth
Boolean variables.
int DSDPConeView(DSDPCone)
View contents of the cone.
Definition: dsdpcone.c:358
struct DSDPVec_C DSDPVec
This object hold m+2 variables: a scaling of C, the y variables, and r.
Definition: dsdpvec.h:25
int DSDPConeDestroy(DSDPCone *)
Free the internal memory of the cone.
Definition: dsdpcone.c:64
Schur complement matrix whose solution is the Newton direction.
Definition: dsdpschurmat.h:35
int DSDPConeComputeS(DSDPCone, DSDPVec, DSDPDualFactorMatrix, DSDPTruth *)
Given y, compute S and determine whether its in the cone.
Definition: dsdpcone.c:242
int DSDPConeComputeLogSDeterminant(DSDPCone, double *, double *)
Evaluate logrithmic barrier function.
Definition: dsdpcone.c:403
int DSDPConeANorm2(DSDPCone, DSDPVec)
Add square of 2-norm of data correponding to each variable y.
Definition: dsdpcone.c:168
int DSDPConeInitialize(DSDPCone *)
Initialize the pointers to 0.
Definition: dsdpcone.c:495
Solver, solution types, termination codes,.
int DSDPConeComputeMaxStepLength(DSDPCone, DSDPVec, DSDPDualFactorMatrix, double *)
Determine distance to the edge of the cone.
Definition: dsdpcone.c:288
int DSDPConeSetUp2(DSDPCone, DSDPVec, DSDPSchurMat)
Factor the data and allocate data structures.
Definition: dsdpcone.c:43
int DSDPGetConeName(DSDPCone, char *, int)
Get name of the cone.
Definition: dsdpcone.c:427
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,...
Definition: dsdpcone.h:27
DSDPDualFactorMatrix
DSDP requires two instances of the data structures S.
int DSDPConeInvertS(DSDPCone)
Invert the dual matrix S.
Definition: dsdpcone.c:265
int DSDPConeComputeHessian(DSDPCone, double, DSDPSchurMat, DSDPVec, DSDPVec)
Compute Hessian and gradient of barrier function.
Definition: dsdpcone.c:92
int DSDPConeMonitor(DSDPCone, int)
Do anything at in the cone at each iteration.
Definition: dsdpcone.c:380
int DSDPConeGetDimension(DSDPCone, double *)
Provide the dimension of the cone.
Definition: dsdpcone.c:312
int DSDPConeSetUp(DSDPCone, DSDPVec)
Factor the data and allocate data structures.
Definition: dsdpcone.c:22
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.
Definition: dsdpcone.c:216
int DSDPConeSparsityInSchurMat(DSDPCone, int, int[], int)
Identify sparsity pattern in a row of the Hessian term.
Definition: dsdpcone.c:338
int DSDPConeComputeRHS(DSDPCone, double, DSDPVec, DSDPVec, DSDPVec)
Compute gradient of barrier function.
Definition: dsdpcone.c:147