Actual source code: bqpip.h
1: #ifndef __TAO_BQPIP_H
4: #include "tao_solver.h"
6: typedef struct{
8: /* Parameters */
9: int predcorr;
10: double ksp_tol;
12: /* Problem variables, vectors and index sets */
13: int n; /* Dimension of the Problem */
14: int m; /* Number of constraints */
16: /* Problem statistics */
17: double dinfeas;
18: double pinfeas;
19: double pobj;
20: double dobj;
21: double gap;
22: double rgap;
23: double mu;
24: double sigma;
25: double pathnorm;
26: double pre_sigma;
27: double psteplength;
28: double dsteplength;
29: double rnorm;
31: /* Variable Vectors */
32: TaoVec* XY;
33: TaoVec* DXY;
34: TaoVec* G;
35: TaoVec* DG;
36: TaoVec* T;
37: TaoVec* DT;
38: TaoVec* Z;
39: TaoVec* DZ;
40: TaoVec* S;
41: TaoVec* DS;
42: TaoVec* GZwork;
43: TaoVec* TSwork;
45: /* Work Vectors */
46: TaoVec* R12;
47: TaoVec* R3;
48: TaoVec* R5;
49: TaoVec* HDiag;
50: TaoVec* Work;
52: TaoVec* DiagAxpy;
53: TaoVec* RHS;
54: TaoVec* RHS2;
56: TaoMat *ProjXL, *ProjXU;
58: /* Data */
59: TaoMat* H;
60: TaoVec* B;
61: TaoVec* C0;
62: double c;
63: TaoVec* XU;
64: TaoVec* XL;
66: }TAO_BQPIP;
68: static int QPIPSetInitialPoint(TAO_SOLVER,TAO_BQPIP *);
69: static int QPComputeStepDirection(TAO_BQPIP *);
70: static int QPIPComputeResidual(TAO_BQPIP *);
71: static int QPStepLength(TAO_BQPIP *);
74: int TaoGetDualVariables_BQPIP(TAO_SOLVER,TaoVec*,TaoVec*);
76: int TAOComputeNormFromCentralPath_BQPIP(TAO_SOLVER,double *);
78: #endif