pycutest icon indicating copy to clipboard operation
pycutest copied to clipboard

Add new CUTEst routines for the John function

Open jfowkes opened this issue 1 year ago • 2 comments

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.

jfowkes avatar Jan 05 '24 12:01 jfowkes

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.

jfowkes avatar Jan 15 '24 09:01 jfowkes

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).

jfowkes avatar Jan 15 '24 10:01 jfowkes