Lines Matching refs:blmP

7   TAO_BLMVM                   *blmP      = (TAO_BLMVM *)tao->data;  in TaoSolve_BLMVM()  local
19 PetscCall(TaoComputeObjectiveAndGradient(tao, tao->solution, &f, blmP->unprojected_gradient)); in TaoSolve_BLMVM()
20 …PetscCall(VecBoundGradientProjection(blmP->unprojected_gradient, tao->solution, tao->XL, tao->XU, … in TaoSolve_BLMVM()
32 if (!blmP->recycle) { in TaoSolve_BLMVM()
33 blmP->grad = 0; in TaoSolve_BLMVM()
34 blmP->reset = 0; in TaoSolve_BLMVM()
35 PetscCall(MatLMVMReset(blmP->M, PETSC_FALSE)); in TaoSolve_BLMVM()
53 PetscCall(MatLMVMSymBroydenSetDelta(blmP->M, delta)); in TaoSolve_BLMVM()
54 PetscCall(MatLMVMUpdate(blmP->M, tao->solution, tao->gradient)); in TaoSolve_BLMVM()
55 PetscCall(MatSolve(blmP->M, blmP->unprojected_gradient, tao->stepdirection)); in TaoSolve_BLMVM()
59 PetscCall(VecDot(blmP->unprojected_gradient, tao->gradient, &gdx)); in TaoSolve_BLMVM()
63 ++blmP->grad; in TaoSolve_BLMVM()
65 PetscCall(MatLMVMReset(blmP->M, PETSC_FALSE)); in TaoSolve_BLMVM()
66 PetscCall(MatLMVMUpdate(blmP->M, tao->solution, blmP->unprojected_gradient)); in TaoSolve_BLMVM()
67 PetscCall(MatSolve(blmP->M, blmP->unprojected_gradient, tao->stepdirection)); in TaoSolve_BLMVM()
73 PetscCall(VecCopy(tao->solution, blmP->Xold)); in TaoSolve_BLMVM()
74 PetscCall(VecCopy(blmP->unprojected_gradient, blmP->Gold)); in TaoSolve_BLMVM()
76 …PetscCall(TaoLineSearchApply(tao->linesearch, tao->solution, &f, blmP->unprojected_gradient, tao->… in TaoSolve_BLMVM()
82 ++blmP->reset; in TaoSolve_BLMVM()
85 PetscCall(VecCopy(blmP->Xold, tao->solution)); in TaoSolve_BLMVM()
86 PetscCall(VecCopy(blmP->Gold, blmP->unprojected_gradient)); in TaoSolve_BLMVM()
88 PetscCall(MatLMVMReset(blmP->M, PETSC_FALSE)); in TaoSolve_BLMVM()
89 PetscCall(MatLMVMUpdate(blmP->M, tao->solution, blmP->unprojected_gradient)); in TaoSolve_BLMVM()
90 PetscCall(MatSolve(blmP->M, blmP->unprojected_gradient, tao->stepdirection)); in TaoSolve_BLMVM()
96 …PetscCall(TaoLineSearchApply(tao->linesearch, tao->solution, &f, blmP->unprojected_gradient, tao->… in TaoSolve_BLMVM()
106 …PetscCall(VecBoundGradientProjection(blmP->unprojected_gradient, tao->solution, tao->XL, tao->XU, … in TaoSolve_BLMVM()
119 TAO_BLMVM *blmP = (TAO_BLMVM *)tao->data; in TaoSetup_BLMVM() local
123 PetscCall(VecDuplicate(tao->solution, &blmP->Xold)); in TaoSetup_BLMVM()
124 PetscCall(VecDuplicate(tao->solution, &blmP->Gold)); in TaoSetup_BLMVM()
125 PetscCall(VecDuplicate(tao->solution, &blmP->unprojected_gradient)); in TaoSetup_BLMVM()
129 PetscCall(MatLMVMAllocate(blmP->M, tao->solution, blmP->unprojected_gradient)); in TaoSetup_BLMVM()
132 if (blmP->H0) PetscCall(MatLMVMSetJ0(blmP->M, blmP->H0)); in TaoSetup_BLMVM()
138 TAO_BLMVM *blmP = (TAO_BLMVM *)tao->data; in TaoDestroy_BLMVM() local
142 PetscCall(VecDestroy(&blmP->unprojected_gradient)); in TaoDestroy_BLMVM()
143 PetscCall(VecDestroy(&blmP->Xold)); in TaoDestroy_BLMVM()
144 PetscCall(VecDestroy(&blmP->Gold)); in TaoDestroy_BLMVM()
146 PetscCall(MatDestroy(&blmP->M)); in TaoDestroy_BLMVM()
147 if (blmP->H0) PetscCall(PetscObjectDereference((PetscObject)blmP->H0)); in TaoDestroy_BLMVM()
154 TAO_BLMVM *blmP = (TAO_BLMVM *)tao->data; in TaoSetFromOptions_BLMVM() local
159 …ling of the BFGS matrix between subsequent TaoSolve() calls", "", blmP->recycle, &blmP->recycle, N… in TaoSetFromOptions_BLMVM()
161 PetscCall(MatSetOptionsPrefix(blmP->M, ((PetscObject)tao)->prefix)); in TaoSetFromOptions_BLMVM()
162 PetscCall(MatAppendOptionsPrefix(blmP->M, "tao_blmvm_")); in TaoSetFromOptions_BLMVM()
163 PetscCall(MatSetFromOptions(blmP->M)); in TaoSetFromOptions_BLMVM()
164 PetscCall(MatIsSPDKnown(blmP->M, &is_set, &is_spd)); in TaoSetFromOptions_BLMVM()
220 TAO_BLMVM *blmP; in TaoCreate_BLMVM() local
231 PetscCall(PetscNew(&blmP)); in TaoCreate_BLMVM()
232 blmP->H0 = NULL; in TaoCreate_BLMVM()
233 blmP->recycle = PETSC_FALSE; in TaoCreate_BLMVM()
234 tao->data = (void *)blmP; in TaoCreate_BLMVM()
247 PetscCall(MatCreate(((PetscObject)tao)->comm, &blmP->M)); in TaoCreate_BLMVM()
248 PetscCall(MatSetType(blmP->M, MATLMVMBFGS)); in TaoCreate_BLMVM()
249 PetscCall(PetscObjectIncrementTabLevel((PetscObject)blmP->M, (PetscObject)tao, 1)); in TaoCreate_BLMVM()
267 TAO_BLMVM *blmP; in TaoLMVMRecycle() local
277 blmP = (TAO_BLMVM *)tao->data; in TaoLMVMRecycle()
278 blmP->recycle = flg; in TaoLMVMRecycle()
297 TAO_BLMVM *blmP; in TaoLMVMSetH0() local
308 blmP = (TAO_BLMVM *)tao->data; in TaoLMVMSetH0()
310 blmP->H0 = H0; in TaoLMVMSetH0()
331 TAO_BLMVM *blmP; in TaoLMVMGetH0() local
342 blmP = (TAO_BLMVM *)tao->data; in TaoLMVMGetH0()
343 M = blmP->M; in TaoLMVMGetH0()
365 TAO_BLMVM *blmP; in TaoLMVMGetH0KSP() local
376 blmP = (TAO_BLMVM *)tao->data; in TaoLMVMGetH0KSP()
377 M = blmP->M; in TaoLMVMGetH0KSP()