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 
DSDPConeComputeLogSDeterminant
int DSDPConeComputeLogSDeterminant(DSDPCone, double *, double *)
Evaluate logrithmic barrier function.
Definition: dsdpcone.c:403
DSDPConeComputeRHS
int DSDPConeComputeRHS(DSDPCone, double, DSDPVec, DSDPVec, DSDPVec)
Compute gradient of barrier function.
Definition: dsdpcone.c:147
DSDPVec
struct DSDPVec_C DSDPVec
This object hold m+2 variables: a scaling of C, the y variables, and r.
Definition: dsdpvec.h:25
DSDPConeDestroy
int DSDPConeDestroy(DSDPCone *)
Free the internal memory of the cone.
Definition: dsdpcone.c:64
DSDPConeInitialize
int DSDPConeInitialize(DSDPCone *)
Initialize the pointers to 0.
Definition: dsdpcone.c:495
DSDPConeComputeMaxStepLength
int DSDPConeComputeMaxStepLength(DSDPCone, DSDPVec, DSDPDualFactorMatrix, double *)
Determine distance to the edge of the cone.
Definition: dsdpcone.c:288
DSDPConeView
int DSDPConeView(DSDPCone)
View contents of the cone.
Definition: dsdpcone.c:358
dsdpvec.h
Vector operations used by the solver.
DSDPConeMultiplyAdd
int DSDPConeMultiplyAdd(DSDPCone, double, DSDPVec, DSDPVec, DSDPVec)
Multiply Hessian by a vector and add the result.
Definition: dsdpcone.c:119
DSDPTruth
DSDPTruth
Boolean variables.
Definition: dsdpbasictypes.h:19
DSDPGetConeName
int DSDPGetConeName(DSDPCone, char *, int)
Get name of the cone.
Definition: dsdpcone.c:427
dsdpbasictypes.h
Solver, solution types, termination codes,.
DSDPConeSetXMaker
int DSDPConeSetXMaker(DSDPCone, double, DSDPVec, DSDPVec)
Pass information needed to construct X.
Definition: dsdpcone.c:191
DSDPConeInvertS
int DSDPConeInvertS(DSDPCone)
Invert the dual matrix S.
Definition: dsdpcone.c:265
DSDPConeANorm2
int DSDPConeANorm2(DSDPCone, DSDPVec)
Add square of 2-norm of data correponding to each variable y.
Definition: dsdpcone.c:168
DSDPConeGetDimension
int DSDPConeGetDimension(DSDPCone, double *)
Provide the dimension of the cone.
Definition: dsdpcone.c:312
DSDPConeMonitor
int DSDPConeMonitor(DSDPCone, int)
Do anything at in the cone at each iteration.
Definition: dsdpcone.c:380
DSDPConeComputeS
int DSDPConeComputeS(DSDPCone, DSDPVec, DSDPDualFactorMatrix, DSDPTruth *)
Given y, compute S and determine whether its in the cone.
Definition: dsdpcone.c:242
DSDPConeComputeX
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
DSDPConeSparsityInSchurMat
int DSDPConeSparsityInSchurMat(DSDPCone, int, int[], int)
Identify sparsity pattern in a row of the Hessian term.
Definition: dsdpcone.c:338
DSDPConeSetUp
int DSDPConeSetUp(DSDPCone, DSDPVec)
Factor the data and allocate data structures.
Definition: dsdpcone.c:22
DSDPConeSetUp2
int DSDPConeSetUp2(DSDPCone, DSDPVec, DSDPSchurMat)
Factor the data and allocate data structures.
Definition: dsdpcone.c:43
DSDPSchurMat_C
Schur complement matrix whose solution is the Newton direction.
Definition: dsdpschurmat.h:35
dsdpschurmat.h
Methods of a Schur Matrix.
DSDPDualFactorMatrix
DSDPDualFactorMatrix
DSDP requires two instances of the data structures S.
Definition: dsdpbasictypes.h:25
DSDPConeComputeHessian
int DSDPConeComputeHessian(DSDPCone, double, DSDPSchurMat, DSDPVec, DSDPVec)
Compute Hessian and gradient of barrier function.
Definition: dsdpcone.c:92
DSDPCone
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