Toby and Hansol,

Has anyone looked at this?

  Thanks,

     Matt

On Mon, Jun 12, 2023 at 8:24 AM Stephan Köhler <stephan.koehler@math.tu-freiberg.de> wrote:
Dear PETSc/Tao team,

I think there might be a bug in the Tao ALMM class:  In the function
TaoALMMComputeAugLagAndGradient_Private(), see, eg.
https://petsc.org/release/src/tao/constrained/impls/almm/almm.c.html#TAOALMM
line 648 the gradient seems to be wrong.

The given function and gradient computation is
Lc = F + Ye^TCe + Yi^T(Ci - S) + 0.5*mu*[Ce^TCe + (Ci - S)^T(Ci - S)],
dLc/dX = dF/dX + Ye^TAe + Yi^TAi + 0.5*mu*[Ce^TAe + (Ci - S)^TAi],

but I think the gradient should be (without 0.5)

dLc/dX = dF/dX + Ye^TAe + Yi^TAi + mu*[Ce^TAe + (Ci - S)^TAi].

Kind regards,
Stephan Köhler

--
Stephan Köhler
TU Bergakademie Freiberg
Institut für numerische Mathematik und Optimierung

Akademiestraße 6
09599 Freiberg
Gebäudeteil Mittelbau, Zimmer 2.07

Telefon: +49 (0)3731 39-3173 (Büro)



--
What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.
-- Norbert Wiener