Are there any high quality trust region optimization implementations that allow nonspherical ellipsoid trust regions, andare written in Python, or are easy to call from python?By nonspherical ellipsoid trust regions, I mean that each Newton step solves (or approximately solves) a problem of the following form:\begin{align}\min_x \quad& \frac{1}{2}x^T H x + g^T p \\\text{such that} \quad & x^T C x \le \Delta^2,\end{align}for some symmetric positive definite matrix $C$. The matrix $C$ acts like a Hessian preconditioner and may vary from Newton iteration to Newton iteration - for example, see the classic paper by Steihaug.I've looked around a little and haven't found much yet.scipy.optimize only allows spherical trust regions. That is, it can only solve the case $C=I$Tao in PETSc allows you to choose from a fixed set of premade preconditioners for the CG-Steihaug step, but not use your own custom preconditioner (as far as I can tell).
Python trust region optimization code that allows ellipsoid-shaped trust regions
optimization;python;software;trust regions