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