00001 #ifndef __TAO_DSDPSTEP_H
00002 #define __TAO_DSDPSTEP_H
00003 #include "sdpconevec.h"
00013 typedef struct {
00014 int lanczosm;
00015 int maxlanczosm;
00016 double *darray;
00017 SDPConeVec *Q;
00018 SDPConeVec Tv;
00019
00020 double *dwork4n;
00021 int *iwork10n;
00022 int lwork,liwork;
00023 int n;
00024 int type;
00025 } DSDPLanczosStepLength;
00026
00027 #ifdef __cplusplus
00028 extern "C" {
00029 #endif
00030 extern int DSDPLanczosInitialize(DSDPLanczosStepLength*);
00031 extern int DSDPSetMaximumLanczosIterations( DSDPLanczosStepLength *LZ, int);
00032 extern int DSDPFastLanczosSetup(DSDPLanczosStepLength*,SDPConeVec);
00033 extern int DSDPRobustLanczosSetup(DSDPLanczosStepLength*,SDPConeVec);
00034 extern int DSDPLanczosStepSize( DSDPLanczosStepLength*, SDPConeVec, SDPConeVec, DSDPDualMat, DSDPDSMat, double *);
00035 extern int DSDPLanczosDestroy( DSDPLanczosStepLength*);
00036 extern int DSDPLanczosMinXEig( DSDPLanczosStepLength*, DSDPVMat, SDPConeVec, SDPConeVec, double *);
00037
00038 #ifdef __cplusplus
00039 }
00040 #endif
00041
00042 #endif