API — Trust-Region Solvers
Abstract type
Retro.AbstractTRSolver — Type
AbstractTRSolverSupertype for trust-region subproblem solvers.
Concrete subtypes: EigenTRSolver, CauchyTRSolver.
EigenTRSolver
The default and most robust solver. It decomposes $H$ with eigen(Symmetric(H)), tries the unconstrained Newton step, and — when that step falls outside the trust region — solves the secular equation
\[\phi(\sigma) = \|p(\sigma)\| - \Delta = 0, \qquad p(\sigma) = -\sum_i \frac{g_i}{\lambda_i + \sigma}\, v_i\]
using a three-phase fallback chain:
| Phase | Method | Iterations | Tolerance |
|---|---|---|---|
| 1 | Newton on $\phi$ | 20 | $10^{-10}$ |
| 2 | Brent root-finding on $\phi$ | 50 | $10^{-12}$ |
| 3 | Cauchy (steepest-descent) step | — | — |
Phase 2 is entered only when Newton's method does not converge (e.g. the Hessian is near-singular or the secular equation has sharp curvature). The bracket $[\sigma_{\text{lo}},\, \sigma_{\text{hi}}]$ is established automatically and Brent's method (with inverse quadratic interpolation) converges superlinearly to the boundary solution.
Retro.EigenTRSolver — Type
EigenTRSolver <: AbstractTRSolverEigen-based trust-region solver. Solves the trust-region subproblem using eigenvalue decomposition for accurate solutions. Falls back to Brent bracketing on the secular equation when Newton iterations do not converge, and to a Cauchy step as a last resort.
Fields
regularization::Real: Regularization parameter for ill-conditioned problems
CauchyTRSolver
Retro.CauchyTRSolver — Type
CauchyTRSolver <: AbstractTRSolverCauchy point trust-region solver. Computes the steepest descent step along the negative gradient direction. Fast but potentially less accurate than other methods.
Solve interface
Retro.solve_tr! — Function
solve_tr!(solver, g, H, Δ, p) -> predicted_reductionSolve the trust-region subproblem min g'p + 0.5 p'Hp s.t. ||p|| ≤ Δ. The step is written into p; returns the predicted reduction.
Uses eigenvalue decomposition + Newton iteration on the secular equation. When Newton does not converge to the trust-region boundary, Brent root-finding brackets the Lagrange multiplier σ as a robust fallback.