1 #include <../src/tao/bound/impls/bqnk/bqnk.h> 2 3 /*MC 4 TAOBQNKLS - Bounded Quasi-Newton-Krylov Line Search method for nonlinear minimization with 5 bound constraints. This method approximates the Hessian-vector product using a 6 limited-memory quasi-Newton formula, and iteratively inverts the Hessian with a 7 Krylov solver. The quasi-Newton matrix and its settings can be accessed via the 8 prefix `-tao_bqnk_`. For options database, see TAOBNK 9 10 Level: beginner 11 .seealso `TAOBNK`, `TAOBQNKTR`, `TAOBQNKTL` 12 M*/ 13 PETSC_EXTERN PetscErrorCode TaoCreate_BQNKLS(Tao tao) { 14 TAO_BNK *bnk; 15 TAO_BQNK *bqnk; 16 17 PetscFunctionBegin; 18 PetscCall(TaoCreate_BQNK(tao)); 19 bnk = (TAO_BNK *)tao->data; 20 bnk->update_type = BNK_UPDATE_STEP; 21 bqnk = (TAO_BQNK *)bnk->ctx; 22 bqnk->solve = TaoSolve_BNLS; 23 PetscFunctionReturn(0); 24 } 25