dsdpcone.h
Go to the documentation of this file.00001 #ifndef __DSDPCONEOPERATIONS_H
00002 #define __DSDPCONEOPERATIONS_H
00003
00009 #include "dsdpbasictypes.h"
00010 #include "dsdpvec.h"
00011 #include "dsdpschurmat.h"
00012
00013
00022 struct DSDPCone_C{
00023 void* conedata;
00024 struct DSDPCone_Ops* dsdpops;
00025 };
00026
00027 typedef struct DSDPCone_C DSDPCone;
00028
00029 #ifdef __cplusplus
00030 extern "C" {
00031 #endif
00032
00033 extern int DSDPConeSetUp(DSDPCone,DSDPVec);
00034 extern int DSDPConeSetUp2(DSDPCone, DSDPVec, DSDPSchurMat);
00035 extern int DSDPConeGetDimension(DSDPCone,double*);
00036 extern int DSDPConeSparsityInSchurMat(DSDPCone, int,int[],int);
00037 extern int DSDPConeComputeS(DSDPCone,DSDPVec,DSDPDualFactorMatrix,DSDPTruth *);
00038 extern int DSDPConeInvertS(DSDPCone);
00039 extern int DSDPConeComputeHessian(DSDPCone,double,DSDPSchurMat,DSDPVec,DSDPVec);
00040 extern int DSDPConeMultiplyAdd(DSDPCone,double,DSDPVec,DSDPVec,DSDPVec);
00041 extern int DSDPConeComputeRHS(DSDPCone,double,DSDPVec,DSDPVec,DSDPVec);
00042 extern int DSDPConeComputeMaxStepLength(DSDPCone,DSDPVec,DSDPDualFactorMatrix,double*);
00043 extern int DSDPConeComputeLogSDeterminant(DSDPCone,double*,double*);
00044 extern int DSDPConeComputeX(DSDPCone,double,DSDPVec,DSDPVec,DSDPVec,double*);
00045 extern int DSDPConeSetXMaker(DSDPCone,double,DSDPVec,DSDPVec);
00046 extern int DSDPConeView(DSDPCone);
00047 extern int DSDPConeMonitor(DSDPCone,int);
00048 extern int DSDPConeDestroy(DSDPCone*);
00049 extern int DSDPConeANorm2(DSDPCone,DSDPVec);
00050 extern int DSDPGetConeName(DSDPCone,char*,int);
00051
00052 extern int DSDPConeSetData(DSDPCone*,struct DSDPCone_Ops*,void*);
00053 extern int DSDPConeInitialize(DSDPCone*);
00054
00055 #ifdef __cplusplus
00056 }
00057 #endif
00058
00059 #endif
00060
00061
00062
00063
00064