Lines Matching refs:bnk

91   TAO_BNK           *bnk = (TAO_BNK *)tao->data;  in TaoSolve_BNTR()  local
101 PetscCall(TaoBNKInitialize(tao, bnk->init_type, &needH)); in TaoSolve_BNTR()
109 PetscCall(TaoComputeObjective(tao, tao->solution, &bnk->f)); in TaoSolve_BNTR()
112 if (needH && bnk->inactive_idx) { in TaoSolve_BNTR()
116 tao->reason = bnk->bncg->reason; in TaoSolve_BNTR()
120 PetscCall((*bnk->computehessian)(tao)); in TaoSolve_BNTR()
125 bnk->fold = bnk->f; in TaoSolve_BNTR()
126 PetscCall(VecCopy(tao->solution, bnk->Xold)); in TaoSolve_BNTR()
127 PetscCall(VecCopy(tao->gradient, bnk->Gold)); in TaoSolve_BNTR()
128 PetscCall(VecCopy(bnk->unprojected_gradient, bnk->unprojected_gradient_old)); in TaoSolve_BNTR()
136 PetscCall((*bnk->computestep)(tao, shift, &ksp_reason, &stepType)); in TaoSolve_BNTR()
147 PetscCall(VecAXPY(tao->stepdirection, -1.0, bnk->Xold)); in TaoSolve_BNTR()
156 PetscCall(TaoComputeObjective(tao, tao->solution, &bnk->f)); in TaoSolve_BNTR()
157 …PetscCheck(!PetscIsInfOrNanReal(bnk->f), PetscObjectComm((PetscObject)tao), PETSC_ERR_USER, "User … in TaoSolve_BNTR()
158 actred = bnk->fold - bnk->f; in TaoSolve_BNTR()
160 …PetscCall(TaoBNKUpdateTrustRadius(tao, prered, actred, bnk->update_type, stepType, &stepAccepted)); in TaoSolve_BNTR()
166 ++bnk->newt; in TaoSolve_BNTR()
167 PetscCall(TaoComputeGradient(tao, tao->solution, bnk->unprojected_gradient)); in TaoSolve_BNTR()
168 PetscCall(TaoBNKEstimateActiveSet(tao, bnk->as_type)); in TaoSolve_BNTR()
169 PetscCall(VecCopy(bnk->unprojected_gradient, tao->gradient)); in TaoSolve_BNTR()
170 if (bnk->active_idx) PetscCall(VecISSet(tao->gradient, bnk->active_idx, 0.0)); in TaoSolve_BNTR()
171 PetscCall(TaoGradientNorm(tao, tao->gradient, NORM_2, &bnk->gnorm)); in TaoSolve_BNTR()
176 bnk->f = bnk->fold; in TaoSolve_BNTR()
177 PetscCall(VecCopy(bnk->Xold, tao->solution)); in TaoSolve_BNTR()
178 PetscCall(VecCopy(bnk->Gold, tao->gradient)); in TaoSolve_BNTR()
179 PetscCall(VecCopy(bnk->unprojected_gradient_old, bnk->unprojected_gradient)); in TaoSolve_BNTR()
187 PetscCall(VecFischer(tao->solution, bnk->unprojected_gradient, tao->XL, tao->XU, bnk->W)); in TaoSolve_BNTR()
188 PetscCall(VecNorm(bnk->W, NORM_2, &resnorm)); in TaoSolve_BNTR()
191 PetscCall(TaoLogConvergenceHistory(tao, bnk->f, resnorm, 0.0, tao->ksp_its)); in TaoSolve_BNTR()
192 PetscCall(TaoMonitor(tao, tao->niter, bnk->f, resnorm, 0.0, steplen)); in TaoSolve_BNTR()
213 TAO_BNK *bnk = (TAO_BNK *)tao->data; in TaoSetFromOptions_BNTR() local
217 if (bnk->update_type == BNK_UPDATE_STEP) bnk->update_type = BNK_UPDATE_REDUCTION; in TaoSetFromOptions_BNTR()
234 TAO_BNK *bnk; in TaoCreate_BNTR() local
242 bnk = (TAO_BNK *)tao->data; in TaoCreate_BNTR()
243bnk->update_type = BNK_UPDATE_REDUCTION; /* trust region updates based on predicted/actual reducti… in TaoCreate_BNTR()