API — Options & Display
Options
Retro.RetroOptions — Type
RetroOptions{T<:Real}Algorithm parameters for trust-region optimization.
Convergence Criteria
xtol::T: Step tolerance (default: 0.0, disabled)ftol_a::T: Absolute function tolerance (default: 1e-8)ftol_r::T: Relative function tolerance (default: 1e-8)gtol_a::T: Absolute gradient tolerance (default: 1e-6)gtol_r::T: Relative gradient tolerance (default: 0.0, disabled)
Trust Region Parameters
initial_tr_radius::T: Initial trust region radius (default: 1.0)max_tr_radius::T: Maximum allowed radius (default: 1000.0)mu::T: Shrink threshold - shrink if ρ < mu (default: 0.25)eta::T: Expand threshold - expand if ρ > eta (default: 0.75)gamma1::T: Shrink factor (default: 0.25)gamma2::T: Expand factor (default: 2.0)
Bound Constraint Parameters
theta1::T: Reflection threshold for bounds (default: 0.1)theta2::T: Secondary reflection threshold (default: 0.2)
Example
opts = RetroOptions(gtol_a=1e-6, maxiter=100)Display modes
Retro.Silent — Type
Silent <: AbstractDisplayModeSuppress all output during optimization.
Retro.Iteration — Type
Iteration <: AbstractDisplayModePrint a status line after every iteration.
Retro.Final — Type
Final <: AbstractDisplayModePrint only a summary after the optimizer terminates.
Retro.Verbose — Type
Verbose <: AbstractDisplayModePrint per-iteration output plus a progress bar (via ProgressMeter).
Cache
Retro.RetroCache — Type
RetroCache{T<:Real}Zero-allocation workspace for trust-region optimization. Stores all preallocated vectors to avoid heap allocations in inner loops.
Fields
x_trial::Vector{T}: Trial point candidateg::Vector{T}: Gradient vectorp::Vector{T}: Step vectorg_prev::Vector{T}: Previous gradient for quasi-Newton updatesx_prev::Vector{T}: Previous iterate for quasi-Newton updatesr::Vector{T}: CG residual vectord::Vector{T}: CG search directionHd::Vector{T}: Hessian-vector product workspaces::Vector{T}: Step difference for quasi-Newton (xnew - xold)y::Vector{T}: Gradient difference for quasi-Newton (gnew - gold)tmp::Vector{T}: General temporary workspacev1::Vector{T}: First subspace basis vectorv2::Vector{T}: Second subspace basis vectorscaled_g::Vector{T}: Scaled gradient for bound constraintsscaling::Vector{T}: Diagonal scaling matrix for bounds