In SciPy v1.16.0 gives different numerical results and Singular matrix E in LSQ subproblem · Issue #2593 · scikit-hep/pyhf · GitHub we noticed that updating from SciPy v1.15.3 to v1.16.0 changed the minimization result success status from True to False with no other code changes where the SQSLP method is used by default.
If I search SciPy for “Singular matrix E in LSQ subproblem” it matches in scipy/optimize/_slsqp_py.py, and it mentions in the release notes that
The SLSQP Fortran 77 code was ported to C. When this method is used now the constraint multipliers are exposed to the user through the
multiplierkeyword of the returnedOptimizeResultobject.
I haven’t thought very deeply about this yet, but:
- Is there any immediately obvious reason that minimization that converged in SciPy
v1.15.3would now not inv1.16.0? - Can someone point me to documentation on what “Singular matrix E in LSQ subproblem” actually means, practically?