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