Function lsst::meas::modelfit::solveTrustRegion¶
Function Documentation¶
-
void
lsst::meas::modelfit
::
solveTrustRegion
(ndarray::Array<Scalar, 1, 1> const &x, ndarray::Array<Scalar const, 2, 1> const &F, ndarray::Array<Scalar const, 1, 1> const &g, double r, double tolerance)¶ Solve a symmetric quadratic matrix equation with a ball constraint.
This computes a near-exact solution to the “trust region subproblem” necessary in trust-region-based nonlinear optimizers:
\[ \min_x{\quad g^T x + \frac{1}{2}x^T F x}\quad\quad\quad \text{s.t.} ||x|| \le r \]The tolerance parameter sets how close to \(r\) we require the norm of the solution to be when it lies on the constraint, as a fraction of \(r\) itself.
This implementation is based on the algorithm described in Section 4.3 of “Nonlinear Optimization” by Nocedal and Wright.