DSDP
|
00001 #if !defined(__DSDP_VSYMMETRICMATRIX_H) 00002 #define __DSDP_VSYMMETRICMATRIX_H 00003 00008 #include "sdpconevec.h" 00009 00010 /* DSDP V Matrix Structure */ 00017 struct DSDPVMat_C{ 00018 void *matdata; 00019 struct DSDPVMat_Ops* dsdpops; 00020 }; 00021 00026 typedef struct DSDPVMat_C DSDPVMat; 00027 00028 #ifdef __cplusplus 00029 extern "C" { 00030 #endif 00031 00032 extern int DSDPVMatGetType(DSDPVMat, int *); 00033 extern int DSDPVMatSetData(DSDPVMat *, struct DSDPVMat_Ops*, void*); 00034 extern int DSDPVMatInitialize(DSDPVMat*); 00035 00036 extern int DSDPVMatTest(DSDPVMat); 00037 extern int DSDPVMatGetSize(DSDPVMat,int*); 00038 extern int DSDPVMatView(DSDPVMat); 00039 extern int DSDPVMatDestroy(DSDPVMat*); 00040 00041 extern int DSDPVMatExist(DSDPVMat,int*); 00042 extern int DSDPVMatZeroEntries(DSDPVMat); 00043 extern int DSDPVMatAddOuterProduct(DSDPVMat, double, SDPConeVec); 00044 extern int DSDPVMatMult(DSDPVMat,SDPConeVec,SDPConeVec); 00045 extern int DSDPVMatScaleDiagonal(DSDPVMat,double); 00046 extern int DSDPVMatShiftDiagonal(DSDPVMat,double); 00047 extern int DSDPVMatNormF2(DSDPVMat, double*); 00048 extern int DSDPVMatGetArray(DSDPVMat,double**,int*); 00049 extern int DSDPVMatRestoreArray(DSDPVMat,double**,int*); 00050 extern int DSDPVMatMinEigenvalue(DSDPVMat,SDPConeVec,SDPConeVec,double*); 00051 extern int DSDPVMatCheck(DSDPVMat, SDPConeVec, SDPConeVec); 00052 00053 #ifdef __cplusplus 00054 } 00055 #endif 00056 00057 #endif 00058 00059