Lines Matching refs:bnk
6 TAO_BNK *bnk = (TAO_BNK *)tao->data; in TaoBQNKComputeHessian() local
7 TAO_BQNK *bqnk = (TAO_BQNK *)bnk->ctx; in TaoBQNKComputeHessian()
20 gnorm2 = bnk->gnorm * bnk->gnorm; in TaoBQNKComputeHessian()
22 if (bnk->f == 0.0) { in TaoBQNKComputeHessian()
25 delta = 2.0 * PetscAbsScalar(bnk->f) / gnorm2; in TaoBQNKComputeHessian()
29 PetscCall(MatLMVMUpdate(tao->hessian, tao->solution, bnk->unprojected_gradient)); in TaoBQNKComputeHessian()
32 PetscCall(MatDestroy(&bnk->H_inactive)); in TaoBQNKComputeHessian()
33 if (bnk->active_idx) { in TaoBQNKComputeHessian()
34 …PetscCall(MatCreateSubMatrixVirtual(tao->hessian, bnk->inactive_idx, bnk->inactive_idx, &bnk->H_in… in TaoBQNKComputeHessian()
35 PetscCall(PCLMVMSetIS(bqnk->pc, bnk->inactive_idx)); in TaoBQNKComputeHessian()
38 bnk->H_inactive = tao->hessian; in TaoBQNKComputeHessian()
41 PetscCall(MatDestroy(&bnk->Hpre_inactive)); in TaoBQNKComputeHessian()
42 PetscCall(PetscObjectReference((PetscObject)bnk->H_inactive)); in TaoBQNKComputeHessian()
43 bnk->Hpre_inactive = bnk->H_inactive; in TaoBQNKComputeHessian()
49 TAO_BNK *bnk = (TAO_BNK *)tao->data; in TaoBQNKComputeStep() local
50 TAO_BQNK *bqnk = (TAO_BQNK *)bnk->ctx; in TaoBQNKComputeStep()
57 PetscCall(MatLMVMUpdate(bqnk->B, tao->solution, bnk->unprojected_gradient)); in TaoBQNKComputeStep()
64 TAO_BNK *bnk = (TAO_BNK *)tao->data; in TaoSolve_BQNK() local
65 TAO_BQNK *bqnk = (TAO_BQNK *)bnk->ctx; in TaoSolve_BQNK()
88 TAO_BNK *bnk = (TAO_BNK *)tao->data; in TaoSetUp_BQNK() local
89 TAO_BQNK *bqnk = (TAO_BQNK *)bnk->ctx; in TaoSetUp_BQNK()
98 PetscCall(MatLMVMAllocate(bqnk->B, tao->solution, bnk->unprojected_gradient)); in TaoSetUp_BQNK()
111 TAO_BNK *bnk = (TAO_BNK *)tao->data; in TaoSetFromOptions_BQNK() local
112 TAO_BQNK *bqnk = (TAO_BQNK *)bnk->ctx; in TaoSetFromOptions_BQNK()
117 if (bnk->init_type == BNK_INIT_INTERPOLATION) bnk->init_type = BNK_INIT_DIRECTION; in TaoSetFromOptions_BQNK()
128 TAO_BNK *bnk = (TAO_BNK *)tao->data; in TaoView_BQNK() local
129 TAO_BQNK *bqnk = (TAO_BQNK *)bnk->ctx; in TaoView_BQNK()
145 TAO_BNK *bnk = (TAO_BNK *)tao->data; in TaoDestroy_BQNK() local
146 TAO_BQNK *bqnk = (TAO_BQNK *)bnk->ctx; in TaoDestroy_BQNK()
149 PetscCall(MatDestroy(&bnk->Hpre_inactive)); in TaoDestroy_BQNK()
150 PetscCall(MatDestroy(&bnk->H_inactive)); in TaoDestroy_BQNK()
152 PetscCall(PetscFree(bnk->ctx)); in TaoDestroy_BQNK()
159 TAO_BNK *bnk; in TaoCreate_BQNK() local
170 bnk = (TAO_BNK *)tao->data; in TaoCreate_BQNK()
171 bnk->computehessian = TaoBQNKComputeHessian; in TaoCreate_BQNK()
172 bnk->computestep = TaoBQNKComputeStep; in TaoCreate_BQNK()
173 bnk->init_type = BNK_INIT_DIRECTION; in TaoCreate_BQNK()
176 bnk->ctx = (void *)bqnk; in TaoCreate_BQNK()
201 TAO_BNK *bnk = (TAO_BNK *)tao->data; in TaoGetLMVMMatrix() local
202 TAO_BQNK *bqnk = (TAO_BQNK *)bnk->ctx; in TaoGetLMVMMatrix()
229 TAO_BNK *bnk = (TAO_BNK *)tao->data; in TaoSetLMVMMatrix() local
230 TAO_BQNK *bqnk = (TAO_BQNK *)bnk->ctx; in TaoSetLMVMMatrix()