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 { 15 TAO_BNK *bnk; 16 TAO_BQNK *bqnk; 17 18 PetscFunctionBegin; 19 PetscCall(TaoCreate_BQNK(tao)); 20 bnk = (TAO_BNK*)tao->data; 21 bnk->update_type = BNK_UPDATE_STEP; 22 bqnk = (TAO_BQNK*)bnk->ctx; 23 bqnk->solve = TaoSolve_BNLS; 24 PetscFunctionReturn(0); 25 } 26