1 #include <../src/tao/bound/impls/bqnk/bqnk.h> 2 3 /*MC 4 TAOBQNKTL - Bounded Quasi-Newton-Krylov Trust-region with Line-search fallback, for nonlinear 5 minimization with bound constraints. This method approximates the Hessian-vector 6 product using a limited-memory quasi-Newton formula, and iteratively inverts the 7 Hessian with a Krylov solver. The quasi-Newton matrix and its settings can be 8 accessed via the prefix `-tao_bqnk_` 9 10 Options Database Keys: 11 + -tao_bqnk_max_cg_its - maximum number of bounded conjugate-gradient iterations taken in each Newton loop 12 . -tao_bqnk_init_type - trust radius initialization method ("constant", "direction", "interpolation") 13 . -tao_bqnk_update_type - trust radius update method ("step", "direction", "interpolation") 14 - -tao_bqnk_as_type - active-set estimation method ("none", "bertsekas") 15 16 Level: beginner 17 M*/ 18 PETSC_EXTERN PetscErrorCode TaoCreate_BQNKTL(Tao tao) 19 { 20 TAO_BNK *bnk; 21 TAO_BQNK *bqnk; 22 PetscErrorCode ierr; 23 24 PetscFunctionBegin; 25 ierr = TaoCreate_BQNK(tao);CHKERRQ(ierr); 26 bnk = (TAO_BNK*)tao->data; 27 bqnk = (TAO_BQNK*)bnk->ctx; 28 bqnk->solve = TaoSolve_BNTL; 29 PetscFunctionReturn(0); 30 } 31