API — Options & Display

Options

Retro.RetroOptionsType
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)
source

Display modes

Retro.SilentType
Silent <: AbstractDisplayMode

Suppress all output during optimization.

source
Retro.FinalType
Final <: AbstractDisplayMode

Print only a summary after the optimizer terminates.

source
Retro.VerboseType
Verbose <: AbstractDisplayMode

Print per-iteration output plus a progress bar (via ProgressMeter).

source

Cache

Retro.RetroCacheType
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 candidate
  • g::Vector{T}: Gradient vector
  • p::Vector{T}: Step vector
  • g_prev::Vector{T}: Previous gradient for quasi-Newton updates
  • x_prev::Vector{T}: Previous iterate for quasi-Newton updates
  • r::Vector{T}: CG residual vector
  • d::Vector{T}: CG search direction
  • Hd::Vector{T}: Hessian-vector product workspace
  • s::Vector{T}: Step difference for quasi-Newton (xnew - xold)
  • y::Vector{T}: Gradient difference for quasi-Newton (gnew - gold)
  • tmp::Vector{T}: General temporary workspace
  • v1::Vector{T}: First subspace basis vector
  • v2::Vector{T}: Second subspace basis vector
  • scaled_g::Vector{T}: Scaled gradient for bound constraints
  • scaling::Vector{T}: Diagonal scaling matrix for bounds
source