pycutest
pycutest copied to clipboard
Add new CUTEst routines for the John function
CUTEst 2.2 added routines for the (Fritz) John function, defined as
$$ \mathcal{J}(x,\lambda_0,\lambda) = \lambda_0 f(x) + \langle \lambda, c(x) \rangle $$
(for more details please see https://en.wikipedia.org/wiki/Fritz_John_conditions)
The following new routines have been added to CUTEst 2.2:
- cdimohp
- cdimsg
- cdhj
- cshj
- cshj_threaded
- chjprod
- chjprod_threaded
- cisgrp
- cohprods
- cohprodsp
- cohprods_threaded
- timings_threaded
We should add support for these in PyCUTEst as appropriate.
For now I will prioritise (all for constrained problems):
-
cdhj
: evaluate the dense Hessian of the (Fritz) John function -
cshj
: evaluate the sparse Hessian of the (Fritz) John function -
chjprod
: product of Hessian of the (Fritz) John function with a vector -
cohprods
: sparse product of (objective) Hessian with a vector
as we need these for some of our research.
Might also be good to support the following existing CUTEst routines:
-
ufn
: evaluate objective function -
cifn
: evaluate objective function or constraint function -
cdhc
: evaluate the Hessian of the constraint part of the Lagrangian -
chcprod
: product of Hessian of the constraint part of the Lagrangian with a vector -
cchprods
: products of Hessians of the constraint with a vector -
cshc
: evaluate the Hessian of the constraint part of the Lagrangian (sparse)
These were either not used or not in CUTEr (the precursor to CUTEst).