NewtonInfo#

class t3toolbox.backend.optimizers.NewtonInfo#

Per-iteration diagnostics passed to a newton_cg callback – everything one Newton step produces, so a custom callback (or the display in t3toolbox.backend.optimizer_display) can report anything without the loop anticipating it. x_cores (the point before the step) and lm (its LocalModel – residual / sample / frame) are carried so a callback can compute per-block errors or evaluate a validation forward. The step-related fields are None on the final converged line (no CG / line search ran). The scalar subset (all but x_cores / lm) is what lands in stats['history'].

iteration: int#
objective: float#
gnorm: float#
g0norm: float#
converged: bool#
x_cores: t3toolbox.backend.common.typ.Any = None#
lm: t3toolbox.backend.common.typ.Any = None#
misfit: t3toolbox.backend.common.typ.Optional[float] = None#
regularization: t3toolbox.backend.common.typ.Optional[float] = None#
forcing_eta: t3toolbox.backend.common.typ.Optional[float] = None#
cg_tol: t3toolbox.backend.common.typ.Optional[float] = None#
cg_iters: t3toolbox.backend.common.typ.Optional[int] = None#
cg_maxiter: t3toolbox.backend.common.typ.Optional[int] = None#
cg_resid: t3toolbox.backend.common.typ.Optional[float] = None#
cg_converged: t3toolbox.backend.common.typ.Optional[bool] = None#
cg_truncated: t3toolbox.backend.common.typ.Optional[bool] = None#
ls_steps: t3toolbox.backend.common.typ.Optional[int] = None#
alpha: t3toolbox.backend.common.typ.Optional[float] = None#
slope: t3toolbox.backend.common.typ.Optional[float] = None#
pHp: t3toolbox.backend.common.typ.Optional[float] = None#
delta_f: t3toolbox.backend.common.typ.Optional[float] = None#
rho: t3toolbox.backend.common.typ.Optional[float] = None#
step_rel: t3toolbox.backend.common.typ.Optional[float] = None#
wall_time: t3toolbox.backend.common.typ.Optional[float] = None#