Actual source code: bqpip.h
1: #ifndef __TAO_BQPIP_H
4: #include "include/private/taosolver_impl.h"
6: typedef struct{
8: /* Parameters */
9: PetscInt predcorr;
10: PetscReal ksp_tol;
12: /* Problem variables, vectors and index sets */
13: PetscInt n; /* Dimension of the Problem */
14: PetscInt m; /* Number of constraints */
16: /* Problem statistics */
17: PetscReal dinfeas;
18: PetscReal pinfeas;
19: PetscReal pobj;
20: PetscReal dobj;
21: PetscReal gap;
22: PetscReal rgap;
23: PetscReal mu;
24: PetscReal sigma;
25: PetscReal pathnorm;
26: PetscReal pre_sigma;
27: PetscReal psteplength;
28: PetscReal dsteplength;
29: PetscReal rnorm;
31: /* Variable Vectors */
32: Vec G;
33: Vec DG;
34: Vec T;
35: Vec DT;
36: Vec Z;
37: Vec DZ;
38: Vec S;
39: Vec DS;
40: Vec GZwork;
41: Vec TSwork;
42: Vec XL,XU;
44: /* Work Vectors */
45: Vec R3;
46: Vec R5;
47: Vec HDiag;
48: Vec Work;
50: Vec DiagAxpy;
51: Vec RHS;
52: Vec RHS2;
55: /* Data */
56: Vec B;
57: Vec C0;
58: PetscReal c;
60: }TAO_BQPIP;
62: static PetscErrorCode QPIPSetInitialPoint(TAO_BQPIP *, TaoSolver);
63: static PetscErrorCode QPComputeStepDirection(TAO_BQPIP *, TaoSolver);
64: static PetscErrorCode QPIPComputeResidual(TAO_BQPIP *, TaoSolver);
65: static PetscErrorCode QPStepLength(TAO_BQPIP *);
66: static PetscErrorCode QPIPComputeNormFromCentralPath(TAO_BQPIP *,PetscReal *);
68: #endif