1: #ifndef __TAO_BQPIP_H 4: #include <petsc/private/taoimpl.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 *, Tao); 63: static PetscErrorCode QPComputeStepDirection(TAO_BQPIP *, Tao); 64: static PetscErrorCode QPIPComputeResidual(TAO_BQPIP *, Tao); 65: static PetscErrorCode QPStepLength(TAO_BQPIP *); 66: static PetscErrorCode QPIPComputeNormFromCentralPath(TAO_BQPIP *,PetscReal *); 68: #endif