xref: /petsc/src/tao/bound/impls/bqnk/bqnkls.c (revision 7efe37a1cedd385a2f501b843d47cdf14dfb49ea)
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