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